Update docs for 1.3.2 release.
diff --git a/docs/dyn/adexchangebuyer_v1_3.accounts.html b/docs/dyn/adexchangebuyer_v1_3.accounts.html
index e4308fd..b553209 100644
--- a/docs/dyn/adexchangebuyer_v1_3.accounts.html
+++ b/docs/dyn/adexchangebuyer_v1_3.accounts.html
@@ -100,6 +100,7 @@
     { # Configuration data for an Ad Exchange buyer account.
       "kind": "adexchangebuyer#account", # Resource type.
       "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
       "bidderLocation": [ # Your bidder locations that have distinct URLs.
         {
           "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -112,6 +113,7 @@
         },
       ],
       "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
       "id": 42, # Account id.
       "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
     }</pre>
@@ -131,6 +133,7 @@
       { # Configuration data for an Ad Exchange buyer account.
           "kind": "adexchangebuyer#account", # Resource type.
           "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+          "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
           "bidderLocation": [ # Your bidder locations that have distinct URLs.
             {
               "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -143,6 +146,7 @@
             },
           ],
           "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+          "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
           "id": 42, # Account id.
           "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
         },
@@ -163,6 +167,7 @@
 { # Configuration data for an Ad Exchange buyer account.
     "kind": "adexchangebuyer#account", # Resource type.
     "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+    "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
     "bidderLocation": [ # Your bidder locations that have distinct URLs.
       {
         "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -175,6 +180,7 @@
       },
     ],
     "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+    "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
     "id": 42, # Account id.
     "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
   }
@@ -186,6 +192,7 @@
     { # Configuration data for an Ad Exchange buyer account.
       "kind": "adexchangebuyer#account", # Resource type.
       "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
       "bidderLocation": [ # Your bidder locations that have distinct URLs.
         {
           "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -198,6 +205,7 @@
         },
       ],
       "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
       "id": 42, # Account id.
       "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
     }</pre>
@@ -215,6 +223,7 @@
 { # Configuration data for an Ad Exchange buyer account.
     "kind": "adexchangebuyer#account", # Resource type.
     "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+    "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
     "bidderLocation": [ # Your bidder locations that have distinct URLs.
       {
         "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -227,6 +236,7 @@
       },
     ],
     "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+    "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
     "id": 42, # Account id.
     "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
   }
@@ -238,6 +248,7 @@
     { # Configuration data for an Ad Exchange buyer account.
       "kind": "adexchangebuyer#account", # Resource type.
       "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "maximumActiveCreatives": 42, # The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.
       "bidderLocation": [ # Your bidder locations that have distinct URLs.
         {
           "url": "A String", # The URL to which the Ad Exchange will send bid requests.
@@ -250,6 +261,7 @@
         },
       ],
       "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "numberActiveCreatives": 42, # The number of creatives that this account inserted or bid with in the last 30 days.
       "id": 42, # Account id.
       "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
     }</pre>
diff --git a/docs/dyn/adexchangebuyer_v1_3.budget.html b/docs/dyn/adexchangebuyer_v1_3.budget.html
new file mode 100644
index 0000000..e215f3f
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_3.budget.html
@@ -0,0 +1,174 @@
+<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="adexchangebuyer_v1_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.budget.html">budget</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, billingId)</a></code></p>
+<p class="firstline">Returns the budget information for the adgroup specified by the accountId and billingId.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, billingId, body)</a></code></p>
+<p class="firstline">Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, billingId, body)</a></code></p>
+<p class="firstline">Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, billingId)</code>
+  <pre>Returns the budget information for the adgroup specified by the accountId and billingId.
+
+Args:
+  accountId: string, The account id to get the budget information for. (required)
+  billingId: string, The billing id to get the budget information for. (required)
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for Ad Exchange RTB - Budget API.
+      "kind": "adexchangebuyer#budget", # The kind of the resource, i.e. "adexchangebuyer#budget".
+      "budgetAmount": "A String", # The budget amount to apply for the billingId provided. This is required for update requests.
+      "currencyCode": "A String", # The currency code for the buyer. This cannot be altered here.
+      "billingId": "A String", # The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.
+      "id": "A String", # The unique id that describes this item.
+      "accountId": "A String", # The id of the account. This is required for get and update requests.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, billingId, body)</code>
+  <pre>Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.
+
+Args:
+  accountId: string, The account id associated with the budget being updated. (required)
+  billingId: string, The billing id associated with the budget being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The configuration data for Ad Exchange RTB - Budget API.
+    "kind": "adexchangebuyer#budget", # The kind of the resource, i.e. "adexchangebuyer#budget".
+    "budgetAmount": "A String", # The budget amount to apply for the billingId provided. This is required for update requests.
+    "currencyCode": "A String", # The currency code for the buyer. This cannot be altered here.
+    "billingId": "A String", # The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.
+    "id": "A String", # The unique id that describes this item.
+    "accountId": "A String", # The id of the account. This is required for get and update requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for Ad Exchange RTB - Budget API.
+      "kind": "adexchangebuyer#budget", # The kind of the resource, i.e. "adexchangebuyer#budget".
+      "budgetAmount": "A String", # The budget amount to apply for the billingId provided. This is required for update requests.
+      "currencyCode": "A String", # The currency code for the buyer. This cannot be altered here.
+      "billingId": "A String", # The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.
+      "id": "A String", # The unique id that describes this item.
+      "accountId": "A String", # The id of the account. This is required for get and update requests.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, billingId, body)</code>
+  <pre>Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.
+
+Args:
+  accountId: string, The account id associated with the budget being updated. (required)
+  billingId: string, The billing id associated with the budget being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The configuration data for Ad Exchange RTB - Budget API.
+    "kind": "adexchangebuyer#budget", # The kind of the resource, i.e. "adexchangebuyer#budget".
+    "budgetAmount": "A String", # The budget amount to apply for the billingId provided. This is required for update requests.
+    "currencyCode": "A String", # The currency code for the buyer. This cannot be altered here.
+    "billingId": "A String", # The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.
+    "id": "A String", # The unique id that describes this item.
+    "accountId": "A String", # The id of the account. This is required for get and update requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for Ad Exchange RTB - Budget API.
+      "kind": "adexchangebuyer#budget", # The kind of the resource, i.e. "adexchangebuyer#budget".
+      "budgetAmount": "A String", # The budget amount to apply for the billingId provided. This is required for update requests.
+      "currencyCode": "A String", # The currency code for the buyer. This cannot be altered here.
+      "billingId": "A String", # The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.
+      "id": "A String", # The unique id that describes this item.
+      "accountId": "A String", # The id of the account. This is required for get and update requests.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_3.html b/docs/dyn/adexchangebuyer_v1_3.html
index 96167f9..a388f8a 100644
--- a/docs/dyn/adexchangebuyer_v1_3.html
+++ b/docs/dyn/adexchangebuyer_v1_3.html
@@ -85,6 +85,11 @@
 <p class="firstline">Returns the billingInfo Resource.</p>
 
 <p class="toc_element">
+  <code><a href="adexchangebuyer_v1_3.budget.html">budget()</a></code>
+</p>
+<p class="firstline">Returns the budget Resource.</p>
+
+<p class="toc_element">
   <code><a href="adexchangebuyer_v1_3.creatives.html">creatives()</a></code>
 </p>
 <p class="firstline">Returns the creatives Resource.</p>
diff --git a/docs/dyn/analytics_v3.management.customDimensions.html b/docs/dyn/analytics_v3.management.customDimensions.html
new file mode 100644
index 0000000..2b3567d
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.customDimensions.html
@@ -0,0 +1,324 @@
+<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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.customDimensions.html">customDimensions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, customDimensionId)</a></code></p>
+<p class="firstline">Get a custom dimension to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Create a new custom dimension.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists custom dimensions to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, customDimensionId, body, ignoreCustomDataSourceLinks=None)</a></code></p>
+<p class="firstline">Updates an existing custom dimension. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, customDimensionId, body, ignoreCustomDataSourceLinks=None)</a></code></p>
+<p class="firstline">Updates an existing custom dimension.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, customDimensionId)</code>
+  <pre>Get a custom dimension to which the user has access.
+
+Args:
+  accountId: string, Account ID for the custom dimension to retrieve. (required)
+  webPropertyId: string, Web property ID for the custom dimension to retrieve. (required)
+  customDimensionId: string, The ID of the custom dimension to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Dimension.
+      "index": 42, # Index of the custom dimension.
+      "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+      "name": "A String", # Name of the custom dimension.
+      "created": "A String", # Time the custom dimension was created.
+      "updated": "A String", # Time the custom dimension was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom dimension is active.
+      "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+      "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+        "href": "A String", # Link to the property to which the custom dimension belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "id": "A String", # Custom dimension ID.
+      "selfLink": "A String", # Link for the custom dimension
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, body)</code>
+  <pre>Create a new custom dimension.
+
+Args:
+  accountId: string, Account ID for the custom dimension to create. (required)
+  webPropertyId: string, Web property ID for the custom dimension to create. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Dimension.
+    "index": 42, # Index of the custom dimension.
+    "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+    "name": "A String", # Name of the custom dimension.
+    "created": "A String", # Time the custom dimension was created.
+    "updated": "A String", # Time the custom dimension was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom dimension is active.
+    "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+    "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+      "href": "A String", # Link to the property to which the custom dimension belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "id": "A String", # Custom dimension ID.
+    "selfLink": "A String", # Link for the custom dimension
+    "accountId": "A String", # Account ID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Dimension.
+      "index": 42, # Index of the custom dimension.
+      "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+      "name": "A String", # Name of the custom dimension.
+      "created": "A String", # Time the custom dimension was created.
+      "updated": "A String", # Time the custom dimension was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom dimension is active.
+      "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+      "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+        "href": "A String", # Link to the property to which the custom dimension belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "id": "A String", # Custom dimension ID.
+      "selfLink": "A String", # Link for the custom dimension
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
+  <pre>Lists custom dimensions to which the user has access.
+
+Args:
+  accountId: string, Account ID for the custom dimensions to retrieve. (required)
+  webPropertyId: string, Web property ID for the custom dimensions to retrieve. (required)
+  max_results: integer, The maximum number of custom dimensions to include in this response.
+  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # A custom dimension collection lists Analytics custom dimensions to which the user has access. Each resource in the collection corresponds to a single Analytics custom dimension.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#customDimensions", # Collection type.
+    "items": [ # Collection of custom dimensions.
+      { # JSON template for Analytics Custom Dimension.
+          "index": 42, # Index of the custom dimension.
+          "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+          "name": "A String", # Name of the custom dimension.
+          "created": "A String", # Time the custom dimension was created.
+          "updated": "A String", # Time the custom dimension was last modified.
+          "webPropertyId": "A String", # Property ID.
+          "active": True or False, # Boolean indicating whether the custom dimension is active.
+          "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+          "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+            "href": "A String", # Link to the property to which the custom dimension belongs.
+            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+          },
+          "id": "A String", # Custom dimension ID.
+          "selfLink": "A String", # Link for the custom dimension
+          "accountId": "A String", # Account ID.
+        },
+    ],
+    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Link to previous page for this custom dimension collection.
+    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Link to next page for this custom dimension collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, webPropertyId, customDimensionId, body, ignoreCustomDataSourceLinks=None)</code>
+  <pre>Updates an existing custom dimension. This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID for the custom dimension to update. (required)
+  webPropertyId: string, Web property ID for the custom dimension to update. (required)
+  customDimensionId: string, Custom dimension ID for the custom dimension to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Dimension.
+    "index": 42, # Index of the custom dimension.
+    "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+    "name": "A String", # Name of the custom dimension.
+    "created": "A String", # Time the custom dimension was created.
+    "updated": "A String", # Time the custom dimension was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom dimension is active.
+    "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+    "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+      "href": "A String", # Link to the property to which the custom dimension belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "id": "A String", # Custom dimension ID.
+    "selfLink": "A String", # Link for the custom dimension
+    "accountId": "A String", # Account ID.
+  }
+
+  ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Dimension.
+      "index": 42, # Index of the custom dimension.
+      "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+      "name": "A String", # Name of the custom dimension.
+      "created": "A String", # Time the custom dimension was created.
+      "updated": "A String", # Time the custom dimension was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom dimension is active.
+      "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+      "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+        "href": "A String", # Link to the property to which the custom dimension belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "id": "A String", # Custom dimension ID.
+      "selfLink": "A String", # Link for the custom dimension
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, customDimensionId, body, ignoreCustomDataSourceLinks=None)</code>
+  <pre>Updates an existing custom dimension.
+
+Args:
+  accountId: string, Account ID for the custom dimension to update. (required)
+  webPropertyId: string, Web property ID for the custom dimension to update. (required)
+  customDimensionId: string, Custom dimension ID for the custom dimension to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Dimension.
+    "index": 42, # Index of the custom dimension.
+    "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+    "name": "A String", # Name of the custom dimension.
+    "created": "A String", # Time the custom dimension was created.
+    "updated": "A String", # Time the custom dimension was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom dimension is active.
+    "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+    "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+      "href": "A String", # Link to the property to which the custom dimension belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "id": "A String", # Custom dimension ID.
+    "selfLink": "A String", # Link for the custom dimension
+    "accountId": "A String", # Account ID.
+  }
+
+  ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Dimension.
+      "index": 42, # Index of the custom dimension.
+      "kind": "analytics#customDimension", # Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field.
+      "name": "A String", # Name of the custom dimension.
+      "created": "A String", # Time the custom dimension was created.
+      "updated": "A String", # Time the custom dimension was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom dimension is active.
+      "scope": "A String", # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
+      "parentLink": { # Parent link for the custom dimension. Points to the property to which the custom dimension belongs.
+        "href": "A String", # Link to the property to which the custom dimension belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "id": "A String", # Custom dimension ID.
+      "selfLink": "A String", # Link for the custom dimension
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.customMetrics.html b/docs/dyn/analytics_v3.management.customMetrics.html
new file mode 100644
index 0000000..8b23630
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.customMetrics.html
@@ -0,0 +1,348 @@
+<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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.customMetrics.html">customMetrics</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, customMetricId)</a></code></p>
+<p class="firstline">Get a custom metric to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Create a new custom metric.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists custom metrics to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)</a></code></p>
+<p class="firstline">Updates an existing custom metric. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)</a></code></p>
+<p class="firstline">Updates an existing custom metric.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, customMetricId)</code>
+  <pre>Get a custom metric to which the user has access.
+
+Args:
+  accountId: string, Account ID for the custom metric to retrieve. (required)
+  webPropertyId: string, Web property ID for the custom metric to retrieve. (required)
+  customMetricId: string, The ID of the custom metric to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Metric.
+      "index": 42, # Index of the custom metric.
+      "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+      "name": "A String", # Name of the custom metric.
+      "created": "A String", # Time the custom metric was created.
+      "max_value": "A String", # Max value of custom metric.
+      "min_value": "A String", # Min value of custom metric.
+      "updated": "A String", # Time the custom metric was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom metric is active.
+      "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+      "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+        "href": "A String", # Link to the property to which the custom metric belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "type": "A String", # Data type of custom metric.
+      "id": "A String", # Custom metric ID.
+      "selfLink": "A String", # Link for the custom metric
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, body)</code>
+  <pre>Create a new custom metric.
+
+Args:
+  accountId: string, Account ID for the custom metric to create. (required)
+  webPropertyId: string, Web property ID for the custom dimension to create. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Metric.
+    "index": 42, # Index of the custom metric.
+    "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+    "name": "A String", # Name of the custom metric.
+    "created": "A String", # Time the custom metric was created.
+    "max_value": "A String", # Max value of custom metric.
+    "min_value": "A String", # Min value of custom metric.
+    "updated": "A String", # Time the custom metric was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom metric is active.
+    "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+    "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+      "href": "A String", # Link to the property to which the custom metric belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "type": "A String", # Data type of custom metric.
+    "id": "A String", # Custom metric ID.
+    "selfLink": "A String", # Link for the custom metric
+    "accountId": "A String", # Account ID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Metric.
+      "index": 42, # Index of the custom metric.
+      "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+      "name": "A String", # Name of the custom metric.
+      "created": "A String", # Time the custom metric was created.
+      "max_value": "A String", # Max value of custom metric.
+      "min_value": "A String", # Min value of custom metric.
+      "updated": "A String", # Time the custom metric was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom metric is active.
+      "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+      "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+        "href": "A String", # Link to the property to which the custom metric belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "type": "A String", # Data type of custom metric.
+      "id": "A String", # Custom metric ID.
+      "selfLink": "A String", # Link for the custom metric
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
+  <pre>Lists custom metrics to which the user has access.
+
+Args:
+  accountId: string, Account ID for the custom metrics to retrieve. (required)
+  webPropertyId: string, Web property ID for the custom metrics to retrieve. (required)
+  max_results: integer, The maximum number of custom metrics to include in this response.
+  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#customMetrics", # Collection type.
+    "items": [ # Collection of custom metrics.
+      { # JSON template for Analytics Custom Metric.
+          "index": 42, # Index of the custom metric.
+          "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+          "name": "A String", # Name of the custom metric.
+          "created": "A String", # Time the custom metric was created.
+          "max_value": "A String", # Max value of custom metric.
+          "min_value": "A String", # Min value of custom metric.
+          "updated": "A String", # Time the custom metric was last modified.
+          "webPropertyId": "A String", # Property ID.
+          "active": True or False, # Boolean indicating whether the custom metric is active.
+          "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+          "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+            "href": "A String", # Link to the property to which the custom metric belongs.
+            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+          },
+          "type": "A String", # Data type of custom metric.
+          "id": "A String", # Custom metric ID.
+          "selfLink": "A String", # Link for the custom metric
+          "accountId": "A String", # Account ID.
+        },
+    ],
+    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Link to previous page for this custom metric collection.
+    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Link to next page for this custom metric collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)</code>
+  <pre>Updates an existing custom metric. This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID for the custom metric to update. (required)
+  webPropertyId: string, Web property ID for the custom metric to update. (required)
+  customMetricId: string, Custom metric ID for the custom metric to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Metric.
+    "index": 42, # Index of the custom metric.
+    "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+    "name": "A String", # Name of the custom metric.
+    "created": "A String", # Time the custom metric was created.
+    "max_value": "A String", # Max value of custom metric.
+    "min_value": "A String", # Min value of custom metric.
+    "updated": "A String", # Time the custom metric was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom metric is active.
+    "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+    "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+      "href": "A String", # Link to the property to which the custom metric belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "type": "A String", # Data type of custom metric.
+    "id": "A String", # Custom metric ID.
+    "selfLink": "A String", # Link for the custom metric
+    "accountId": "A String", # Account ID.
+  }
+
+  ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Metric.
+      "index": 42, # Index of the custom metric.
+      "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+      "name": "A String", # Name of the custom metric.
+      "created": "A String", # Time the custom metric was created.
+      "max_value": "A String", # Max value of custom metric.
+      "min_value": "A String", # Min value of custom metric.
+      "updated": "A String", # Time the custom metric was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom metric is active.
+      "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+      "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+        "href": "A String", # Link to the property to which the custom metric belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "type": "A String", # Data type of custom metric.
+      "id": "A String", # Custom metric ID.
+      "selfLink": "A String", # Link for the custom metric
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)</code>
+  <pre>Updates an existing custom metric.
+
+Args:
+  accountId: string, Account ID for the custom metric to update. (required)
+  webPropertyId: string, Web property ID for the custom metric to update. (required)
+  customMetricId: string, Custom metric ID for the custom metric to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics Custom Metric.
+    "index": 42, # Index of the custom metric.
+    "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+    "name": "A String", # Name of the custom metric.
+    "created": "A String", # Time the custom metric was created.
+    "max_value": "A String", # Max value of custom metric.
+    "min_value": "A String", # Min value of custom metric.
+    "updated": "A String", # Time the custom metric was last modified.
+    "webPropertyId": "A String", # Property ID.
+    "active": True or False, # Boolean indicating whether the custom metric is active.
+    "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+    "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+      "href": "A String", # Link to the property to which the custom metric belongs.
+      "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+    },
+    "type": "A String", # Data type of custom metric.
+    "id": "A String", # Custom metric ID.
+    "selfLink": "A String", # Link for the custom metric
+    "accountId": "A String", # Account ID.
+  }
+
+  ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics Custom Metric.
+      "index": 42, # Index of the custom metric.
+      "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
+      "name": "A String", # Name of the custom metric.
+      "created": "A String", # Time the custom metric was created.
+      "max_value": "A String", # Max value of custom metric.
+      "min_value": "A String", # Min value of custom metric.
+      "updated": "A String", # Time the custom metric was last modified.
+      "webPropertyId": "A String", # Property ID.
+      "active": True or False, # Boolean indicating whether the custom metric is active.
+      "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
+      "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
+        "href": "A String", # Link to the property to which the custom metric belongs.
+        "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
+      },
+      "type": "A String", # Data type of custom metric.
+      "id": "A String", # Custom metric ID.
+      "selfLink": "A String", # Link for the custom metric
+      "accountId": "A String", # Account ID.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.filters.html b/docs/dyn/analytics_v3.management.filters.html
index df9de40..eacfa53 100644
--- a/docs/dyn/analytics_v3.management.filters.html
+++ b/docs/dyn/analytics_v3.management.filters.html
@@ -134,8 +134,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -175,7 +173,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -201,16 +199,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -226,8 +225,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -267,7 +264,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -293,16 +290,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -369,8 +367,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -410,7 +406,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -436,16 +432,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -461,8 +458,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -502,7 +497,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -528,16 +523,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -602,8 +598,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -643,7 +637,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -669,16 +663,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -694,8 +689,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -735,7 +728,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -761,16 +754,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -829,8 +823,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -870,7 +862,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -896,16 +888,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -921,8 +914,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -962,7 +953,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -988,16 +979,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -1069,8 +1061,6 @@
             "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
             "expressionValue": "A String", # Filter expression value
             "field": "A String", # Field to filter. Possible values:
-                # - Reserved
-                # - UNUSED,
                 # - Content and Traffic
                 # - PAGE_REQUEST_URI,
                 # - PAGE_HOSTNAME,
@@ -1110,7 +1100,7 @@
                 # - LANGUAGE,
                 # - SCREEN_RESOLUTION,
                 # - SCREEN_COLORS,
-                # - JAVA_ENABLED,
+                # - JAVA_ENABLED (Boolean Field),
                 # - FLASH_VERSION,
                 # - GEO_SPEED (Connection speed),
                 # - VISITOR_TYPE,
@@ -1136,16 +1126,17 @@
                 # - APP_NAME,
                 # - APP_VERSION,
                 # - SCREEN,
-                # - IS_APP,
-                # - IS_FATAL_EXCEPTION,
+                # - IS_APP (Boolean Field),
+                # - IS_FATAL_EXCEPTION (Boolean Field),
                 # - EXCEPTION_DESCRIPTION,
                 # - Mobile device
-                # - IS_MOBILE,
-                # - IS_TABLET,
-                # - MOBILE_HAS_QWERTY_KEYBOARD,
-                # - MOBILE_HAS_NFC_SUPPORT,
-                # - MOBILE_HAS_CELLULAR_RADIO,
-                # - MOBILE_HAS_WIFI_SUPPORT,
+                # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+                # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+                # - DEVICE_CATEGORY,
+                # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+                # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+                # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+                # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
                 # - MOBILE_BRAND_NAME,
                 # - MOBILE_MODEL_NAME,
                 # - MOBILE_MARKETING_NAME,
@@ -1161,8 +1152,6 @@
             "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
             "expressionValue": "A String", # Filter expression value
             "field": "A String", # Field to filter. Possible values:
-                # - Reserved
-                # - UNUSED,
                 # - Content and Traffic
                 # - PAGE_REQUEST_URI,
                 # - PAGE_HOSTNAME,
@@ -1202,7 +1191,7 @@
                 # - LANGUAGE,
                 # - SCREEN_RESOLUTION,
                 # - SCREEN_COLORS,
-                # - JAVA_ENABLED,
+                # - JAVA_ENABLED (Boolean Field),
                 # - FLASH_VERSION,
                 # - GEO_SPEED (Connection speed),
                 # - VISITOR_TYPE,
@@ -1228,16 +1217,17 @@
                 # - APP_NAME,
                 # - APP_VERSION,
                 # - SCREEN,
-                # - IS_APP,
-                # - IS_FATAL_EXCEPTION,
+                # - IS_APP (Boolean Field),
+                # - IS_FATAL_EXCEPTION (Boolean Field),
                 # - EXCEPTION_DESCRIPTION,
                 # - Mobile device
-                # - IS_MOBILE,
-                # - IS_TABLET,
-                # - MOBILE_HAS_QWERTY_KEYBOARD,
-                # - MOBILE_HAS_NFC_SUPPORT,
-                # - MOBILE_HAS_CELLULAR_RADIO,
-                # - MOBILE_HAS_WIFI_SUPPORT,
+                # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+                # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+                # - DEVICE_CATEGORY,
+                # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+                # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+                # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+                # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
                 # - MOBILE_BRAND_NAME,
                 # - MOBILE_MODEL_NAME,
                 # - MOBILE_MARKETING_NAME,
@@ -1310,8 +1300,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -1351,7 +1339,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -1377,16 +1365,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -1402,8 +1391,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -1443,7 +1430,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -1469,16 +1456,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -1537,8 +1525,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -1578,7 +1564,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -1604,16 +1590,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -1629,8 +1616,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -1670,7 +1655,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -1696,16 +1681,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -1771,8 +1757,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -1812,7 +1796,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -1838,16 +1822,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -1863,8 +1848,6 @@
       "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
       "expressionValue": "A String", # Filter expression value
       "field": "A String", # Field to filter. Possible values:
-          # - Reserved
-          # - UNUSED,
           # - Content and Traffic
           # - PAGE_REQUEST_URI,
           # - PAGE_HOSTNAME,
@@ -1904,7 +1887,7 @@
           # - LANGUAGE,
           # - SCREEN_RESOLUTION,
           # - SCREEN_COLORS,
-          # - JAVA_ENABLED,
+          # - JAVA_ENABLED (Boolean Field),
           # - FLASH_VERSION,
           # - GEO_SPEED (Connection speed),
           # - VISITOR_TYPE,
@@ -1930,16 +1913,17 @@
           # - APP_NAME,
           # - APP_VERSION,
           # - SCREEN,
-          # - IS_APP,
-          # - IS_FATAL_EXCEPTION,
+          # - IS_APP (Boolean Field),
+          # - IS_FATAL_EXCEPTION (Boolean Field),
           # - EXCEPTION_DESCRIPTION,
           # - Mobile device
-          # - IS_MOBILE,
-          # - IS_TABLET,
-          # - MOBILE_HAS_QWERTY_KEYBOARD,
-          # - MOBILE_HAS_NFC_SUPPORT,
-          # - MOBILE_HAS_CELLULAR_RADIO,
-          # - MOBILE_HAS_WIFI_SUPPORT,
+          # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+          # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+          # - DEVICE_CATEGORY,
+          # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+          # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+          # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+          # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
           # - MOBILE_BRAND_NAME,
           # - MOBILE_MODEL_NAME,
           # - MOBILE_MARKETING_NAME,
@@ -1998,8 +1982,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -2039,7 +2021,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -2065,16 +2047,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
@@ -2090,8 +2073,6 @@
         "matchType": "A String", # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters.
         "expressionValue": "A String", # Filter expression value
         "field": "A String", # Field to filter. Possible values:
-            # - Reserved
-            # - UNUSED,
             # - Content and Traffic
             # - PAGE_REQUEST_URI,
             # - PAGE_HOSTNAME,
@@ -2131,7 +2112,7 @@
             # - LANGUAGE,
             # - SCREEN_RESOLUTION,
             # - SCREEN_COLORS,
-            # - JAVA_ENABLED,
+            # - JAVA_ENABLED (Boolean Field),
             # - FLASH_VERSION,
             # - GEO_SPEED (Connection speed),
             # - VISITOR_TYPE,
@@ -2157,16 +2138,17 @@
             # - APP_NAME,
             # - APP_VERSION,
             # - SCREEN,
-            # - IS_APP,
-            # - IS_FATAL_EXCEPTION,
+            # - IS_APP (Boolean Field),
+            # - IS_FATAL_EXCEPTION (Boolean Field),
             # - EXCEPTION_DESCRIPTION,
             # - Mobile device
-            # - IS_MOBILE,
-            # - IS_TABLET,
-            # - MOBILE_HAS_QWERTY_KEYBOARD,
-            # - MOBILE_HAS_NFC_SUPPORT,
-            # - MOBILE_HAS_CELLULAR_RADIO,
-            # - MOBILE_HAS_WIFI_SUPPORT,
+            # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
+            # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
+            # - DEVICE_CATEGORY,
+            # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
+            # - MOBILE_HAS_NFC_SUPPORT (Boolean Field),
+            # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
+            # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
             # - MOBILE_BRAND_NAME,
             # - MOBILE_MODEL_NAME,
             # - MOBILE_MARKETING_NAME,
diff --git a/docs/dyn/analytics_v3.management.html b/docs/dyn/analytics_v3.management.html
index c74bd21..6bad005 100644
--- a/docs/dyn/analytics_v3.management.html
+++ b/docs/dyn/analytics_v3.management.html
@@ -95,6 +95,16 @@
 <p class="firstline">Returns the customDataSources Resource.</p>
 
 <p class="toc_element">
+  <code><a href="analytics_v3.management.customDimensions.html">customDimensions()</a></code>
+</p>
+<p class="firstline">Returns the customDimensions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.customMetrics.html">customMetrics()</a></code>
+</p>
+<p class="firstline">Returns the customMetrics Resource.</p>
+
+<p class="toc_element">
   <code><a href="analytics_v3.management.dailyUploads.html">dailyUploads()</a></code>
 </p>
 <p class="firstline">Returns the dailyUploads Resource.</p>
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
index 9ad5dfa..33fb77b 100644
--- a/docs/dyn/analytics_v3.management.profiles.html
+++ b/docs/dyn/analytics_v3.management.profiles.html
@@ -134,7 +134,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
-      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -183,7 +183,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
-    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -225,7 +225,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
-      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -281,7 +281,7 @@
             "href": "A String", # Link to the list of goals for this view (profile).
             "type": "analytics#goals", # Value is "analytics#goals".
           },
-          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
           "permissions": { # Permissions the user has for this view (profile).
             "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
               "A String",
@@ -338,7 +338,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
-    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -380,7 +380,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
-      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
@@ -430,7 +430,7 @@
       "href": "A String", # Link to the list of goals for this view (profile).
       "type": "analytics#goals", # Value is "analytics#goals".
     },
-    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+    "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
     "permissions": { # Permissions the user has for this view (profile).
       "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
         "A String",
@@ -472,7 +472,7 @@
         "href": "A String", # Link to the list of goals for this view (profile).
         "type": "analytics#goals", # Value is "analytics#goals".
       },
-      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+      "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
       "permissions": { # Permissions the user has for this view (profile).
         "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
           "A String",
diff --git a/docs/dyn/analytics_v3.provisioning.html b/docs/dyn/analytics_v3.provisioning.html
index 9ff45ea..6264eff 100644
--- a/docs/dyn/analytics_v3.provisioning.html
+++ b/docs/dyn/analytics_v3.provisioning.html
@@ -105,7 +105,7 @@
           "href": "A String", # Link to the list of goals for this view (profile).
           "type": "analytics#goals", # Value is "analytics#goals".
         },
-        "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+        "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
         "permissions": { # Permissions the user has for this view (profile).
           "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
             "A String",
@@ -197,7 +197,7 @@
             "href": "A String", # Link to the list of goals for this view (profile).
             "type": "analytics#goals", # Value is "analytics#goals".
           },
-          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile).
+          "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.
           "permissions": { # Permissions the user has for this view (profile).
             "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
               "A String",
diff --git a/docs/dyn/androidpublisher_v2.edits.apks.html b/docs/dyn/androidpublisher_v2.edits.apks.html
index 54bd683..37755f7 100644
--- a/docs/dyn/androidpublisher_v2.edits.apks.html
+++ b/docs/dyn/androidpublisher_v2.edits.apks.html
@@ -75,6 +75,9 @@
 <h1><a href="androidpublisher_v2.html">Google Play Android Developer API</a> . <a href="androidpublisher_v2.edits.html">edits</a> . <a href="androidpublisher_v2.edits.apks.html">apks</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#addexternallyhosted">addexternallyhosted(packageName, editId, body)</a></code></p>
+<p class="firstline">Creates a new APK without uploading the APK itself to Google Play, instead hosting the APK at a specified URL. This function is only available to enterprises using Google Play for work whose application is configured to restrict distribution to the enterprise domain.</p>
+<p class="toc_element">
   <code><a href="#list">list(packageName, editId)</a></code></p>
 <p class="firstline">A description of how to use this function</p>
 <p class="toc_element">
@@ -82,6 +85,83 @@
 <p class="firstline">A description of how to use this function</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="addexternallyhosted">addexternallyhosted(packageName, editId, body)</code>
+  <pre>Creates a new APK without uploading the APK itself to Google Play, instead hosting the APK at a specified URL. This function is only available to enterprises using Google Play for work whose application is configured to restrict distribution to the enterprise domain.
+
+Args:
+  packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
+  editId: string, Unique identifier for this edit. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "externallyHostedApk": { # Defines an APK available for this application that is hosted externally and not uploaded to Google Play. This function is only available to enterprises who are using Android for Work, and whos application is restricted to the enterprise private channel # The definition of the externally-hosted APK and where it is located.
+      "iconBase64": "A String", # The icon image from the APK, as a base64 encoded byte array.
+      "certificateBase64s": [ # A certificate (or array of certificates if a certificate-chain is used) used to signed this APK, represented as a base64 encoded byte array.
+        "A String",
+      ],
+      "externallyHostedUrl": "A String", # The URL at which the APK is hosted. This must be an https URL.
+      "maximumSdk": 42, # The maximum SDK supported by this APK (optional).
+      "fileSha256Base64": "A String", # The SHA256 checksum of this APK, represented as a base64 encoded byte array.
+      "usesPermissions": [ # The permissions requested by this APK.
+        { # A permission used by this APK.
+          "maxSdkVersion": 42, # Optionally, the maximum SDK version for which the permission is required.
+          "name": "A String", # The name of the permission requested.
+        },
+      ],
+      "fileSha1Base64": "A String", # The SHA1 checksum of this APK, represented as a base64 encoded byte array.
+      "usesFeatures": [ # The features required by this APK (optional).
+        "A String",
+      ],
+      "fileSize": "A String", # The file size in bytes of this APK.
+      "versionName": "A String", # The version name of this APK.
+      "versionCode": 42, # The version code of this APK.
+      "packageName": "A String", # The package name.
+      "minimumSdk": 42, # The minimum SDK targeted by this APK.
+      "applicationLabel": "A String", # The application label.
+      "nativeCodes": [ # The native code environments supported by this APK (optional).
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "externallyHostedApk": { # Defines an APK available for this application that is hosted externally and not uploaded to Google Play. This function is only available to enterprises who are using Android for Work, and whos application is restricted to the enterprise private channel # The definition of the externally-hosted APK and where it is located.
+      "iconBase64": "A String", # The icon image from the APK, as a base64 encoded byte array.
+      "certificateBase64s": [ # A certificate (or array of certificates if a certificate-chain is used) used to signed this APK, represented as a base64 encoded byte array.
+        "A String",
+      ],
+      "externallyHostedUrl": "A String", # The URL at which the APK is hosted. This must be an https URL.
+      "maximumSdk": 42, # The maximum SDK supported by this APK (optional).
+      "fileSha256Base64": "A String", # The SHA256 checksum of this APK, represented as a base64 encoded byte array.
+      "usesPermissions": [ # The permissions requested by this APK.
+        { # A permission used by this APK.
+          "maxSdkVersion": 42, # Optionally, the maximum SDK version for which the permission is required.
+          "name": "A String", # The name of the permission requested.
+        },
+      ],
+      "fileSha1Base64": "A String", # The SHA1 checksum of this APK, represented as a base64 encoded byte array.
+      "usesFeatures": [ # The features required by this APK (optional).
+        "A String",
+      ],
+      "fileSize": "A String", # The file size in bytes of this APK.
+      "versionName": "A String", # The version name of this APK.
+      "versionCode": 42, # The version code of this APK.
+      "packageName": "A String", # The package name.
+      "minimumSdk": 42, # The minimum SDK targeted by this APK.
+      "applicationLabel": "A String", # The application label.
+      "nativeCodes": [ # The native code environments supported by this APK (optional).
+        "A String",
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(packageName, editId)</code>
   <pre>A description of how to use this function
 
diff --git a/docs/dyn/androidpublisher_v2.edits.images.html b/docs/dyn/androidpublisher_v2.edits.images.html
index 057bea8..d358cc1 100644
--- a/docs/dyn/androidpublisher_v2.edits.images.html
+++ b/docs/dyn/androidpublisher_v2.edits.images.html
@@ -103,6 +103,8 @@
       promoGraphic - 
       sevenInchScreenshots - 
       tenInchScreenshots - 
+      tvBanner - 
+      tvScreenshots - 
   imageId: string, Unique identifier an image within the set of images attached to this edit. (required)
 </pre>
 </div>
@@ -123,6 +125,8 @@
       promoGraphic - 
       sevenInchScreenshots - 
       tenInchScreenshots - 
+      tvBanner - 
+      tvScreenshots - 
 
 Returns:
   An object of the form:
@@ -154,6 +158,8 @@
       promoGraphic - 
       sevenInchScreenshots - 
       tenInchScreenshots - 
+      tvBanner - 
+      tvScreenshots - 
 
 Returns:
   An object of the form:
@@ -185,6 +191,8 @@
       promoGraphic - 
       sevenInchScreenshots - 
       tenInchScreenshots - 
+      tvBanner - 
+      tvScreenshots - 
   media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
 
 Returns:
diff --git a/docs/dyn/androidpublisher_v2.edits.tracks.html b/docs/dyn/androidpublisher_v2.edits.tracks.html
index 2ca5de2..ec2dd2b 100644
--- a/docs/dyn/androidpublisher_v2.edits.tracks.html
+++ b/docs/dyn/androidpublisher_v2.edits.tracks.html
@@ -82,10 +82,10 @@
 <p class="firstline">Lists all the track configurations for this edit.</p>
 <p class="toc_element">
   <code><a href="#patch">patch(packageName, editId, track, body)</a></code></p>
-<p class="firstline">Updates the track configuration for the specified track type. This method supports patch semantics.</p>
+<p class="firstline">Updates the track configuration for the specified track type. When halted, the rollout track cannot be updated without adding new APKs, and adding new APKs will cause it to resume. This method supports patch semantics.</p>
 <p class="toc_element">
   <code><a href="#update">update(packageName, editId, track, body)</a></code></p>
-<p class="firstline">Updates the track configuration for the specified track type.</p>
+<p class="firstline">Updates the track configuration for the specified track type. When halted, the rollout track cannot be updated without adding new APKs, and adding new APKs will cause it to resume.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(packageName, editId, track)</code>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="patch">patch(packageName, editId, track, body)</code>
-  <pre>Updates the track configuration for the specified track type. This method supports patch semantics.
+  <pre>Updates the track configuration for the specified track type. When halted, the rollout track cannot be updated without adding new APKs, and adding new APKs will cause it to resume. This method supports patch semantics.
 
 Args:
   packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
@@ -177,7 +177,7 @@
 
 <div class="method">
     <code class="details" id="update">update(packageName, editId, track, body)</code>
-  <pre>Updates the track configuration for the specified track type.
+  <pre>Updates the track configuration for the specified track type. When halted, the rollout track cannot be updated without adding new APKs, and adding new APKs will cause it to resume.
 
 Args:
   packageName: string, Unique identifier for the Android app that is being updated; for example, "com.spiffygame". (required)
diff --git a/docs/dyn/androidpublisher_v2.inappproducts.html b/docs/dyn/androidpublisher_v2.inappproducts.html
index 3535839..dba631a 100644
--- a/docs/dyn/androidpublisher_v2.inappproducts.html
+++ b/docs/dyn/androidpublisher_v2.inappproducts.html
@@ -130,7 +130,7 @@
                   "title": "A String",
                 },
               },
-              "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+              "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
               "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
               "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
               "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -168,7 +168,7 @@
                   "title": "A String",
                 },
               },
-              "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+              "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
               "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
               "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
               "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -217,7 +217,7 @@
                   "title": "A String",
                 },
               },
-              "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+              "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
               "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
               "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
               "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -254,7 +254,7 @@
                   "title": "A String",
                 },
               },
-              "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+              "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
               "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
               "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
               "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -317,7 +317,7 @@
           "title": "A String",
         },
       },
-      "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+      "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
       "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
       "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
       "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -363,7 +363,7 @@
         "title": "A String",
       },
     },
-    "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+    "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
     "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
     "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
     "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -404,7 +404,7 @@
           "title": "A String",
         },
       },
-      "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+      "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
       "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
       "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
       "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -466,7 +466,7 @@
               "title": "A String",
             },
           },
-          "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+          "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
           "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
           "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
           "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -515,7 +515,7 @@
         "title": "A String",
       },
     },
-    "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+    "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
     "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
     "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
     "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -556,7 +556,7 @@
           "title": "A String",
         },
       },
-      "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+      "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
       "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
       "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
       "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -603,7 +603,7 @@
         "title": "A String",
       },
     },
-    "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+    "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
     "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
     "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
     "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
@@ -644,7 +644,7 @@
           "title": "A String",
         },
       },
-      "trialPeriod": "A String", # Trial duration (if any) of the subscription, defined as ISO 8601. i.e. "P10D" means an initial period of 10 days during which ownership is granted prior to any payment. Acceptable values are between "P7D" and "P999D". Seasonal subscriptions cannot have a trial period.
+      "trialPeriod": "A String", # Trial period, specified in ISO 8601 format. Acceptable values are anything between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions cannot have a trial period.
       "purchaseType": "A String", # Purchase type enum value. Unmodifiable after creation.
       "defaultLanguage": "A String", # The default language of the localized data, as defined by BCP 47. e.g. "en-US", "en-GB".
       "prices": { # Prices per buyer region. None of these prices should be zero. In-app products can never be free.
diff --git a/docs/dyn/autoscaler_v1beta2.autoscalers.html b/docs/dyn/autoscaler_v1beta2.autoscalers.html
index 4196c36..70deafc 100644
--- a/docs/dyn/autoscaler_v1beta2.autoscalers.html
+++ b/docs/dyn/autoscaler_v1beta2.autoscalers.html
@@ -135,7 +135,7 @@
     ],
     "user": "A String",
     "startTime": "A String",
-    "kind": "autoscaler#operation", # Type of the resource.
+    "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
     "name": "A String",
     "region": "A String",
     "error": {
@@ -263,7 +263,7 @@
     ],
     "user": "A String",
     "startTime": "A String",
-    "kind": "autoscaler#operation", # Type of the resource.
+    "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
     "name": "A String",
     "region": "A String",
     "error": {
@@ -414,7 +414,7 @@
     ],
     "user": "A String",
     "startTime": "A String",
-    "kind": "autoscaler#operation", # Type of the resource.
+    "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
     "name": "A String",
     "region": "A String",
     "error": {
@@ -502,7 +502,7 @@
     ],
     "user": "A String",
     "startTime": "A String",
-    "kind": "autoscaler#operation", # Type of the resource.
+    "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
     "name": "A String",
     "region": "A String",
     "error": {
diff --git a/docs/dyn/autoscaler_v1beta2.html b/docs/dyn/autoscaler_v1beta2.html
index 9e739b3..67cdb1d 100644
--- a/docs/dyn/autoscaler_v1beta2.html
+++ b/docs/dyn/autoscaler_v1beta2.html
@@ -84,4 +84,9 @@
 </p>
 <p class="firstline">Returns the zoneOperations Resource.</p>
 
+<p class="toc_element">
+  <code><a href="autoscaler_v1beta2.zones.html">zones()</a></code>
+</p>
+<p class="firstline">Returns the zones Resource.</p>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/autoscaler_v1beta2.zoneOperations.html b/docs/dyn/autoscaler_v1beta2.zoneOperations.html
index 892cc3b..d1eb5f4 100644
--- a/docs/dyn/autoscaler_v1beta2.zoneOperations.html
+++ b/docs/dyn/autoscaler_v1beta2.zoneOperations.html
@@ -137,7 +137,7 @@
     ],
     "user": "A String",
     "startTime": "A String",
-    "kind": "autoscaler#operation", # Type of the resource.
+    "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
     "name": "A String",
     "region": "A String",
     "error": {
@@ -199,7 +199,7 @@
         ],
         "user": "A String",
         "startTime": "A String",
-        "kind": "autoscaler#operation", # Type of the resource.
+        "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
         "name": "A String",
         "region": "A String",
         "error": {
@@ -216,7 +216,7 @@
         "targetLink": "A String",
       },
     ],
-    "kind": "autoscaler#operationList", # Type of resource.
+    "kind": "autoscaler#operationList", # Type of resource. Always compute#operations for Operations resource.
     "id": "A String",
     "selfLink": "A String",
   }</pre>
diff --git a/docs/dyn/autoscaler_v1beta2.zones.html b/docs/dyn/autoscaler_v1beta2.zones.html
new file mode 100644
index 0000000..16919ec
--- /dev/null
+++ b/docs/dyn/autoscaler_v1beta2.zones.html
@@ -0,0 +1,146 @@
+<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="autoscaler_v1beta2.html">Google Compute Engine Autoscaler API</a> . <a href="autoscaler_v1beta2.zones.html">zones</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline"></p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>
+
+Args:
+  project: string, A parameter (required)
+  maxResults: integer, A parameter
+  pageToken: string, A parameter
+  filter: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "items": [
+      {
+        "status": "A String",
+        "kind": "autoscaler#zone", # Type of the resource.
+        "description": "A String",
+        "maintenanceWindows": [
+          {
+            "endTime": "A String",
+            "beginTime": "A String",
+            "name": "A String",
+            "description": "A String",
+          },
+        ],
+        "deprecated": {
+          "deleted": "A String",
+          "deprecated": "A String",
+          "state": "A String",
+          "obsolete": "A String",
+          "replacement": "A String",
+        },
+        "region": "A String",
+        "creationTimestamp": "A String",
+        "id": "A String",
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "name": "A String",
+      },
+    ],
+    "kind": "autoscaler#zoneList", # Type of resource.
+    "id": "A String",
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.datasets.html b/docs/dyn/bigquery_v2.datasets.html
index cbe2fa7..43732ec 100644
--- a/docs/dyn/bigquery_v2.datasets.html
+++ b/docs/dyn/bigquery_v2.datasets.html
@@ -122,8 +122,8 @@
       "kind": "bigquery#dataset", # [Output-only] The resource type.
       "description": "A String", # [Optional] A user-friendly description of the dataset.
       "datasetReference": { # [Required] A reference that identifies the dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+        "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -134,9 +134,9 @@
           "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
           "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
           "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       ],
@@ -161,8 +161,8 @@
     "kind": "bigquery#dataset", # [Output-only] The resource type.
     "description": "A String", # [Optional] A user-friendly description of the dataset.
     "datasetReference": { # [Required] A reference that identifies the dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -173,9 +173,9 @@
         "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
         "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
         "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
     ],
@@ -194,8 +194,8 @@
       "kind": "bigquery#dataset", # [Output-only] The resource type.
       "description": "A String", # [Optional] A user-friendly description of the dataset.
       "datasetReference": { # [Required] A reference that identifies the dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+        "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -206,9 +206,9 @@
           "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
           "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
           "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       ],
@@ -242,8 +242,8 @@
         "kind": "bigquery#dataset", # The resource type. This property always returns the value "bigquery#dataset".
         "id": "A String", # The fully-qualified, unique, opaque ID of the dataset.
         "datasetReference": { # The dataset reference. Use this property to access specific parts of the dataset's ID, such as project ID or dataset ID.
-          "projectId": "A String", # [Optional] The ID of the container project.
-          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+          "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
         },
       },
     ],
@@ -279,8 +279,8 @@
     "kind": "bigquery#dataset", # [Output-only] The resource type.
     "description": "A String", # [Optional] A user-friendly description of the dataset.
     "datasetReference": { # [Required] A reference that identifies the dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -291,9 +291,9 @@
         "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
         "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
         "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
     ],
@@ -312,8 +312,8 @@
       "kind": "bigquery#dataset", # [Output-only] The resource type.
       "description": "A String", # [Optional] A user-friendly description of the dataset.
       "datasetReference": { # [Required] A reference that identifies the dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+        "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -324,9 +324,9 @@
           "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
           "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
           "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       ],
@@ -352,8 +352,8 @@
     "kind": "bigquery#dataset", # [Output-only] The resource type.
     "description": "A String", # [Optional] A user-friendly description of the dataset.
     "datasetReference": { # [Required] A reference that identifies the dataset.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -364,9 +364,9 @@
         "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
         "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
         "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
     ],
@@ -385,8 +385,8 @@
       "kind": "bigquery#dataset", # [Output-only] The resource type.
       "description": "A String", # [Optional] A user-friendly description of the dataset.
       "datasetReference": { # [Required] A reference that identifies the dataset.
-        "projectId": "A String", # [Optional] The ID of the container project.
-        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+        "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
@@ -397,9 +397,9 @@
           "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
           "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER, WRITER, OWNER.
           "view": { # [Pick one] A view from a different dataset to grant access to. Queries executed against that view will have read access to tables in this dataset. The role field is not required when this field is set. If that view is updated by any user, access to the view needs to be granted again via an update operation.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       ],
diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html
index 9d6da22..f0f2fdb 100644
--- a/docs/dyn/bigquery_v2.jobs.html
+++ b/docs/dyn/bigquery_v2.jobs.html
@@ -138,27 +138,33 @@
           "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
         },
         "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state.
+        "extract": { # [Output-only] Statistics for an extract job.
+          "destinationUriFileCounts": [ # [Experimental] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.
+            "A String",
+          ],
+        },
       },
       "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-        "projectId": "A String", # [Required] Project ID being billed for the job.
-        "jobId": "A String", # [Required] ID of the job.
+        "projectId": "A String", # [Required] The ID of the project containing this job.
+        "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
       },
       "etag": "A String", # [Output-only] A hash of this resource.
+      "user_email": "A String", # [Output-only] Email address of the user who ran the job.
       "configuration": { # [Required] Describes the job configuration.
         "load": { # [Pick one] Configures a load job.
           "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
           "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
           "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
           "destinationTable": { # [Required] The destination table to load the data into.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
           "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
           "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
+          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Wildcard names are only supported when they appear at the end of the URI.
             "A String",
           ],
           "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
@@ -166,6 +172,9 @@
           "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
           "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
           "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+          "projectionFields": [ # [Experimental] Names(case-sensitive) of properties to keep when importing data. If this is populated, only the specified properties will be imported for each entity. Currently, this is only supported for DATASTORE_BACKUP imports and only top level properties are supported. If any specified property is not found in the Datastore 'Kind' being imported, that is an error. Note: This feature is experimental and can change in the future.
+            "A String",
+          ],
           "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
           "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
             "fields": [ # Describes the fields in a table.
@@ -174,8 +183,8 @@
                   # Object with schema name: TableFieldSchema
                 ],
                 "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                "description": "A String", # [Optional] The field description.
-                "name": "A String", # [Required] The field name.
+                "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+                "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
                 "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
               },
             ],
@@ -186,9 +195,9 @@
           "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "destinationTable": { # [Required] The destination table of the link job.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "sourceUri": [ # [Required] URI of source table to link.
             "A String",
@@ -198,13 +207,13 @@
           "flattenResults": True or False, # [Experimental] Flattens all nested and repeated fields in the query results. The default value is true. allowLargeResults must be true if this is set to false.
           "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
           "defaultDataset": { # [Optional] Specifies the default dataset to use for unqualified table names in the query.
-            "projectId": "A String", # [Optional] The ID of the container project.
-            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+            "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
           },
           "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
@@ -217,21 +226,21 @@
           "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
           "sourceTables": [ # [Pick one] Source tables to copy.
             {
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
           ],
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "destinationTable": { # [Required] The destination table
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "sourceTable": { # [Pick one] Source table to copy.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
         "extract": { # [Pick one] Configures an extract job.
@@ -244,9 +253,9 @@
             "A String",
           ],
           "sourceTable": { # [Required] A reference to the table being exported.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       },
@@ -282,12 +291,13 @@
       },
     ],
     "jobReference": { # Reference to the BigQuery Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
+      "projectId": "A String", # [Required] The ID of the project containing this job.
+      "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
     },
     "pageToken": "A String", # A token used for paging results.
     "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
     "totalRows": "A String", # The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results. Present only when the query completes successfully.
+    "totalBytesProcessed": "A String", # The total number of bytes processed for this query.
     "cacheHit": True or False, # Whether the query result was fetched from the query cache.
     "etag": "A String", # A hash of this response.
     "schema": { # The schema of the results. Present only when the query completes successfully.
@@ -297,8 +307,8 @@
             # Object with schema name: TableFieldSchema
           ],
           "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "description": "A String", # [Optional] The field description.
-          "name": "A String", # [Required] The field name.
+          "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+          "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
         },
       ],
@@ -349,27 +359,33 @@
         "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
       },
       "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state.
+      "extract": { # [Output-only] Statistics for an extract job.
+        "destinationUriFileCounts": [ # [Experimental] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.
+          "A String",
+        ],
+      },
     },
     "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
+      "projectId": "A String", # [Required] The ID of the project containing this job.
+      "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
     },
     "etag": "A String", # [Output-only] A hash of this resource.
+    "user_email": "A String", # [Output-only] Email address of the user who ran the job.
     "configuration": { # [Required] Describes the job configuration.
       "load": { # [Pick one] Configures a load job.
         "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
         "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
         "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
         "destinationTable": { # [Required] The destination table to load the data into.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
         "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
         "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
         "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
         "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-        "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
+        "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Wildcard names are only supported when they appear at the end of the URI.
           "A String",
         ],
         "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
@@ -377,6 +393,9 @@
         "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
         "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
         "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+        "projectionFields": [ # [Experimental] Names(case-sensitive) of properties to keep when importing data. If this is populated, only the specified properties will be imported for each entity. Currently, this is only supported for DATASTORE_BACKUP imports and only top level properties are supported. If any specified property is not found in the Datastore 'Kind' being imported, that is an error. Note: This feature is experimental and can change in the future.
+          "A String",
+        ],
         "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
         "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
           "fields": [ # Describes the fields in a table.
@@ -385,8 +404,8 @@
                 # Object with schema name: TableFieldSchema
               ],
               "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-              "description": "A String", # [Optional] The field description.
-              "name": "A String", # [Required] The field name.
+              "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+              "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
               "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
             },
           ],
@@ -397,9 +416,9 @@
         "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
         "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
         "destinationTable": { # [Required] The destination table of the link job.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
         "sourceUri": [ # [Required] URI of source table to link.
           "A String",
@@ -409,13 +428,13 @@
         "flattenResults": True or False, # [Experimental] Flattens all nested and repeated fields in the query results. The default value is true. allowLargeResults must be true if this is set to false.
         "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
         "defaultDataset": { # [Optional] Specifies the default dataset to use for unqualified table names in the query.
-          "projectId": "A String", # [Optional] The ID of the container project.
-          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+          "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+          "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
         },
         "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
         "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
         "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
@@ -428,21 +447,21 @@
         "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
         "sourceTables": [ # [Pick one] Source tables to copy.
           {
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         ],
         "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
         "destinationTable": { # [Required] The destination table
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
         "sourceTable": { # [Pick one] Source table to copy.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
       "extract": { # [Pick one] Configures an extract job.
@@ -455,9 +474,9 @@
           "A String",
         ],
         "sourceTable": { # [Required] A reference to the table being exported.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
     },
@@ -504,27 +523,33 @@
           "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
         },
         "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state.
+        "extract": { # [Output-only] Statistics for an extract job.
+          "destinationUriFileCounts": [ # [Experimental] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.
+            "A String",
+          ],
+        },
       },
       "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
-        "projectId": "A String", # [Required] Project ID being billed for the job.
-        "jobId": "A String", # [Required] ID of the job.
+        "projectId": "A String", # [Required] The ID of the project containing this job.
+        "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
       },
       "etag": "A String", # [Output-only] A hash of this resource.
+      "user_email": "A String", # [Output-only] Email address of the user who ran the job.
       "configuration": { # [Required] Describes the job configuration.
         "load": { # [Pick one] Configures a load job.
           "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
           "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
           "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
           "destinationTable": { # [Required] The destination table to load the data into.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
           "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
           "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
+          "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Wildcard names are only supported when they appear at the end of the URI.
             "A String",
           ],
           "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
@@ -532,6 +557,9 @@
           "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
           "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
           "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+          "projectionFields": [ # [Experimental] Names(case-sensitive) of properties to keep when importing data. If this is populated, only the specified properties will be imported for each entity. Currently, this is only supported for DATASTORE_BACKUP imports and only top level properties are supported. If any specified property is not found in the Datastore 'Kind' being imported, that is an error. Note: This feature is experimental and can change in the future.
+            "A String",
+          ],
           "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
           "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
             "fields": [ # Describes the fields in a table.
@@ -540,8 +568,8 @@
                   # Object with schema name: TableFieldSchema
                 ],
                 "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                "description": "A String", # [Optional] The field description.
-                "name": "A String", # [Required] The field name.
+                "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+                "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
                 "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
               },
             ],
@@ -552,9 +580,9 @@
           "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "destinationTable": { # [Required] The destination table of the link job.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "sourceUri": [ # [Required] URI of source table to link.
             "A String",
@@ -564,13 +592,13 @@
           "flattenResults": True or False, # [Experimental] Flattens all nested and repeated fields in the query results. The default value is true. allowLargeResults must be true if this is set to false.
           "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
           "defaultDataset": { # [Optional] Specifies the default dataset to use for unqualified table names in the query.
-            "projectId": "A String", # [Optional] The ID of the container project.
-            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+            "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+            "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
           },
           "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
@@ -583,21 +611,21 @@
           "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
           "sourceTables": [ # [Pick one] Source tables to copy.
             {
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
           ],
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
           "destinationTable": { # [Required] The destination table
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
           "sourceTable": { # [Pick one] Source table to copy.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
         "extract": { # [Pick one] Configures an extract job.
@@ -610,9 +638,9 @@
             "A String",
           ],
           "sourceTable": { # [Required] A reference to the table being exported.
-            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-            "tableId": "A String", # [Required] ID of the table.
-            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            "projectId": "A String", # [Required] The ID of the project containing this table.
+            "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+            "datasetId": "A String", # [Required] The ID of the dataset containing this table.
           },
         },
       },
@@ -683,28 +711,33 @@
             "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
           },
           "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state.
+          "extract": { # [Output-only] Statistics for an extract job.
+            "destinationUriFileCounts": [ # [Experimental] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.
+              "A String",
+            ],
+          },
         },
         "jobReference": { # Job reference uniquely identifying the job.
-          "projectId": "A String", # [Required] Project ID being billed for the job.
-          "jobId": "A String", # [Required] ID of the job.
+          "projectId": "A String", # [Required] The ID of the project containing this job.
+          "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
         },
         "state": "A String", # Running state of the job. When the state is DONE, errorResult can be checked to determine whether the job succeeded or failed.
-        "user_email": "A String", # [Full-projection-only] User who ran the job.
+        "user_email": "A String", # [Full-projection-only] Email address of the user who ran the job.
         "configuration": { # [Full-projection-only] Specifies the job configuration.
           "load": { # [Pick one] Configures a load job.
             "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
             "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
             "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
             "destinationTable": { # [Required] The destination table to load the data into.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
             "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
             "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
             "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
             "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
-            "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
+            "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Wildcard names are only supported when they appear at the end of the URI.
               "A String",
             ],
             "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
@@ -712,6 +745,9 @@
             "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
             "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
             "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+            "projectionFields": [ # [Experimental] Names(case-sensitive) of properties to keep when importing data. If this is populated, only the specified properties will be imported for each entity. Currently, this is only supported for DATASTORE_BACKUP imports and only top level properties are supported. If any specified property is not found in the Datastore 'Kind' being imported, that is an error. Note: This feature is experimental and can change in the future.
+              "A String",
+            ],
             "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
             "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
               "fields": [ # Describes the fields in a table.
@@ -720,8 +756,8 @@
                     # Object with schema name: TableFieldSchema
                   ],
                   "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-                  "description": "A String", # [Optional] The field description.
-                  "name": "A String", # [Required] The field name.
+                  "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+                  "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
                   "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
                 },
               ],
@@ -732,9 +768,9 @@
             "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
             "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
             "destinationTable": { # [Required] The destination table of the link job.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
             "sourceUri": [ # [Required] URI of source table to link.
               "A String",
@@ -744,13 +780,13 @@
             "flattenResults": True or False, # [Experimental] Flattens all nested and repeated fields in the query results. The default value is true. allowLargeResults must be true if this is set to false.
             "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
             "defaultDataset": { # [Optional] Specifies the default dataset to use for unqualified table names in the query.
-              "projectId": "A String", # [Optional] The ID of the container project.
-              "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+              "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+              "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
             },
             "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
             "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
             "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
@@ -763,21 +799,21 @@
             "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
             "sourceTables": [ # [Pick one] Source tables to copy.
               {
-                "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-                "tableId": "A String", # [Required] ID of the table.
-                "datasetId": "A String", # [Required] ID of the dataset containing the table.
+                "projectId": "A String", # [Required] The ID of the project containing this table.
+                "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+                "datasetId": "A String", # [Required] The ID of the dataset containing this table.
               },
             ],
             "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
             "destinationTable": { # [Required] The destination table
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
             "sourceTable": { # [Pick one] Source table to copy.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
           },
           "extract": { # [Pick one] Configures an extract job.
@@ -790,9 +826,9 @@
               "A String",
             ],
             "sourceTable": { # [Required] A reference to the table being exported.
-              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-              "tableId": "A String", # [Required] ID of the table.
-              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+              "projectId": "A String", # [Required] The ID of the project containing this table.
+              "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+              "datasetId": "A String", # [Required] The ID of the dataset containing this table.
             },
           },
         },
@@ -834,11 +870,11 @@
 {
     "timeoutMs": 42, # [Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).
     "kind": "bigquery#queryRequest", # The resource type of the request.
-    "dryRun": True or False, # [Optional] If set, don't actually run the query. A valid query will return an empty response, while an invalid query will return the same error it would if it wasn't a dry run. The default value is false.
+    "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run.
     "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. The default value is true.
     "defaultDataset": { # [Optional] Specifies the default datasetId and projectId to assume for any unqualified table names in the query. If not set, all table names in the query string must be qualified in the format 'datasetId.tableId'.
-      "projectId": "A String", # [Optional] The ID of the container project.
-      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      "projectId": "A String", # [Optional] The ID of the project containing this dataset.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
     },
     "maxResults": 42, # [Optional] The maximum number of rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies.
     "query": "A String", # [Required] A query string, following the BigQuery query syntax, of the query to execute. Example: "SELECT count(f1) FROM [myProjectId:myDatasetId.myTableId]".
@@ -861,8 +897,8 @@
       },
     ],
     "jobReference": { # Reference to the Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
-      "projectId": "A String", # [Required] Project ID being billed for the job.
-      "jobId": "A String", # [Required] ID of the job.
+      "projectId": "A String", # [Required] The ID of the project containing this job.
+      "jobId": "A String", # [Required] The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters.
     },
     "pageToken": "A String", # A token used for paging results.
     "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
@@ -876,8 +912,8 @@
             # Object with schema name: TableFieldSchema
           ],
           "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "description": "A String", # [Optional] The field description.
-          "name": "A String", # [Required] The field name.
+          "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+          "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
         },
       ],
diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html
index a91898c..b0bb807 100644
--- a/docs/dyn/bigquery_v2.tables.html
+++ b/docs/dyn/bigquery_v2.tables.html
@@ -125,12 +125,12 @@
       "description": "A String", # [Optional] A user-friendly description of this table.
       "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
       "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        "projectId": "A String", # [Required] The ID of the project containing this table.
+        "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+        "datasetId": "A String", # [Required] The ID of the dataset containing this table.
       },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
       "etag": "A String", # [Output-only] A hash of this resource.
       "friendlyName": "A String", # [Optional] A descriptive name for this table.
       "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -147,8 +147,8 @@
               # Object with schema name: TableFieldSchema
             ],
             "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "description": "A String", # [Optional] The field description.
-            "name": "A String", # [Required] The field name.
+            "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+            "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           },
         ],
@@ -172,12 +172,12 @@
     "description": "A String", # [Optional] A user-friendly description of this table.
     "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
     "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      "projectId": "A String", # [Required] The ID of the project containing this table.
+      "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      "datasetId": "A String", # [Required] The ID of the dataset containing this table.
     },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
     "etag": "A String", # [Output-only] A hash of this resource.
     "friendlyName": "A String", # [Optional] A descriptive name for this table.
     "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -194,8 +194,8 @@
             # Object with schema name: TableFieldSchema
           ],
           "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "description": "A String", # [Optional] The field description.
-          "name": "A String", # [Required] The field name.
+          "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+          "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
         },
       ],
@@ -212,12 +212,12 @@
       "description": "A String", # [Optional] A user-friendly description of this table.
       "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
       "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        "projectId": "A String", # [Required] The ID of the project containing this table.
+        "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+        "datasetId": "A String", # [Required] The ID of the dataset containing this table.
       },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
       "etag": "A String", # [Output-only] A hash of this resource.
       "friendlyName": "A String", # [Optional] A descriptive name for this table.
       "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -234,8 +234,8 @@
               # Object with schema name: TableFieldSchema
             ],
             "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "description": "A String", # [Optional] The field description.
-            "name": "A String", # [Required] The field name.
+            "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+            "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           },
         ],
@@ -265,9 +265,9 @@
         "type": "A String", # The type of table. Possible values are: TABLE, VIEW.
         "id": "A String", # An opaque ID of the table
         "tableReference": { # A reference uniquely identifying the table.
-          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-          "tableId": "A String", # [Required] ID of the table.
-          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          "projectId": "A String", # [Required] The ID of the project containing this table.
+          "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          "datasetId": "A String", # [Required] The ID of the dataset containing this table.
         },
       },
     ],
@@ -308,12 +308,12 @@
     "description": "A String", # [Optional] A user-friendly description of this table.
     "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
     "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      "projectId": "A String", # [Required] The ID of the project containing this table.
+      "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      "datasetId": "A String", # [Required] The ID of the dataset containing this table.
     },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
     "etag": "A String", # [Output-only] A hash of this resource.
     "friendlyName": "A String", # [Optional] A descriptive name for this table.
     "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -330,8 +330,8 @@
             # Object with schema name: TableFieldSchema
           ],
           "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "description": "A String", # [Optional] The field description.
-          "name": "A String", # [Required] The field name.
+          "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+          "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
         },
       ],
@@ -348,12 +348,12 @@
       "description": "A String", # [Optional] A user-friendly description of this table.
       "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
       "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        "projectId": "A String", # [Required] The ID of the project containing this table.
+        "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+        "datasetId": "A String", # [Required] The ID of the dataset containing this table.
       },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
       "etag": "A String", # [Output-only] A hash of this resource.
       "friendlyName": "A String", # [Optional] A descriptive name for this table.
       "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -370,8 +370,8 @@
               # Object with schema name: TableFieldSchema
             ],
             "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "description": "A String", # [Optional] The field description.
-            "name": "A String", # [Required] The field name.
+            "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+            "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           },
         ],
@@ -396,12 +396,12 @@
     "description": "A String", # [Optional] A user-friendly description of this table.
     "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
     "tableReference": { # [Required] Reference describing the ID of this table.
-      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-      "tableId": "A String", # [Required] ID of the table.
-      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      "projectId": "A String", # [Required] The ID of the project containing this table.
+      "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      "datasetId": "A String", # [Required] The ID of the dataset containing this table.
     },
-    "numRows": "A String", # [Output-only] The number of rows of data in this table.
-    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
     "etag": "A String", # [Output-only] A hash of this resource.
     "friendlyName": "A String", # [Optional] A descriptive name for this table.
     "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -418,8 +418,8 @@
             # Object with schema name: TableFieldSchema
           ],
           "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-          "description": "A String", # [Optional] The field description.
-          "name": "A String", # [Required] The field name.
+          "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+          "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
         },
       ],
@@ -436,12 +436,12 @@
       "description": "A String", # [Optional] A user-friendly description of this table.
       "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
       "tableReference": { # [Required] Reference describing the ID of this table.
-        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
-        "tableId": "A String", # [Required] ID of the table.
-        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        "projectId": "A String", # [Required] The ID of the project containing this table.
+        "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+        "datasetId": "A String", # [Required] The ID of the dataset containing this table.
       },
-      "numRows": "A String", # [Output-only] The number of rows of data in this table.
-      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "numRows": "A String", # [Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.
       "etag": "A String", # [Output-only] A hash of this resource.
       "friendlyName": "A String", # [Optional] A descriptive name for this table.
       "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
@@ -458,8 +458,8 @@
               # Object with schema name: TableFieldSchema
             ],
             "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
-            "description": "A String", # [Optional] The field description.
-            "name": "A String", # [Required] The field name.
+            "description": "A String", # [Optional] The field description. The maximum length is 16K characters.
+            "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           },
         ],
diff --git a/docs/dyn/blogger_v3.comments.html b/docs/dyn/blogger_v3.comments.html
index ddb3237..604e3fb 100644
--- a/docs/dyn/blogger_v3.comments.html
+++ b/docs/dyn/blogger_v3.comments.html
@@ -87,7 +87,7 @@
   <code><a href="#list">list(blogId, postId, status=None, startDate=None, fetchBodies=None, endDate=None, pageToken=None, maxResults=None, view=None)</a></code></p>
 <p class="firstline">Retrieves the comments for a post, possibly filtered.</p>
 <p class="toc_element">
-  <code><a href="#listByBlog">listByBlog(blogId, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</a></code></p>
+  <code><a href="#listByBlog">listByBlog(blogId, status=None, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</a></code></p>
 <p class="firstline">Retrieves the comments for a blog, across all posts, possibly filtered.</p>
 <p class="toc_element">
   <code><a href="#listByBlog_next">listByBlog_next(previous_request, previous_response)</a></code></p>
@@ -261,11 +261,17 @@
 </div>
 
 <div class="method">
-    <code class="details" id="listByBlog">listByBlog(blogId, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</code>
+    <code class="details" id="listByBlog">listByBlog(blogId, status=None, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</code>
   <pre>Retrieves the comments for a blog, across all posts, possibly filtered.
 
 Args:
   blogId: string, ID of the blog to fetch comments from. (required)
+  status: string, A parameter (repeated)
+    Allowed values
+      emptied - Comments that have had their content removed
+      live - Comments that are publicly visible
+      pending - Comments that are awaiting administrator approval
+      spam - Comments marked as spam by the administrator
   startDate: string, Earliest date of comment to fetch, a date-time with RFC 3339 formatting.
   endDate: string, Latest date of comment to fetch, a date-time with RFC 3339 formatting.
   pageToken: string, Continuation token if request is paged.
diff --git a/docs/dyn/blogger_v3.pages.html b/docs/dyn/blogger_v3.pages.html
index 53c1832..f8560b3 100644
--- a/docs/dyn/blogger_v3.pages.html
+++ b/docs/dyn/blogger_v3.pages.html
@@ -84,9 +84,12 @@
   <code><a href="#insert">insert(blogId, body, isDraft=None)</a></code></p>
 <p class="firstline">Add a page.</p>
 <p class="toc_element">
-  <code><a href="#list">list(blogId, status=None, fetchBodies=None, view=None)</a></code></p>
+  <code><a href="#list">list(blogId, status=None, pageToken=None, maxResults=None, fetchBodies=None, view=None)</a></code></p>
 <p class="firstline">Retrieves the pages for a blog, optionally including non-LIVE statuses.</p>
 <p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
   <code><a href="#patch">patch(blogId, pageId, body, revert=None, publish=None)</a></code></p>
 <p class="firstline">Update a page. This method supports patch semantics.</p>
 <p class="toc_element">
@@ -214,15 +217,17 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(blogId, status=None, fetchBodies=None, view=None)</code>
+    <code class="details" id="list">list(blogId, status=None, pageToken=None, maxResults=None, fetchBodies=None, view=None)</code>
   <pre>Retrieves the pages for a blog, optionally including non-LIVE statuses.
 
 Args:
-  blogId: string, ID of the blog to fetch pages from. (required)
+  blogId: string, ID of the blog to fetch Pages from. (required)
   status: string, A parameter (repeated)
     Allowed values
       draft - Draft (unpublished) Pages
       live - Pages that are publicly visible
+  pageToken: string, Continuation token if the request is paged.
+  maxResults: integer, Maximum number of Pages to fetch.
   fetchBodies: boolean, Whether to retrieve the Page bodies.
   view: string, Access level with which to view the returned result. Note that some fields require elevated access.
     Allowed values
@@ -234,6 +239,7 @@
   An object of the form:
 
     {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
     "items": [ # The list of Pages for a Blog.
       {
           "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
@@ -264,6 +270,20 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
     <code class="details" id="patch">patch(blogId, pageId, body, revert=None, publish=None)</code>
   <pre>Update a page. This method supports patch semantics.
 
diff --git a/docs/dyn/books_v1.bookshelves.volumes.html b/docs/dyn/books_v1.bookshelves.volumes.html
index f501e84..4c0fc8d 100644
--- a/docs/dyn/books_v1.bookshelves.volumes.html
+++ b/docs/dyn/books_v1.bookshelves.volumes.html
@@ -211,6 +211,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.dictionary.html b/docs/dyn/books_v1.dictionary.html
new file mode 100644
index 0000000..75f3675
--- /dev/null
+++ b/docs/dyn/books_v1.dictionary.html
@@ -0,0 +1,105 @@
+<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="books_v1.html">Books API</a> . <a href="books_v1.dictionary.html">dictionary</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#listOfflineMetadata">listOfflineMetadata(cpksver)</a></code></p>
+<p class="firstline">Returns a list of offline dictionary meatadata available</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="listOfflineMetadata">listOfflineMetadata(cpksver)</code>
+  <pre>Returns a list of offline dictionary meatadata available
+
+Args:
+  cpksver: string, The device/version ID from which to request the data. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # A list of offline dictionary metadata.
+      {
+        "encrypted_key": "A String",
+        "version": "A String",
+        "language": "A String",
+        "download_url": "A String",
+        "size": "A String",
+      },
+    ],
+    "kind": "dictionary#metadata", # Resource type.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.html b/docs/dyn/books_v1.html
index 6c14c80..7c91514 100644
--- a/docs/dyn/books_v1.html
+++ b/docs/dyn/books_v1.html
@@ -85,6 +85,11 @@
 <p class="firstline">Returns the cloudloading Resource.</p>
 
 <p class="toc_element">
+  <code><a href="books_v1.dictionary.html">dictionary()</a></code>
+</p>
+<p class="firstline">Returns the dictionary Resource.</p>
+
+<p class="toc_element">
   <code><a href="books_v1.layers.html">layers()</a></code>
 </p>
 <p class="firstline">Returns the layers Resource.</p>
@@ -100,6 +105,11 @@
 <p class="firstline">Returns the mylibrary Resource.</p>
 
 <p class="toc_element">
+  <code><a href="books_v1.onboarding.html">onboarding()</a></code>
+</p>
+<p class="firstline">Returns the onboarding Resource.</p>
+
+<p class="toc_element">
   <code><a href="books_v1.promooffer.html">promooffer()</a></code>
 </p>
 <p class="firstline">Returns the promooffer Resource.</p>
diff --git a/docs/dyn/books_v1.myconfig.html b/docs/dyn/books_v1.myconfig.html
index be107f8..1f8a702 100644
--- a/docs/dyn/books_v1.myconfig.html
+++ b/docs/dyn/books_v1.myconfig.html
@@ -75,6 +75,9 @@
 <h1><a href="books_v1.html">Books API</a> . <a href="books_v1.myconfig.html">myconfig</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#getUserSettings">getUserSettings()</a></code></p>
+<p class="firstline">Gets the current settings for the user.</p>
+<p class="toc_element">
   <code><a href="#releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</a></code></p>
 <p class="firstline">Release downloaded content access restriction.</p>
 <p class="toc_element">
@@ -83,8 +86,29 @@
 <p class="toc_element">
   <code><a href="#syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, features=None, locale=None, showPreorders=None, volumeIds=None)</a></code></p>
 <p class="firstline">Request downloaded content access for specified volumes on the My eBooks shelf.</p>
+<p class="toc_element">
+  <code><a href="#updateUserSettings">updateUserSettings(body)</a></code></p>
+<p class="firstline">Sets the settings for the user. Unspecified sub-objects will retain the existing value.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="getUserSettings">getUserSettings()</code>
+  <pre>Gets the current settings for the user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "books#usersettings", # Resource type.
+    "notesExport": { # User settings in sub-objects, each for different purposes.
+      "isEnabled": True or False,
+      "folderName": "A String",
+    },
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</code>
   <pre>Release downloaded content access restriction.
 
@@ -305,6 +329,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
@@ -376,4 +401,33 @@
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="updateUserSettings">updateUserSettings(body)</code>
+  <pre>Sets the settings for the user. Unspecified sub-objects will retain the existing value.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "kind": "books#usersettings", # Resource type.
+  "notesExport": { # User settings in sub-objects, each for different purposes.
+    "isEnabled": True or False,
+    "folderName": "A String",
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "books#usersettings", # Resource type.
+    "notesExport": { # User settings in sub-objects, each for different purposes.
+      "isEnabled": True or False,
+      "folderName": "A String",
+    },
+  }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.annotations.html b/docs/dyn/books_v1.mylibrary.annotations.html
index d28c361..3dd48df 100644
--- a/docs/dyn/books_v1.mylibrary.annotations.html
+++ b/docs/dyn/books_v1.mylibrary.annotations.html
@@ -81,7 +81,7 @@
   <code><a href="#get">get(annotationId, source=None)</a></code></p>
 <p class="firstline">Gets an annotation by its ID.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(body, source=None, showOnlySummaryInResponse=None)</a></code></p>
+  <code><a href="#insert">insert(body, source=None, country=None, showOnlySummaryInResponse=None)</a></code></p>
 <p class="firstline">Inserts a new annotation.</p>
 <p class="toc_element">
   <code><a href="#list">list(pageToken=None, updatedMin=None, showDeleted=None, pageIds=None, contentVersion=None, layerId=None, updatedMax=None, volumeId=None, maxResults=None, layerIds=None, source=None)</a></code></p>
@@ -197,7 +197,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(body, source=None, showOnlySummaryInResponse=None)</code>
+    <code class="details" id="insert">insert(body, source=None, country=None, showOnlySummaryInResponse=None)</code>
   <pre>Inserts a new annotation.
 
 Args:
@@ -283,6 +283,7 @@
   }
 
   source: string, String to identify the originator of this request.
+  country: string, ISO-3166-1 code to override the IP-based location.
   showOnlySummaryInResponse: boolean, Requests that only the summary of the specified layer be provided in the response.
 
 Returns:
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.html b/docs/dyn/books_v1.mylibrary.bookshelves.html
index 907ef4f..3a6c2fd 100644
--- a/docs/dyn/books_v1.mylibrary.bookshelves.html
+++ b/docs/dyn/books_v1.mylibrary.bookshelves.html
@@ -80,7 +80,7 @@
 <p class="firstline">Returns the volumes Resource.</p>
 
 <p class="toc_element">
-  <code><a href="#addVolume">addVolume(shelf, volumeId, source=None)</a></code></p>
+  <code><a href="#addVolume">addVolume(shelf, volumeId, source=None, reason=None)</a></code></p>
 <p class="firstline">Adds a volume to a bookshelf.</p>
 <p class="toc_element">
   <code><a href="#clearVolumes">clearVolumes(shelf, source=None)</a></code></p>
@@ -95,17 +95,22 @@
   <code><a href="#moveVolume">moveVolume(shelf, volumeId, volumePosition, source=None)</a></code></p>
 <p class="firstline">Moves a volume within a bookshelf.</p>
 <p class="toc_element">
-  <code><a href="#removeVolume">removeVolume(shelf, volumeId, source=None)</a></code></p>
+  <code><a href="#removeVolume">removeVolume(shelf, volumeId, source=None, reason=None)</a></code></p>
 <p class="firstline">Removes a volume from a bookshelf.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="addVolume">addVolume(shelf, volumeId, source=None)</code>
+    <code class="details" id="addVolume">addVolume(shelf, volumeId, source=None, reason=None)</code>
   <pre>Adds a volume to a bookshelf.
 
 Args:
   shelf: string, ID of bookshelf to which to add a volume. (required)
   volumeId: string, ID of volume to add. (required)
   source: string, String to identify the originator of this request.
+  reason: string, The reason for which the book is added to the library.
+    Allowed values
+      IOS_PREX - Volumes added from the PREX flow on iOS.
+      IOS_SEARCH - Volumes added from the Search flow on iOS.
+      ONBOARDING - Volumes added from the Onboarding flow.
 </pre>
 </div>
 
@@ -186,13 +191,16 @@
 </div>
 
 <div class="method">
-    <code class="details" id="removeVolume">removeVolume(shelf, volumeId, source=None)</code>
+    <code class="details" id="removeVolume">removeVolume(shelf, volumeId, source=None, reason=None)</code>
   <pre>Removes a volume from a bookshelf.
 
 Args:
   shelf: string, ID of bookshelf from which to remove a volume. (required)
   volumeId: string, ID of volume to remove. (required)
   source: string, String to identify the originator of this request.
+  reason: string, The reason for which the book is removed from the library.
+    Allowed values
+      ONBOARDING - Samples removed from the Onboarding flow.
 </pre>
 </div>
 
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
index cd72559..f9ed3b8 100644
--- a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
+++ b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
@@ -216,6 +216,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.onboarding.html b/docs/dyn/books_v1.onboarding.html
new file mode 100644
index 0000000..edcb037
--- /dev/null
+++ b/docs/dyn/books_v1.onboarding.html
@@ -0,0 +1,326 @@
+<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="books_v1.html">Books API</a> . <a href="books_v1.onboarding.html">onboarding</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#listCategories">listCategories(locale=None)</a></code></p>
+<p class="firstline">List categories for onboarding experience.</p>
+<p class="toc_element">
+  <code><a href="#listCategoryVolumes">listCategoryVolumes(pageSize=None, pageToken=None, locale=None, categoryId=None)</a></code></p>
+<p class="firstline">List available volumes under categories for onboarding experience.</p>
+<p class="toc_element">
+  <code><a href="#listCategoryVolumes_next">listCategoryVolumes_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="listCategories">listCategories(locale=None)</code>
+  <pre>List categories for onboarding experience.
+
+Args:
+  locale: string, ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # A list of onboarding categories.
+      {
+        "badgeUrl": "A String",
+        "categoryId": "A String",
+        "name": "A String",
+      },
+    ],
+    "kind": "onboarding#category", # Resource type.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listCategoryVolumes">listCategoryVolumes(pageSize=None, pageToken=None, locale=None, categoryId=None)</code>
+  <pre>List available volumes under categories for onboarding experience.
+
+Args:
+  pageSize: integer, Number of maximum results per page to be included in the response.
+  pageToken: string, The value of the nextToken from the previous page.
+  locale: string, ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
+  categoryId: string, List of category ids requested. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "items": [ # A list of volumes.
+      {
+        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
+        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
+          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
+          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
+          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
+          "downloadAccess": { # Information about a volume's download license access restrictions.
+            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
+            "kind": "books#downloadAccessRestriction", # Resource type.
+            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
+            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
+            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
+            "signature": "A String", # Response signature.
+            "volumeId": "A String", # Identifies the volume for which this entry applies.
+            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
+            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
+            "restricted": True or False, # Whether this volume has any download access restrictions.
+            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
+            "message": "A String", # Error/warning message.
+          },
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
+          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "pdf": { # Information about pdf content. (In LITE projection.)
+            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
+          "epub": { # Information about epub content. (In LITE projection.)
+            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
+          },
+          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
+        },
+        "searchInfo": { # Search result information related to this volume.
+          "textSnippet": "A String", # A text snippet containing the search query.
+        },
+        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
+          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
+          "onSaleDate": "A String", # The date on which this book is available for sale.
+          "listPrice": { # Suggested retail price. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+        },
+        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
+        "selfLink": "A String", # URL to this resource. (In LITE projection.)
+        "volumeInfo": { # General volume information.
+          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
+          "pageCount": 42, # Total number of pages as per publisher metadata.
+          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
+          "dimensions": { # Physical dimensions of this volume.
+            "width": "A String", # Width of this volume (in cm).
+            "thickness": "A String", # Thickness of this volume (in cm).
+            "height": "A String", # Height or length of this volume (in cm).
+          },
+          "previewLink": "A String", # URL to preview this volume on the Google Books site.
+          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
+          "industryIdentifiers": [ # Industry standard identifiers for this volume.
+            {
+              "identifier": "A String", # Industry specific volume identifier.
+              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
+            },
+          ],
+          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
+          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
+          "publishedDate": "A String", # Date of publication. (In LITE projection.)
+          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
+            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
+            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
+            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
+            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
+            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
+            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
+          },
+          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
+            "A String",
+          ],
+          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
+            "A String",
+          ],
+          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
+          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
+          "readingModes": "", # The reading modes available for this volume.
+          "title": "A String", # Volume title. (In LITE projection.)
+          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
+          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
+          "ratingsCount": 42, # The number of review ratings for this volume.
+        },
+        "recommendedInfo": { # Recommendation related information for this volume.
+          "explanation": "A String", # A text explaining why this volume is recommended.
+        },
+        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
+        "layerInfo": { # What layers exist in this volume and high level information about them.
+          "layers": [ # A layer should appear here if and only if the layer exists for this book.
+            {
+              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
+              "layerId": "A String", # The layer id of this layer (e.g. "geo").
+            },
+          ],
+        },
+        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
+          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
+          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
+          "review": { # This user's review of this volume, if one exists.
+            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
+            "kind": "books#review", # Resource type for a review.
+            "author": { # Author of this review.
+              "displayName": "A String", # Name of this person.
+            },
+            "title": "A String", # Title for this review.
+            "volumeId": "A String", # Volume that this review is for.
+            "content": "A String", # Review text.
+            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
+              "extraDescription": "A String", # Extra text about the source of the review.
+              "url": "A String", # URL of the source of the review.
+              "description": "A String", # Name of the source.
+            },
+            "date": "A String", # Date of this review.
+            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
+            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
+          },
+          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
+        },
+      },
+    ],
+    "kind": "onboarding#volume", # Resource type.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listCategoryVolumes_next">listCategoryVolumes_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.promooffer.html b/docs/dyn/books_v1.promooffer.html
index c185b2e..ab87e18 100644
--- a/docs/dyn/books_v1.promooffer.html
+++ b/docs/dyn/books_v1.promooffer.html
@@ -133,6 +133,7 @@
     {
     "items": [ # A list of offers.
       {
+        "gservicesKey": "A String",
         "items": [
           {
             "description": "A String",
diff --git a/docs/dyn/books_v1.volumes.associated.html b/docs/dyn/books_v1.volumes.associated.html
index 52bb7f6..5f7dcf3 100644
--- a/docs/dyn/books_v1.volumes.associated.html
+++ b/docs/dyn/books_v1.volumes.associated.html
@@ -90,6 +90,7 @@
     Allowed values
       end-of-sample - Recommendations for display end-of-sample.
       end-of-volume - Recommendations for display end-of-volume.
+      related-for-play - Related volumes for Play Store.
 
 Returns:
   An object of the form:
@@ -212,6 +213,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.volumes.html b/docs/dyn/books_v1.volumes.html
index 383a903..b84632d 100644
--- a/docs/dyn/books_v1.volumes.html
+++ b/docs/dyn/books_v1.volumes.html
@@ -95,18 +95,19 @@
 <p class="firstline">Returns the useruploaded Resource.</p>
 
 <p class="toc_element">
-  <code><a href="#get">get(volumeId, projection=None, source=None, country=None, partner=None)</a></code></p>
+  <code><a href="#get">get(volumeId, user_library_consistent_read=None, projection=None, source=None, country=None, partner=None)</a></code></p>
 <p class="firstline">Gets volume information for a single volume.</p>
 <p class="toc_element">
   <code><a href="#list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</a></code></p>
 <p class="firstline">Performs a book search.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="get">get(volumeId, projection=None, source=None, country=None, partner=None)</code>
+    <code class="details" id="get">get(volumeId, user_library_consistent_read=None, projection=None, source=None, country=None, partner=None)</code>
   <pre>Gets volume information for a single volume.
 
 Args:
   volumeId: string, ID of volume to retrieve. (required)
+  user_library_consistent_read: boolean, A parameter
   projection: string, Restrict information returned to a set of selected fields.
     Allowed values
       full - Includes all volume data.
@@ -233,6 +234,7 @@
       "readingModes": "", # The reading modes available for this volume.
       "title": "A String", # Volume title. (In LITE projection.)
       "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+      "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
       "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
       "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
       "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
@@ -462,6 +464,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.volumes.mybooks.html b/docs/dyn/books_v1.volumes.mybooks.html
index 4175c0d..66fdb3f 100644
--- a/docs/dyn/books_v1.volumes.mybooks.html
+++ b/docs/dyn/books_v1.volumes.mybooks.html
@@ -223,6 +223,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.volumes.recommended.html b/docs/dyn/books_v1.volumes.recommended.html
index 8039c59..fc35422 100644
--- a/docs/dyn/books_v1.volumes.recommended.html
+++ b/docs/dyn/books_v1.volumes.recommended.html
@@ -210,6 +210,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/books_v1.volumes.useruploaded.html b/docs/dyn/books_v1.volumes.useruploaded.html
index fd46ea1..7b2a515 100644
--- a/docs/dyn/books_v1.volumes.useruploaded.html
+++ b/docs/dyn/books_v1.volumes.useruploaded.html
@@ -215,6 +215,7 @@
           "readingModes": "", # The reading modes available for this volume.
           "title": "A String", # Volume title. (In LITE projection.)
           "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "samplePageCount": 42, # Total number of sample pages as per publisher metadata.
           "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
           "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
           "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
diff --git a/docs/dyn/calendar_v3.calendars.html b/docs/dyn/calendar_v3.calendars.html
index d6d1524..b0ef92d 100644
--- a/docs/dyn/calendar_v3.calendars.html
+++ b/docs/dyn/calendar_v3.calendars.html
@@ -127,7 +127,7 @@
       "summary": "A String", # Title of the calendar.
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
       "id": "A String", # Identifier of the calendar.
     }</pre>
 </div>
@@ -146,7 +146,7 @@
     "summary": "A String", # Title of the calendar.
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
     "id": "A String", # Identifier of the calendar.
   }
 
@@ -160,7 +160,7 @@
       "summary": "A String", # Title of the calendar.
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
       "id": "A String", # Identifier of the calendar.
     }</pre>
 </div>
@@ -180,7 +180,7 @@
     "summary": "A String", # Title of the calendar.
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
     "id": "A String", # Identifier of the calendar.
   }
 
@@ -194,7 +194,7 @@
       "summary": "A String", # Title of the calendar.
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
       "id": "A String", # Identifier of the calendar.
     }</pre>
 </div>
@@ -214,7 +214,7 @@
     "summary": "A String", # Title of the calendar.
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
     "id": "A String", # Identifier of the calendar.
   }
 
@@ -228,7 +228,7 @@
       "summary": "A String", # Title of the calendar.
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the calendar as free-form text. Optional.
-      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
       "id": "A String", # Identifier of the calendar.
     }</pre>
 </div>
diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html
index 0721a68..746c45c 100644
--- a/docs/dyn/calendar_v3.events.html
+++ b/docs/dyn/calendar_v3.events.html
@@ -178,7 +178,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -231,7 +231,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -255,7 +255,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -314,7 +314,7 @@
     ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -367,7 +367,7 @@
     "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
     "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -391,7 +391,7 @@
     "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
     "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -444,7 +444,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -497,7 +497,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -521,7 +521,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -580,7 +580,7 @@
     ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -633,7 +633,7 @@
     "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
     "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -657,7 +657,7 @@
     "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
     "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -712,7 +712,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -765,7 +765,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -789,7 +789,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -873,7 +873,7 @@
           ],
           "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -926,7 +926,7 @@
           "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
           "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -950,7 +950,7 @@
           "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
           "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1084,7 +1084,7 @@
           ],
           "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1137,7 +1137,7 @@
           "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
           "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1161,7 +1161,7 @@
           "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
           "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-            "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+            "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
           },
           "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1251,7 +1251,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1304,7 +1304,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1328,7 +1328,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1388,7 +1388,7 @@
     ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1441,7 +1441,7 @@
     "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
     "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1465,7 +1465,7 @@
     "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
     "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1521,7 +1521,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1574,7 +1574,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1598,7 +1598,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1660,7 +1660,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1713,7 +1713,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1737,7 +1737,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1797,7 +1797,7 @@
     ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1850,7 +1850,7 @@
     "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
     "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -1874,7 +1874,7 @@
     "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
     "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-      "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+      "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
     },
     "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
@@ -1930,7 +1930,7 @@
       ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
@@ -1983,7 +1983,7 @@
       "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
       "end": { # The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
@@ -2007,7 +2007,7 @@
       "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
       "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
-        "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
+        "timeZone": "A String", # The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
       },
       "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
diff --git a/docs/dyn/civicinfo_v2.elections.html b/docs/dyn/civicinfo_v2.elections.html
index 68c1f80..0d9a3f3 100644
--- a/docs/dyn/civicinfo_v2.elections.html
+++ b/docs/dyn/civicinfo_v2.elections.html
@@ -115,21 +115,21 @@
   An object of the form:
 
     { # The result of a voter info lookup query.
-    "earlyVoteSites": [ # Locations where the voter is eligible to vote early, prior to election day
-      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
-        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
+    "earlyVoteSites": [ # Locations where the voter is eligible to vote early, prior to election day.
+      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
+        "startDate": "A String", # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
         "pollingHours": "A String", # A description of when this location is open.
-        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
-        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
-        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
-        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
+        "endDate": "A String", # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
+        "name": "A String", # The name of the early vote site or drop off location. This field is not populated for polling locations.
+        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use).
+        "voterServices": "A String", # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
         "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
           { # Contains information about the data source for the element containing it.
             "official": True or False, # Whether this data comes from an official government source.
             "name": "A String", # The name of the data source.
           },
         ],
-        "address": { # A simple representation of an address. # The address of the location
+        "address": { # A simple representation of an address. # The address of the location.
           "city": "A String", # The city or town for the address.
           "zip": "A String", # The US Postal Zip Code of the address.
           "line3": "A String", # The third line of the address, if needed.
@@ -141,7 +141,32 @@
         "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
       },
     ],
-    "kind": "civicinfo#voterInfoResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#voterInfoResponse".
+    "dropOffLocations": [ # Locations where a voter is eligible to drop off a completed ballot. The voter must have received and completed a ballot prior to arriving at the location. The location may not have ballots available on the premises. These locations could be open on or before election day as indicated in the pollingHours field.
+      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
+        "startDate": "A String", # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
+        "pollingHours": "A String", # A description of when this location is open.
+        "endDate": "A String", # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
+        "name": "A String", # The name of the early vote site or drop off location. This field is not populated for polling locations.
+        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use).
+        "voterServices": "A String", # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
+        "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "address": { # A simple representation of an address. # The address of the location.
+          "city": "A String", # The city or town for the address.
+          "zip": "A String", # The US Postal Zip Code of the address.
+          "line3": "A String", # The third line of the address, if needed.
+          "line2": "A String", # The second line the address, if needed.
+          "line1": "A String", # The street name and number of this address.
+          "locationName": "A String", # The name of the location.
+          "state": "A String", # The US two letter state abbreviation of the address.
+        },
+        "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
+      },
+    ],
     "otherElections": [ # If no election ID was specified in the query, and there was more than one election with data for the given voter, this will contain information about the other elections that could apply.
       { # Information about the election that was queried.
         "electionDay": "A String", # Day of the election in YYYY-MM-DD format.
@@ -149,6 +174,7 @@
         "name": "A String", # A displayable name for the election.
       },
     ],
+    "kind": "civicinfo#voterInfoResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#voterInfoResponse".
     "normalizedInput": { # A simple representation of an address. # The normalized version of the requested address
       "city": "A String", # The city or town for the address.
       "zip": "A String", # The US Postal Zip Code of the address.
@@ -218,21 +244,21 @@
       "id": "A String", # The unique ID of this election.
       "name": "A String", # A displayable name for the election.
     },
-    "pollingLocations": [ # Locations where the voter is eligible to vote on election day. For states with mail-in voting only, these locations will be nearby drop box locations. Drop box locations are free to the voter and may be used instead of placing the ballot in the mail.
-      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
-        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
+    "pollingLocations": [ # Locations where the voter is eligible to vote on election day.
+      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
+        "startDate": "A String", # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
         "pollingHours": "A String", # A description of when this location is open.
-        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
-        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
-        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
-        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
+        "endDate": "A String", # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
+        "name": "A String", # The name of the early vote site or drop off location. This field is not populated for polling locations.
+        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use).
+        "voterServices": "A String", # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
         "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
           { # Contains information about the data source for the element containing it.
             "official": True or False, # Whether this data comes from an official government source.
             "name": "A String", # The name of the data source.
           },
         ],
-        "address": { # A simple representation of an address. # The address of the location
+        "address": { # A simple representation of an address. # The address of the location.
           "city": "A String", # The city or town for the address.
           "zip": "A String", # The US Postal Zip Code of the address.
           "line3": "A String", # The third line of the address, if needed.
@@ -244,7 +270,7 @@
         "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
       },
     ],
-    "contests": [ # Contests that will appear on the voter's ballot
+    "contests": [ # Contests that will appear on the voter's ballot.
       { # Information about a contest that appears on a voter's ballot.
         "numberVotingFor": "A String", # The number of candidates that a voter may vote for in this contest.
         "office": "A String", # The name of the office for this contest.
diff --git a/docs/dyn/cloudlatencytest_v2.html b/docs/dyn/cloudlatencytest_v2.html
new file mode 100644
index 0000000..d13e93c
--- /dev/null
+++ b/docs/dyn/cloudlatencytest_v2.html
@@ -0,0 +1,82 @@
+<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="cloudlatencytest_v2.html">Google Cloud Network Performance Monitoring API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="cloudlatencytest_v2.statscollection.html">statscollection()</a></code>
+</p>
+<p class="firstline">Returns the statscollection Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudlatencytest_v2.statscollection.html b/docs/dyn/cloudlatencytest_v2.statscollection.html
new file mode 100644
index 0000000..ee9c717
--- /dev/null
+++ b/docs/dyn/cloudlatencytest_v2.statscollection.html
@@ -0,0 +1,166 @@
+<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="cloudlatencytest_v2.html">Google Cloud Network Performance Monitoring API</a> . <a href="cloudlatencytest_v2.statscollection.html">statscollection</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#updateaggregatedstats">updateaggregatedstats(body)</a></code></p>
+<p class="firstline">RPC to update the new TCP stats.</p>
+<p class="toc_element">
+  <code><a href="#updatestats">updatestats(body)</a></code></p>
+<p class="firstline">RPC to update the new TCP stats.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="updateaggregatedstats">updateaggregatedstats(body)</code>
+  <pre>RPC to update the new TCP stats.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "stats": [
+      {
+          "stringValues": [
+            {
+              "value": "A String",
+              "label": "A String",
+            },
+          ],
+          "intValues": [
+            {
+              "value": "A String",
+              "label": "A String",
+            },
+          ],
+          "doubleValues": [
+            {
+              "value": 3.14,
+              "label": "A String",
+            },
+          ],
+          "time": 3.14,
+        },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "testValue": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updatestats">updatestats(body)</code>
+  <pre>RPC to update the new TCP stats.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "stringValues": [
+      {
+        "value": "A String",
+        "label": "A String",
+      },
+    ],
+    "intValues": [
+      {
+        "value": "A String",
+        "label": "A String",
+      },
+    ],
+    "doubleValues": [
+      {
+        "value": 3.14,
+        "label": "A String",
+      },
+    ],
+    "time": 3.14,
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "testValue": "A String",
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudmonitoring_v2beta2.html b/docs/dyn/cloudmonitoring_v2beta2.html
new file mode 100644
index 0000000..ae338ed
--- /dev/null
+++ b/docs/dyn/cloudmonitoring_v2beta2.html
@@ -0,0 +1,92 @@
+<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="cloudmonitoring_v2beta2.html">Cloud Monitoring API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="cloudmonitoring_v2beta2.metricDescriptors.html">metricDescriptors()</a></code>
+</p>
+<p class="firstline">Returns the metricDescriptors Resource.</p>
+
+<p class="toc_element">
+  <code><a href="cloudmonitoring_v2beta2.timeseries.html">timeseries()</a></code>
+</p>
+<p class="firstline">Returns the timeseries Resource.</p>
+
+<p class="toc_element">
+  <code><a href="cloudmonitoring_v2beta2.timeseriesDescriptors.html">timeseriesDescriptors()</a></code>
+</p>
+<p class="firstline">Returns the timeseriesDescriptors Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudmonitoring_v2beta2.metricDescriptors.html b/docs/dyn/cloudmonitoring_v2beta2.metricDescriptors.html
new file mode 100644
index 0000000..e1398d0
--- /dev/null
+++ b/docs/dyn/cloudmonitoring_v2beta2.metricDescriptors.html
@@ -0,0 +1,202 @@
+<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="cloudmonitoring_v2beta2.html">Cloud Monitoring API</a> . <a href="cloudmonitoring_v2beta2.metricDescriptors.html">metricDescriptors</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(project, body)</a></code></p>
+<p class="firstline">Create a new metric.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, metric)</a></code></p>
+<p class="firstline">Delete an existing metric.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, count=None, pageToken=None, query=None)</a></code></p>
+<p class="firstline">List metric descriptors that match the query. If the query is not set, then all of the metric descriptors will be returned. Large responses will be paginated, use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(project, body)</code>
+  <pre>Create a new metric.
+
+Args:
+  project: string, The project id. The value can be the numeric project ID or string-based project name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A metricDescriptor defines the name, label keys, and data type of a particular metric.
+    "project": "A String", # The project ID to which the metric belongs.
+    "labels": [ # Labels defined for this metric.
+      { # A label in a metric is a description of this metric, including the key of this description (what the description is), and the value for this description.
+        "description": "A String", # Label description.
+        "key": "A String", # Label key.
+      },
+    ],
+    "typeDescriptor": { # A type in a metric contains information about how the metric is collected and what its data points look like. # Type description for this metric.
+      "valueType": "A String", # The type of data that is written to a timeseries point for this metric.
+      "metricType": "A String", # The method of collecting data for the metric.
+    },
+    "description": "A String", # Description of this metric.
+    "name": "A String", # The name of this metric.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A metricDescriptor defines the name, label keys, and data type of a particular metric.
+      "project": "A String", # The project ID to which the metric belongs.
+      "labels": [ # Labels defined for this metric.
+        { # A label in a metric is a description of this metric, including the key of this description (what the description is), and the value for this description.
+          "description": "A String", # Label description.
+          "key": "A String", # Label key.
+        },
+      ],
+      "typeDescriptor": { # A type in a metric contains information about how the metric is collected and what its data points look like. # Type description for this metric.
+        "valueType": "A String", # The type of data that is written to a timeseries point for this metric.
+        "metricType": "A String", # The method of collecting data for the metric.
+      },
+      "description": "A String", # Description of this metric.
+      "name": "A String", # The name of this metric.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, metric)</code>
+  <pre>Delete an existing metric.
+
+Args:
+  project: string, The project ID to which the metric belongs. (required)
+  metric: string, Name of the metric. (required)
+
+Returns:
+  An object of the form:
+
+    { # The response of cloudmonitoring.metricDescriptors.delete.
+    "kind": "cloudmonitoring#deleteMetricDescriptorResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#deleteMetricDescriptorResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, count=None, pageToken=None, query=None)</code>
+  <pre>List metric descriptors that match the query. If the query is not set, then all of the metric descriptors will be returned. Large responses will be paginated, use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.
+
+Args:
+  project: string, The project id. The value can be the numeric project ID or string-based project name. (required)
+  count: integer, Maximum number of metric descriptors per page. Used for pagination. If not specified, count = 100.
+  pageToken: string, The pagination token, which is used to page through large result sets. Set this value to the value of the nextPageToken to retrieve the next page of results.
+  query: string, The query used to search against existing metrics. Separate keywords with a space; the service joins all keywords with AND, meaning that all keywords must match for a metric to be returned. If this field is omitted, all metrics are returned. If an empty string is passed with this field, no metrics are returned.
+
+Returns:
+  An object of the form:
+
+    { # The response of cloudmonitoring.metricDescriptors.list.
+    "metrics": [ # The returned metric descriptors.
+      { # A metricDescriptor defines the name, label keys, and data type of a particular metric.
+          "project": "A String", # The project ID to which the metric belongs.
+          "labels": [ # Labels defined for this metric.
+            { # A label in a metric is a description of this metric, including the key of this description (what the description is), and the value for this description.
+              "description": "A String", # Label description.
+              "key": "A String", # Label key.
+            },
+          ],
+          "typeDescriptor": { # A type in a metric contains information about how the metric is collected and what its data points look like. # Type description for this metric.
+            "valueType": "A String", # The type of data that is written to a timeseries point for this metric.
+            "metricType": "A String", # The method of collecting data for the metric.
+          },
+          "description": "A String", # Description of this metric.
+          "name": "A String", # The name of this metric.
+        },
+    ],
+    "nextPageToken": "A String", # Pagination token. If present, indicates that additional results are available for retrieval. To access the results past the pagination limit, pass this value to the pageToken query parameter.
+    "kind": "cloudmonitoring#listMetricDescriptorsResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#listMetricDescriptorsResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudmonitoring_v2beta2.timeseries.html b/docs/dyn/cloudmonitoring_v2beta2.timeseries.html
new file mode 100644
index 0000000..7b2730f
--- /dev/null
+++ b/docs/dyn/cloudmonitoring_v2beta2.timeseries.html
@@ -0,0 +1,247 @@
+<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="cloudmonitoring_v2beta2.html">Cloud Monitoring API</a> . <a href="cloudmonitoring_v2beta2.timeseries.html">timeseries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project, metric, youngest, count=None, timespan=None, aggregator=None, labels=None, window=None, pageToken=None, oldest=None)</a></code></p>
+<p class="firstline">List the data points of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#write">write(project, body)</a></code></p>
+<p class="firstline">Put data points to one or more time series for one or more metrics. If a time series does not exist, a new time series will be created. It is not allowed to write a time series point that is older than the existing youngest point of that time series. Points that are older than the existing youngest point of that time series will be discarded silently. Therefore, users should make sure that points of a time series are written sequentially in the order of their end time.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(project, metric, youngest, count=None, timespan=None, aggregator=None, labels=None, window=None, pageToken=None, oldest=None)</code>
+  <pre>List the data points of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.
+
+Args:
+  project: string, The project ID to which this time series belongs. The value can be the numeric project ID or string-based project name. (required)
+  metric: string, Metric names are protocol-free URLs as listed in the Supported Metrics page. For example, compute.googleapis.com/instance/disk/read_ops_count. (required)
+  youngest: string, End of the time interval (inclusive), which is expressed as an RFC 3339 timestamp. (required)
+  count: integer, Maximum number of data points per page, which is used for pagination of results.
+  timespan: string, Length of the time interval to query, which is an alternative way to declare the interval: (youngest - timespan, youngest]. The timespan and oldest parameters should not be used together. Units:  
+- s: second 
+- m: minute 
+- h: hour 
+- d: day 
+- w: week  Examples: 2s, 3m, 4w. Only one unit is allowed, for example: 2w3d is not allowed; you should use 17d instead.
+
+If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest].
+  aggregator: string, The aggregation function that will reduce the data points in each window to a single point. This parameter is only valid for non-cumulative metric types.
+    Allowed values
+      max - 
+      mean - 
+      min - 
+      sum - 
+  labels: string, A collection of labels for the matching time series, which are represented as:  
+- key==value: key equals the value 
+- key=~value: key regex matches the value 
+- key!=value: key does not equal the value 
+- key!~value: key regex does not match the value  For example, to list all of the time series descriptors for the region us-central1, you could specify:
+label=cloud.googleapis.com%2Flocation=~us-central1.* (repeated)
+  window: string, The sampling window. At most one data point will be returned for each window in the requested time interval. This parameter is only valid for non-cumulative metric types. Units:  
+- m: minute 
+- h: hour 
+- d: day 
+- w: week  Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is not allowed; you should use 17d instead.
+  pageToken: string, The pagination token, which is used to page through large result sets. Set this value to the value of the nextPageToken to retrieve the next page of results.
+  oldest: string, Start of the time interval (exclusive), which is expressed as an RFC 3339 timestamp. If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest]
+
+Returns:
+  An object of the form:
+
+    { # The response of cloudmonitoring.timeseries.list
+    "nextPageToken": "A String", # Pagination token. If present, indicates that additional results are available for retrieval. To access the results past the pagination limit, set the pageToken query parameter to this value. All of the points of a time series will be returned before returning any point of the subsequent time series.
+    "youngest": "A String", # The youngest timestamp of the interval of this query as an RFC 3339 string.
+    "kind": "cloudmonitoring#listTimeseriesResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#listTimeseriesResponse".
+    "oldest": "A String", # The oldest timestamp of the interval of this query as an RFC 3339 string.
+    "timeseries": [ # The returned time series.
+      { # The monitoring data is organized as metrics and stored as data points that are recorded over time. Each data point represents information like the CPU utilization of your virtual machine. A historical record of these data points is called a time series.
+        "timeseriesDesc": { # TimeseriesDescriptor identifies a single time series. # The descriptor of this time series.
+          "project": "A String", # The Developers Console project number to which this time series belongs.
+          "metric": "A String", # The name of the metric.
+          "labels": { # The label's name.
+            "a_key": "A String", # The label's name.
+          },
+        },
+        "points": [ # The data points of this time series. The points are listed in order of their end timestamp, from younger to older.
+          { # Point is a single point in a time series. It consists of a start time, an end time, and a value.
+            "end": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
+            "doubleValue": 3.14, # The value of this data point as a double-precision floating-point number.
+            "start": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
+            "boolValue": True or False, # The value of this data point. Either "true" or "false".
+            "distributionValue": { # Distribution data point value type. When writing distribution points, try to be consistent with the boundaries of your buckets. If you must modify the bucket boundaries, then do so by merging, partitioning, or appending rather than skewing them. # The value of this data point as a distribution. A distribution value can contain a list of buckets and/or an underflowBucket and an overflowBucket. The values of these points can be used to create a histogram.
+              "buckets": [ # The finite buckets.
+                { # The histogram's bucket. Buckets that form the histogram of a distribution value. If the upper bound of a bucket, say U1, does not equal the lower bound of the next bucket, say L2, this means that there is no event in [U1, L2).
+                  "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+                  "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
+                  "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
+                },
+              ],
+              "underflowBucket": { # The underflow bucket is a special bucket that does not have the lowerBound field; it includes all of the events that are less than its upper bound. # The underflow bucket.
+                "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+                "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
+              },
+              "overflowBucket": { # The overflow bucket is a special bucket that does not have the upperBound field; it includes all of the events that are no less than its lower bound. # The overflow bucket.
+                "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+                "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
+              },
+            },
+            "stringValue": "A String", # The value of this data point in string format.
+            "int64Value": "A String", # The value of this data point as a 64-bit integer.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="write">write(project, body)</code>
+  <pre>Put data points to one or more time series for one or more metrics. If a time series does not exist, a new time series will be created. It is not allowed to write a time series point that is older than the existing youngest point of that time series. Points that are older than the existing youngest point of that time series will be discarded silently. Therefore, users should make sure that points of a time series are written sequentially in the order of their end time.
+
+Args:
+  project: string, The project ID. The value can be the numeric project ID or string-based project name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request of cloudmonitoring.timeseries.write
+    "timeseries": [ # Provide time series specific labels and the data points for each time series. The labels in timeseries and the common_labels should form a complete list of labels that required by the metric.
+      { # When writing time series, TimeseriesPoint should be used instead of Timeseries, to enforce single point for each time series in the timeseries.write request.
+        "timeseriesDesc": { # TimeseriesDescriptor identifies a single time series. # The descriptor of this time series.
+          "project": "A String", # The Developers Console project number to which this time series belongs.
+          "metric": "A String", # The name of the metric.
+          "labels": { # The label's name.
+            "a_key": "A String", # The label's name.
+          },
+        },
+        "point": { # Point is a single point in a time series. It consists of a start time, an end time, and a value. # The data point in this time series snapshot.
+          "end": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
+          "doubleValue": 3.14, # The value of this data point as a double-precision floating-point number.
+          "start": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
+          "boolValue": True or False, # The value of this data point. Either "true" or "false".
+          "distributionValue": { # Distribution data point value type. When writing distribution points, try to be consistent with the boundaries of your buckets. If you must modify the bucket boundaries, then do so by merging, partitioning, or appending rather than skewing them. # The value of this data point as a distribution. A distribution value can contain a list of buckets and/or an underflowBucket and an overflowBucket. The values of these points can be used to create a histogram.
+            "buckets": [ # The finite buckets.
+              { # The histogram's bucket. Buckets that form the histogram of a distribution value. If the upper bound of a bucket, say U1, does not equal the lower bound of the next bucket, say L2, this means that there is no event in [U1, L2).
+                "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+                "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
+                "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
+              },
+            ],
+            "underflowBucket": { # The underflow bucket is a special bucket that does not have the lowerBound field; it includes all of the events that are less than its upper bound. # The underflow bucket.
+              "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+              "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
+            },
+            "overflowBucket": { # The overflow bucket is a special bucket that does not have the upperBound field; it includes all of the events that are no less than its lower bound. # The overflow bucket.
+              "count": "A String", # The number of events whose values are in the interval defined by this bucket.
+              "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
+            },
+          },
+          "stringValue": "A String", # The value of this data point in string format.
+          "int64Value": "A String", # The value of this data point as a 64-bit integer.
+        },
+      },
+    ],
+    "commonLabels": { # The label's name.
+      "a_key": "A String", # The label's name.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The response of cloudmonitoring.timeseries.write
+    "kind": "cloudmonitoring#writeTimeseriesResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#writeTimeseriesResponse".
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudmonitoring_v2beta2.timeseriesDescriptors.html b/docs/dyn/cloudmonitoring_v2beta2.timeseriesDescriptors.html
new file mode 100644
index 0000000..280ecae
--- /dev/null
+++ b/docs/dyn/cloudmonitoring_v2beta2.timeseriesDescriptors.html
@@ -0,0 +1,155 @@
+<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="cloudmonitoring_v2beta2.html">Cloud Monitoring API</a> . <a href="cloudmonitoring_v2beta2.timeseriesDescriptors.html">timeseriesDescriptors</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project, metric, youngest, count=None, timespan=None, aggregator=None, labels=None, window=None, pageToken=None, oldest=None)</a></code></p>
+<p class="firstline">List the descriptors of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(project, metric, youngest, count=None, timespan=None, aggregator=None, labels=None, window=None, pageToken=None, oldest=None)</code>
+  <pre>List the descriptors of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.
+
+Args:
+  project: string, The project ID to which this time series belongs. The value can be the numeric project ID or string-based project name. (required)
+  metric: string, Metric names are protocol-free URLs as listed in the Supported Metrics page. For example, compute.googleapis.com/instance/disk/read_ops_count. (required)
+  youngest: string, End of the time interval (inclusive), which is expressed as an RFC 3339 timestamp. (required)
+  count: integer, Maximum number of time series descriptors per page. Used for pagination. If not specified, count = 100.
+  timespan: string, Length of the time interval to query, which is an alternative way to declare the interval: (youngest - timespan, youngest]. The timespan and oldest parameters should not be used together. Units:  
+- s: second 
+- m: minute 
+- h: hour 
+- d: day 
+- w: week  Examples: 2s, 3m, 4w. Only one unit is allowed, for example: 2w3d is not allowed; you should use 17d instead.
+
+If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest].
+  aggregator: string, The aggregation function that will reduce the data points in each window to a single point. This parameter is only valid for non-cumulative metric types.
+    Allowed values
+      max - 
+      mean - 
+      min - 
+      sum - 
+  labels: string, A collection of labels for the matching time series, which are represented as:  
+- key==value: key equals the value 
+- key=~value: key regex matches the value 
+- key!=value: key does not equal the value 
+- key!~value: key regex does not match the value  For example, to list all of the time series descriptors for the region us-central1, you could specify:
+label=cloud.googleapis.com%2Flocation=~us-central1.* (repeated)
+  window: string, The sampling window. At most one data point will be returned for each window in the requested time interval. This parameter is only valid for non-cumulative metric types. Units:  
+- m: minute 
+- h: hour 
+- d: day 
+- w: week  Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is not allowed; you should use 17d instead.
+  pageToken: string, The pagination token, which is used to page through large result sets. Set this value to the value of the nextPageToken to retrieve the next page of results.
+  oldest: string, Start of the time interval (exclusive), which is expressed as an RFC 3339 timestamp. If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest]
+
+Returns:
+  An object of the form:
+
+    { # The response of cloudmonitoring.timeseriesDescriptors.list
+    "nextPageToken": "A String", # Pagination token. If present, indicates that additional results are available for retrieval. To access the results past the pagination limit, set this value to the pageToken query parameter.
+    "youngest": "A String", # The youngest timestamp of the interval of this query, as an RFC 3339 string.
+    "kind": "cloudmonitoring#listTimeseriesDescriptorsResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#listTimeseriesDescriptorsResponse".
+    "oldest": "A String", # The oldest timestamp of the interval of this query, as an RFC 3339 string.
+    "timeseries": [ # The returned time series descriptors.
+      { # TimeseriesDescriptor identifies a single time series.
+        "project": "A String", # The Developers Console project number to which this time series belongs.
+        "metric": "A String", # The name of the metric.
+        "labels": { # The label's name.
+          "a_key": "A String", # The label's name.
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1.addresses.html b/docs/dyn/compute_v1.addresses.html
index c8b2552..ad6e877 100644
--- a/docs/dyn/compute_v1.addresses.html
+++ b/docs/dyn/compute_v1.addresses.html
@@ -174,19 +174,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -198,23 +198,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -276,19 +276,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -300,23 +300,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -336,7 +336,7 @@
 
     { # Contains a list of address resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The address resources.
+    "items": [ # A list of Address resources.
       { # A reserved address resource.
           "status": "A String", # The status of the address (output only).
           "kind": "compute#address", # Type of the resource.
diff --git a/docs/dyn/compute_v1.backendServices.html b/docs/dyn/compute_v1.backendServices.html
index 0299645..8e3806c 100644
--- a/docs/dyn/compute_v1.backendServices.html
+++ b/docs/dyn/compute_v1.backendServices.html
@@ -111,19 +111,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -135,23 +135,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -268,19 +268,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -292,23 +292,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -327,7 +327,7 @@
 
     { # Contains a list of BackendService resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The BackendService resources.
+    "items": [ # A list of BackendService resources.
       { # A BackendService resource. This resource defines a group of backend VMs together with their serving capacity.
           "kind": "compute#backendService", # Type of the resource.
           "protocol": "A String",
@@ -419,19 +419,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -443,23 +443,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -506,19 +506,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -530,23 +530,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.diskTypes.html b/docs/dyn/compute_v1.diskTypes.html
index 12314df..329e747 100644
--- a/docs/dyn/compute_v1.diskTypes.html
+++ b/docs/dyn/compute_v1.diskTypes.html
@@ -207,7 +207,7 @@
 
     { # Contains a list of disk type resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk type resources.
+    "items": [ # A list of DiskType resources.
       { # A disk type resource.
         "kind": "compute#diskType", # Type of the resource.
         "description": "A String", # An optional textual description of the resource.
diff --git a/docs/dyn/compute_v1.disks.html b/docs/dyn/compute_v1.disks.html
index d053033..b23f53a 100644
--- a/docs/dyn/compute_v1.disks.html
+++ b/docs/dyn/compute_v1.disks.html
@@ -204,19 +204,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -228,23 +228,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -261,19 +261,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -285,23 +285,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -376,19 +376,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -400,23 +400,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -436,7 +436,7 @@
 
     { # Contains a list of persistent disk resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent disk resources.
+    "items": [ # A list of Disk resources.
       { # A persistent disk resource.
           "status": "A String", # The status of disk creation (output only).
           "sourceSnapshot": "A String", # The source snapshot used to create this disk.
diff --git a/docs/dyn/compute_v1.firewalls.html b/docs/dyn/compute_v1.firewalls.html
index 2b94ea8..caa017b 100644
--- a/docs/dyn/compute_v1.firewalls.html
+++ b/docs/dyn/compute_v1.firewalls.html
@@ -108,19 +108,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -132,23 +132,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -236,19 +236,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -260,23 +260,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -295,7 +295,7 @@
 
     { # Contains a list of firewall resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The firewall resources.
+    "items": [ # A list of Firewall resources.
       { # A firewall resource.
           "kind": "compute#firewall", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
@@ -389,19 +389,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -413,23 +413,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -477,19 +477,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -501,23 +501,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.forwardingRules.html b/docs/dyn/compute_v1.forwardingRules.html
index acabb8e..e0992b3 100644
--- a/docs/dyn/compute_v1.forwardingRules.html
+++ b/docs/dyn/compute_v1.forwardingRules.html
@@ -176,19 +176,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -200,23 +200,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -276,19 +276,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -300,23 +300,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -336,7 +336,7 @@
 
     { # Contains a list of ForwardingRule resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The ForwardingRule resources.
+    "items": [ # A list of ForwardingRule resources.
       { # A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
           "kind": "compute#forwardingRule", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
@@ -391,19 +391,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -415,23 +415,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.globalAddresses.html b/docs/dyn/compute_v1.globalAddresses.html
index a857d0e..7277c65 100644
--- a/docs/dyn/compute_v1.globalAddresses.html
+++ b/docs/dyn/compute_v1.globalAddresses.html
@@ -102,19 +102,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -126,23 +126,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -202,19 +202,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -226,23 +226,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -261,7 +261,7 @@
 
     { # Contains a list of address resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The address resources.
+    "items": [ # A list of Address resources.
       { # A reserved address resource.
           "status": "A String", # The status of the address (output only).
           "kind": "compute#address", # Type of the resource.
diff --git a/docs/dyn/compute_v1.globalForwardingRules.html b/docs/dyn/compute_v1.globalForwardingRules.html
index 55ed6c6..d91364a 100644
--- a/docs/dyn/compute_v1.globalForwardingRules.html
+++ b/docs/dyn/compute_v1.globalForwardingRules.html
@@ -105,19 +105,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -129,23 +129,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -203,19 +203,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -227,23 +227,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -262,7 +262,7 @@
 
     { # Contains a list of ForwardingRule resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The ForwardingRule resources.
+    "items": [ # A list of ForwardingRule resources.
       { # A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
           "kind": "compute#forwardingRule", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
@@ -316,19 +316,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -340,23 +340,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.globalOperations.html b/docs/dyn/compute_v1.globalOperations.html
index d5a9f4e..95aebbc 100644
--- a/docs/dyn/compute_v1.globalOperations.html
+++ b/docs/dyn/compute_v1.globalOperations.html
@@ -107,24 +107,24 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": { # A map of scoped operation lists.
-      "a_key": { # Name of the scope containing this set of operations.
-        "operations": [ # List of operations contained in this scope.
+    "nextPageToken": "A String", # [Output Only] A token used to continue a truncated list request.
+    "items": { # [Output Only] A map of scoped operation lists.
+      "a_key": { # [Output Only] Name of the scope containing this set of operations.
+        "operations": [ # [Output Only] List of operations contained in this scope.
           { # An operation resource, used to manage asynchronous API requests.
-            "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-            "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-            "zone": "A String", # URL of the zone where the operation resides (output only).
-            "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-            "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-            "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-            "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-            "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-            "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-            "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-            "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+            "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+            "clientOperationId": "A String",
+            "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+            "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+            "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+            "operationType": "A String",
+            "httpErrorMessage": "A String",
+            "progress": 42,
+            "httpErrorStatusCode": 42,
+            "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+            "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+            "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+            "warnings": [
               {
                 "message": "A String", # Optional human-readable details for this warning.
                 "code": "A String", # The warning type identifier for this warning.
@@ -136,26 +136,26 @@
                 ],
               },
             ],
-            "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-            "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-            "kind": "compute#operation", # Type of the resource.
-            "name": "A String", # Name of the resource (output only).
-            "region": "A String", # URL of the region where the operation resides (output only).
-            "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-              "errors": [ # The array of errors encountered while processing this operation.
+            "user": "A String",
+            "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+            "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+            "name": "A String", # [Output Only] Name of the resource (output only).
+            "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+            "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+              "errors": [ # [Output Only] The array of errors encountered while processing this operation.
                 {
-                  "message": "A String", # An optional, human-readable error message.
-                  "code": "A String", # The error type identifier for this error.
-                  "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+                  "message": "A String", # [Output Only] An optional, human-readable error message.
+                  "code": "A String", # [Output Only] The error type identifier for this error.
+                  "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
                 },
               ],
             },
-            "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-            "selfLink": "A String", # Server defined URL for the resource (output only).
-            "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+            "endTime": "A String",
+            "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+            "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
           },
         ],
-        "warning": { # Informational warning which replaces the list of operations when the list is empty.
+        "warning": { # [Output Only] Informational warning which replaces the list of operations when the list is empty.
           "message": "A String", # Optional human-readable details for this warning.
           "code": "A String", # The warning type identifier for this warning.
           "data": [ # Metadata for this warning in 'key: value' format.
@@ -168,8 +168,8 @@
       },
     },
     "kind": "compute#operationAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Server defined URL for this resource.
   }</pre>
 </div>
 
@@ -209,19 +209,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -233,23 +233,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -267,22 +267,22 @@
   An object of the form:
 
     { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
+    "nextPageToken": "A String", # [Output Only] A token used to continue a truncate.
+    "items": [ # [Output Only] The operation resources.
       { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+        "clientOperationId": "A String",
+        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+        "operationType": "A String",
+        "httpErrorMessage": "A String",
+        "progress": 42,
+        "httpErrorStatusCode": 42,
+        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+        "warnings": [
           {
             "message": "A String", # Optional human-readable details for this warning.
             "code": "A String", # The warning type identifier for this warning.
@@ -294,28 +294,28 @@
             ],
           },
         ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
+        "user": "A String",
+        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+        "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+        "name": "A String", # [Output Only] Name of the resource (output only).
+        "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
             {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+              "message": "A String", # [Output Only] An optional, human-readable error message.
+              "code": "A String", # [Output Only] The error type identifier for this error.
+              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
             },
           ],
         },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+        "endTime": "A String",
+        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
       },
     ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
+    "kind": "compute#operationList", # Type of resource. Always compute#operations for Operations resource.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Server defined URL for this resource.
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.httpHealthChecks.html b/docs/dyn/compute_v1.httpHealthChecks.html
index 277fad6..3103db1 100644
--- a/docs/dyn/compute_v1.httpHealthChecks.html
+++ b/docs/dyn/compute_v1.httpHealthChecks.html
@@ -108,19 +108,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -132,23 +132,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -166,7 +166,7 @@
     { # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
       "kind": "compute#httpHealthCheck", # Type of the resource.
       "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-      "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+      "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.
       "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
       "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
       "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
@@ -192,7 +192,7 @@
 { # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
     "kind": "compute#httpHealthCheck", # Type of the resource.
     "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.
     "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
     "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
     "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
@@ -210,19 +210,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -234,23 +234,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -269,11 +269,11 @@
 
     { # Contains a list of HttpHealthCheck resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The HttpHealthCheck resources.
+    "items": [ # A list of HttpHealthCheck resources.
       { # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
           "kind": "compute#httpHealthCheck", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-          "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+          "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.
           "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
           "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
           "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
@@ -319,7 +319,7 @@
 { # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
     "kind": "compute#httpHealthCheck", # Type of the resource.
     "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.
     "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
     "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
     "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
@@ -337,19 +337,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -361,23 +361,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -394,7 +394,7 @@
 { # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
     "kind": "compute#httpHealthCheck", # Type of the resource.
     "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
-    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.
     "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
     "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
     "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
@@ -412,19 +412,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -436,23 +436,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.images.html b/docs/dyn/compute_v1.images.html
index 5de9129..d22becb 100644
--- a/docs/dyn/compute_v1.images.html
+++ b/docs/dyn/compute_v1.images.html
@@ -105,19 +105,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -129,23 +129,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -172,19 +172,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -196,23 +196,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -302,19 +302,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -326,23 +326,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -361,7 +361,7 @@
 
     { # Contains a list of disk image resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The disk image resources.
+    "items": [ # A list of Image resources.
       { # A disk image resource.
           "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
           "kind": "compute#image", # Type of the resource.
diff --git a/docs/dyn/compute_v1.instanceTemplates.html b/docs/dyn/compute_v1.instanceTemplates.html
index 3aee415..cec70e0 100644
--- a/docs/dyn/compute_v1.instanceTemplates.html
+++ b/docs/dyn/compute_v1.instanceTemplates.html
@@ -102,19 +102,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -126,23 +126,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -184,12 +184,13 @@
             "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
             "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
             "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-            "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-            "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
             "licenses": [ # Public visible licenses.
               "A String",
             ],
+            "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+            "interface": "A String",
             "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+            "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
           },
         ],
         "scheduling": { # Scheduling options for an Instance. # Scheduling options for the instances created based on this template.
@@ -272,12 +273,13 @@
           "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
           "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
           "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
           "licenses": [ # Public visible licenses.
             "A String",
           ],
+          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+          "interface": "A String",
           "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
         },
       ],
       "scheduling": { # Scheduling options for an Instance. # Scheduling options for the instances created based on this template.
@@ -328,19 +330,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -352,23 +354,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -387,7 +389,7 @@
 
     { # Contains a list of instance template resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance template resources.
+    "items": [ # A list of InstanceTemplate resources.
       { # An Instance Template resource.
           "kind": "compute#instanceTemplate", # Type of the resource.
           "description": "A String", # An optional textual description of the instance template resource; provided by the client when the resource is created.
@@ -415,12 +417,13 @@
                 "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
                 "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
                 "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-                "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-                "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
                 "licenses": [ # Public visible licenses.
                   "A String",
                 ],
+                "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+                "interface": "A String",
                 "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+                "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
               },
             ],
             "scheduling": { # Scheduling options for an Instance. # Scheduling options for the instances created based on this template.
diff --git a/docs/dyn/compute_v1.instances.html b/docs/dyn/compute_v1.instances.html
index 1229dfb..15eb1f0 100644
--- a/docs/dyn/compute_v1.instances.html
+++ b/docs/dyn/compute_v1.instances.html
@@ -125,6 +125,12 @@
 <p class="toc_element">
   <code><a href="#setTags">setTags(project, zone, instance, body)</a></code></p>
 <p class="firstline">Sets tags for the specified instance to the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#start">start(project, zone, instance)</a></code></p>
+<p class="firstline">Starts an instance</p>
+<p class="toc_element">
+  <code><a href="#stop">stop(project, zone, instance)</a></code></p>
+<p class="firstline">Stops an instance</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="addAccessConfig">addAccessConfig(project, zone, instance, networkInterface, body)</code>
@@ -150,19 +156,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -174,23 +180,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -237,12 +243,13 @@
                 "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
                 "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
                 "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-                "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-                "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
                 "licenses": [ # Public visible licenses.
                   "A String",
                 ],
+                "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+                "interface": "A String",
                 "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+                "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
               },
             ],
             "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
@@ -345,12 +352,13 @@
   "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
   "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
   "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-  "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-  "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
   "licenses": [ # Public visible licenses.
     "A String",
   ],
+  "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+  "interface": "A String",
   "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+  "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
 }
 
 
@@ -358,19 +366,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -382,23 +390,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -415,19 +423,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -439,23 +447,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -474,19 +482,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -498,23 +506,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -532,19 +540,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -556,23 +564,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -613,12 +621,13 @@
         "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
         "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
         "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
         "licenses": [ # Public visible licenses.
           "A String",
         ],
+        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+        "interface": "A String",
         "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
       },
     ],
     "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
@@ -721,12 +730,13 @@
       "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
       "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
       "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-      "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-      "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
       "licenses": [ # Public visible licenses.
         "A String",
       ],
+      "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+      "interface": "A String",
       "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+      "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
     },
   ],
   "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
@@ -779,19 +789,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -803,23 +813,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -839,7 +849,7 @@
 
     { # Contains a list of instance resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # A list of instance resources.
+    "items": [ # A list of Instance resources.
       { # An instance resource.
         "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
         "kind": "compute#instance", # Type of the resource.
@@ -865,12 +875,13 @@
             "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
             "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
             "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
-            "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
-            "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
             "licenses": [ # Public visible licenses.
               "A String",
             ],
+            "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+            "interface": "A String",
             "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+            "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
           },
         ],
         "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
@@ -951,19 +962,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -975,23 +986,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -1010,19 +1021,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -1034,23 +1045,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -1081,19 +1092,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -1105,23 +1116,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -1146,19 +1157,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -1170,23 +1181,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -1213,19 +1224,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -1237,23 +1248,137 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="start">start(project, zone, instance)</code>
+  <pre>Starts an instance
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance resource to start. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="stop">stop(project, zone, instance)</code>
+  <pre>Stops an instance
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance resource to start. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.machineTypes.html b/docs/dyn/compute_v1.machineTypes.html
index a4dfcfc..1998123 100644
--- a/docs/dyn/compute_v1.machineTypes.html
+++ b/docs/dyn/compute_v1.machineTypes.html
@@ -95,7 +95,7 @@
   <pre>Retrieves the list of machine type resources grouped by scope.
 
 Args:
-  project: string, Name of the project scoping this request. (required)
+  project: string, Project ID for this request. (required)
   maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
   pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
   filter: string, Optional. Filter expression for filtering listed resources.
@@ -104,7 +104,7 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "nextPageToken": "A String", # [Output Only] A token used to continue a truncated list request.
     "items": { # A map of scoped machine type lists.
       "a_key": { # Name of the scope containing this set of machine types.
         "machineTypes": [ # List of machine types contained in this scope.
@@ -114,7 +114,7 @@
             "kind": "compute#machineType", # Type of the resource.
             "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
             "description": "A String", # An optional textual description of the resource.
-            "zone": "A String", # Url of the zone where the machine type resides (output only).
+            "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
             "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
             "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
               "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
@@ -129,13 +129,13 @@
                 "diskGb": 42, # Size of the scratch disk, defined in GB.
               },
             ],
-            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-            "selfLink": "A String", # Server defined URL for the resource (output only).
+            "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+            "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+            "selfLink": "A String", # [Output Only] Server defined URL for the resource.
             "name": "A String", # Name of the resource.
           },
         ],
-        "warning": { # Informational warning which replaces the list of machine types when the list is empty.
+        "warning": { # An informational warning that appears when the machine types list is empty.
           "message": "A String", # Optional human-readable details for this warning.
           "code": "A String", # The warning type identifier for this warning.
           "data": [ # Metadata for this warning in 'key: value' format.
@@ -148,7 +148,7 @@
       },
     },
     "kind": "compute#machineTypeAggregatedList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
     "selfLink": "A String", # Server defined URL for this resource (output only).
   }</pre>
 </div>
@@ -172,7 +172,7 @@
   <pre>Returns the specified machine type resource.
 
 Args:
-  project: string, Name of the project scoping this request. (required)
+  project: string, Project ID for this request. (required)
   zone: string, Name of the zone scoping this request. (required)
   machineType: string, Name of the machine type resource to return. (required)
 
@@ -185,7 +185,7 @@
     "kind": "compute#machineType", # Type of the resource.
     "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
     "description": "A String", # An optional textual description of the resource.
-    "zone": "A String", # Url of the zone where the machine type resides (output only).
+    "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
     "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
     "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
       "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
@@ -200,9 +200,9 @@
         "diskGb": 42, # Size of the scratch disk, defined in GB.
       },
     ],
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
     "name": "A String", # Name of the resource.
   }</pre>
 </div>
@@ -212,7 +212,7 @@
   <pre>Retrieves the list of machine type resources available to the specified project.
 
 Args:
-  project: string, Name of the project scoping this request. (required)
+  project: string, Project ID for this request. (required)
   zone: string, Name of the zone scoping this request. (required)
   maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
   pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
@@ -223,14 +223,14 @@
 
     { # Contains a list of machine type resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The machine type resources.
+    "items": [ # A list of MachineType resources.
       { # A machine type resource.
         "guestCpus": 42, # Count of CPUs exposed to the instance.
         "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
         "kind": "compute#machineType", # Type of the resource.
         "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
         "description": "A String", # An optional textual description of the resource.
-        "zone": "A String", # Url of the zone where the machine type resides (output only).
+        "zone": "A String", # [Output Only] The name of the zone where the machine type resides, such as us-central1-a.
         "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
         "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
           "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
@@ -245,9 +245,9 @@
             "diskGb": 42, # Size of the scratch disk, defined in GB.
           },
         ],
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
         "name": "A String", # Name of the resource.
       },
     ],
diff --git a/docs/dyn/compute_v1.networks.html b/docs/dyn/compute_v1.networks.html
index c2ee093..e272d91 100644
--- a/docs/dyn/compute_v1.networks.html
+++ b/docs/dyn/compute_v1.networks.html
@@ -102,19 +102,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -126,23 +126,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -194,19 +194,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -218,23 +218,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -253,7 +253,7 @@
 
     { # Contains a list of network resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The network resources.
+    "items": [ # A list of Network resources.
       { # A network resource.
           "kind": "compute#network", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
diff --git a/docs/dyn/compute_v1.projects.html b/docs/dyn/compute_v1.projects.html
index 44d7f85..deb7c09 100644
--- a/docs/dyn/compute_v1.projects.html
+++ b/docs/dyn/compute_v1.projects.html
@@ -150,19 +150,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -174,23 +174,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -213,19 +213,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -237,23 +237,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.regionOperations.html b/docs/dyn/compute_v1.regionOperations.html
index e193ed3..8021e7c 100644
--- a/docs/dyn/compute_v1.regionOperations.html
+++ b/docs/dyn/compute_v1.regionOperations.html
@@ -111,19 +111,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -135,23 +135,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -170,22 +170,22 @@
   An object of the form:
 
     { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
+    "nextPageToken": "A String", # [Output Only] A token used to continue a truncate.
+    "items": [ # [Output Only] The operation resources.
       { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+        "clientOperationId": "A String",
+        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+        "operationType": "A String",
+        "httpErrorMessage": "A String",
+        "progress": 42,
+        "httpErrorStatusCode": 42,
+        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+        "warnings": [
           {
             "message": "A String", # Optional human-readable details for this warning.
             "code": "A String", # The warning type identifier for this warning.
@@ -197,28 +197,28 @@
             ],
           },
         ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
+        "user": "A String",
+        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+        "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+        "name": "A String", # [Output Only] Name of the resource (output only).
+        "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
             {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+              "message": "A String", # [Output Only] An optional, human-readable error message.
+              "code": "A String", # [Output Only] The error type identifier for this error.
+              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
             },
           ],
         },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+        "endTime": "A String",
+        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
       },
     ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
+    "kind": "compute#operationList", # Type of resource. Always compute#operations for Operations resource.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Server defined URL for this resource.
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.regions.html b/docs/dyn/compute_v1.regions.html
index cf0ee5a..4ea9798 100644
--- a/docs/dyn/compute_v1.regions.html
+++ b/docs/dyn/compute_v1.regions.html
@@ -138,7 +138,7 @@
 
     { # Contains a list of region resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The region resources.
+    "items": [ # A list of Region resources.
       { # Region resource.
         "status": "A String", # Status of the region, "UP" or "DOWN".
         "kind": "compute#region", # Type of the resource.
diff --git a/docs/dyn/compute_v1.routes.html b/docs/dyn/compute_v1.routes.html
index 1ef258f..8ef48a7 100644
--- a/docs/dyn/compute_v1.routes.html
+++ b/docs/dyn/compute_v1.routes.html
@@ -102,19 +102,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -126,23 +126,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -234,19 +234,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -258,23 +258,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -293,7 +293,7 @@
 
     { # Contains a list of route resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The route resources.
+    "items": [ # A list of Route resources.
       { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
           "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
           "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
diff --git a/docs/dyn/compute_v1.snapshots.html b/docs/dyn/compute_v1.snapshots.html
index 285045c..2b94c56 100644
--- a/docs/dyn/compute_v1.snapshots.html
+++ b/docs/dyn/compute_v1.snapshots.html
@@ -99,19 +99,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -123,23 +123,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -188,7 +188,7 @@
 
     { # Contains a list of persistent disk snapshot resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The persistent snapshot resources.
+    "items": [ # A list of Snapshot resources.
       { # A persistent disk snapshot resource.
           "status": "A String", # The status of the persistent disk snapshot (output only).
           "kind": "compute#snapshot", # Type of the resource.
diff --git a/docs/dyn/compute_v1.targetHttpProxies.html b/docs/dyn/compute_v1.targetHttpProxies.html
index d4ffba1..e6995a6 100644
--- a/docs/dyn/compute_v1.targetHttpProxies.html
+++ b/docs/dyn/compute_v1.targetHttpProxies.html
@@ -105,19 +105,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -129,23 +129,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -195,19 +195,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -219,23 +219,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -254,7 +254,7 @@
 
     { # Contains a list of TargetHttpProxy resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The TargetHttpProxy resources.
+    "items": [ # A list of TargetHttpProxy resources.
       { # A TargetHttpProxy resource. This resource defines an HTTP proxy.
           "kind": "compute#targetHttpProxy", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
@@ -304,19 +304,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -328,23 +328,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.targetInstances.html b/docs/dyn/compute_v1.targetInstances.html
index 37b96bc..9358837 100644
--- a/docs/dyn/compute_v1.targetInstances.html
+++ b/docs/dyn/compute_v1.targetInstances.html
@@ -171,19 +171,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -195,23 +195,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -267,19 +267,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -291,23 +291,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -327,7 +327,7 @@
 
     { # Contains a list of TargetInstance resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The TargetInstance resources.
+    "items": [ # A list of TargetInstance resources.
       { # A TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.
           "kind": "compute#targetInstance", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
diff --git a/docs/dyn/compute_v1.targetPools.html b/docs/dyn/compute_v1.targetPools.html
index 8732108..2d56161 100644
--- a/docs/dyn/compute_v1.targetPools.html
+++ b/docs/dyn/compute_v1.targetPools.html
@@ -138,19 +138,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -162,23 +162,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -206,19 +206,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -230,23 +230,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -340,19 +340,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -364,23 +364,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -498,19 +498,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -522,23 +522,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -558,7 +558,7 @@
 
     { # Contains a list of TargetPool resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The TargetPool resources.
+    "items": [ # A list of TargetPool resources.
       { # A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.
           "failoverRatio": 3.14, # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].
               #
@@ -630,19 +630,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -654,23 +654,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -698,19 +698,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -722,23 +722,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -763,19 +763,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -787,23 +787,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.urlMaps.html b/docs/dyn/compute_v1.urlMaps.html
index 7c52493..543af35 100644
--- a/docs/dyn/compute_v1.urlMaps.html
+++ b/docs/dyn/compute_v1.urlMaps.html
@@ -111,19 +111,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -135,23 +135,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -267,19 +267,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -291,23 +291,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -326,7 +326,7 @@
 
     { # Contains a list of UrlMap resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The UrlMap resources.
+    "items": [ # A list of UrlMap resources.
       { # A UrlMap resource. This resource defines the mapping from URL to the BackendService resource, based on the "longest-match" of the URL's host and path.
           "kind": "compute#urlMap", # Type of the resource.
           "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
@@ -448,19 +448,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -472,23 +472,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -550,19 +550,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -574,23 +574,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.zoneOperations.html b/docs/dyn/compute_v1.zoneOperations.html
index 6adeedf..d829177 100644
--- a/docs/dyn/compute_v1.zoneOperations.html
+++ b/docs/dyn/compute_v1.zoneOperations.html
@@ -111,19 +111,19 @@
   An object of the form:
 
     { # An operation resource, used to manage asynchronous API requests.
-    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "zone": "A String", # URL of the zone where the operation resides (output only).
-    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
       {
         "message": "A String", # Optional human-readable details for this warning.
         "code": "A String", # The warning type identifier for this warning.
@@ -135,23 +135,23 @@
         ],
       },
     ],
-    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-    "kind": "compute#operation", # Type of the resource.
-    "name": "A String", # Name of the resource (output only).
-    "region": "A String", # URL of the region where the operation resides (output only).
-    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-      "errors": [ # The array of errors encountered while processing this operation.
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
         {
-          "message": "A String", # An optional, human-readable error message.
-          "code": "A String", # The error type identifier for this error.
-          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
         },
       ],
     },
-    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-    "selfLink": "A String", # Server defined URL for the resource (output only).
-    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
   }</pre>
 </div>
 
@@ -170,22 +170,22 @@
   An object of the form:
 
     { # Contains a list of operation resources.
-    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The operation resources.
+    "nextPageToken": "A String", # [Output Only] A token used to continue a truncate.
+    "items": [ # [Output Only] The operation resources.
       { # An operation resource, used to manage asynchronous API requests.
-        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
-        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
-        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
-        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-        "zone": "A String", # URL of the zone where the operation resides (output only).
-        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
-        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
-        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
-        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
-        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
-        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
-        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
-        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+        "clientOperationId": "A String",
+        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+        "operationType": "A String",
+        "httpErrorMessage": "A String",
+        "progress": 42,
+        "httpErrorStatusCode": 42,
+        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+        "warnings": [
           {
             "message": "A String", # Optional human-readable details for this warning.
             "code": "A String", # The warning type identifier for this warning.
@@ -197,28 +197,28 @@
             ],
           },
         ],
-        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
-        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
-        "kind": "compute#operation", # Type of the resource.
-        "name": "A String", # Name of the resource (output only).
-        "region": "A String", # URL of the region where the operation resides (output only).
-        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
-          "errors": [ # The array of errors encountered while processing this operation.
+        "user": "A String",
+        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+        "kind": "compute#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+        "name": "A String", # [Output Only] Name of the resource (output only).
+        "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
             {
-              "message": "A String", # An optional, human-readable error message.
-              "code": "A String", # The error type identifier for this error.
-              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+              "message": "A String", # [Output Only] An optional, human-readable error message.
+              "code": "A String", # [Output Only] The error type identifier for this error.
+              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
             },
           ],
         },
-        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
-        "selfLink": "A String", # Server defined URL for the resource (output only).
-        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+        "endTime": "A String",
+        "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
       },
     ],
-    "kind": "compute#operationList", # Type of resource.
-    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
-    "selfLink": "A String", # Server defined URL for this resource (output only).
+    "kind": "compute#operationList", # Type of resource. Always compute#operations for Operations resource.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Server defined URL for this resource.
   }</pre>
 </div>
 
diff --git a/docs/dyn/compute_v1.zones.html b/docs/dyn/compute_v1.zones.html
index 3c7f08d..9803641 100644
--- a/docs/dyn/compute_v1.zones.html
+++ b/docs/dyn/compute_v1.zones.html
@@ -137,7 +137,7 @@
 
     { # Contains a list of zone resources.
     "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
-    "items": [ # The zone resources.
+    "items": [ # A list of Zone resources.
       { # A zone resource.
         "status": "A String", # Status of the zone. "UP" or "DOWN".
         "kind": "compute#zone", # Type of the resource.
diff --git a/docs/dyn/container_v1beta1.html b/docs/dyn/container_v1beta1.html
new file mode 100644
index 0000000..3b6f582
--- /dev/null
+++ b/docs/dyn/container_v1beta1.html
@@ -0,0 +1,82 @@
+<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="container_v1beta1.html">Google Container Engine API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.clusters.html b/docs/dyn/container_v1beta1.projects.clusters.html
new file mode 100644
index 0000000..38ec584
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.clusters.html
@@ -0,0 +1,140 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.clusters.html">clusters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(projectId)</a></code></p>
+<p class="firstline">Lists all clusters owned by a project across all zones.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(projectId)</code>
+  <pre>Lists all clusters owned by a project across all zones.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "clusters": [ # A list of clusters in the project, across all zones.
+      {
+        "status": "A String", # [Output only] The current status of this cluster.
+        "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master. The endpoint can be accessed from the internet at https://username:password@endpoint/.
+            #
+            # See the masterAuth property of this resource for username and password information.
+        "description": "A String", # An optional description of this cluster.
+        "zone": "A String", # [Output only] The name of the Google Compute Engine zone in which the cluster resides.
+        "numNodes": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances plus one (to include the master). You must also have available firewall and routes quota.
+        "nodeRoutingPrefixSize": 42, # [Output only] The size of the address space on each node for hosting containers.
+        "masterAuth": { # The HTTP basic authentication information for accessing the master. Because the master endpoint is open to the internet, you should create a strong password.
+          "password": "A String", # The password to use when accessing the Kubernetes master endpoint.
+          "user": "A String", # The username to use when accessing the Kubernetes master endpoint.
+        },
+        "clusterApiVersion": "A String", # The API version of the Kubernetes master and kubelets running in this cluster. Leave blank to pick up the latest stable release, or specify a version of the form "x.y.z". The Google Container Engine release notes lists the currently supported versions. If an incorrect version is specified, the server returns an error listing the currently supported versions.
+        "network": "A String", # The name of the Google Compute Engine network to which the cluster is connected.
+        "containerIpv4Cidr": "A String", # [Output only] The IP addresses of the container pods in this cluster, in  CIDR notation (e.g. 1.2.3.4/29).
+        "nodeConfig": { # The machine type and image to use for all nodes in this cluster. See the descriptions of the child properties of nodeConfig.
+          "serviceAccounts": [ # The optional list of ServiceAccounts, each with their specified scopes, to be made available on all of the node VMs. In addition to the service accounts and scopes specified, the "default" account will always be created with the following scopes to ensure the correct functioning of the cluster:
+              # - https://www.googleapis.com/auth/compute,
+              # - https://www.googleapis.com/auth/devstorage.read_only
+            { # A Compute Engine service account.
+              "scopes": [ # The list of scopes to be made available for this service account.
+                "A String",
+              ],
+              "email": "A String", # Email address of the service account.
+            },
+          ],
+          "machineType": "A String", # The name of a Google Compute Engine machine type (e.g. n1-standard-1).
+              #
+              # If unspecified, the default machine type is n1-standard-1.
+          "sourceImage": "A String", # The fully-specified name of a Google Compute Engine image. For example: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-vYYYYMMDD (where YYYMMDD is the version date).
+              #
+              # If specifying an image, you are responsible for ensuring its compatibility with the Debian 7 backports image. We recommend leaving this field blank to accept the default backports-debian-7-wheezy value.
+        },
+        "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
+        "servicesIpv4Cidr": "A String", # [Output only] The IP addresses of the Kubernetes services in this cluster, in  CIDR notation (e.g. 1.2.3.4/29). Service addresses are always in the 10.0.0.0/16 range.
+        "creationTimestamp": "A String", # [Output only] The time the cluster was created, in RFC3339 text format.
+        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+        "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions:
+            # - Lowercase letters, numbers, and hyphens only.
+            # - Must start with a letter.
+            # - Must end with a number or a letter.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.html b/docs/dyn/container_v1beta1.projects.html
new file mode 100644
index 0000000..b02370a
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.html
@@ -0,0 +1,92 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.clusters.html">clusters()</a></code>
+</p>
+<p class="firstline">Returns the clusters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.zones.html">zones()</a></code>
+</p>
+<p class="firstline">Returns the zones Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.operations.html b/docs/dyn/container_v1beta1.projects.operations.html
new file mode 100644
index 0000000..3cae5c2
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.operations.html
@@ -0,0 +1,107 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(projectId)</a></code></p>
+<p class="firstline">Lists all operations in a project, across all zones.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(projectId)</code>
+  <pre>Lists all operations in a project, across all zones.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "operations": [ # A list of operations in the project, across all zones.
+      { # Defines the operation resource. All fields are output only.
+        "status": "A String", # The current status of the operation.
+        "name": "A String", # The server-assigned ID for this operation. If the operation is fulfilled upfront, it may not have a resource name.
+        "zone": "A String", # The name of the Google Compute Engine zone in which the operation is taking place.
+        "errorMessage": "A String", # If an error has occurred, a textual description of the error.
+        "targetLink": "A String", # Server-defined URL for the target of the operation.
+        "operationType": "A String", # The operation type.
+        "selfLink": "A String", # Server-defined URL for the resource.
+        "target": "A String", # [Optional] The URL of the cluster resource that this operation is associated with.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
new file mode 100644
index 0000000..50a1aaa
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -0,0 +1,311 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.zones.html">zones</a> . <a href="container_v1beta1.projects.zones.clusters.html">clusters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(projectId, zoneId, body)</a></code></p>
+<p class="firstline">Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master instance.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(projectId, zoneId, clusterId)</a></code></p>
+<p class="firstline">Deletes the cluster, including the Kubernetes master and all worker nodes.</p>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, zoneId, clusterId)</a></code></p>
+<p class="firstline">Gets a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, zoneId)</a></code></p>
+<p class="firstline">Lists all clusters owned by a project in the specified zone.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(projectId, zoneId, body)</code>
+  <pre>Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master instance.
+
+The cluster is created in the project's default network.
+
+A firewall is added that allows traffic into port 443 on the master, which enables HTTPS. A firewall and a route is added for each node to allow the containers on that node to communicate with all other instances in the cluster.
+
+Finally, a route named k8s-iproute-10-xx-0-0 is created to track that the cluster's 10.xx.0.0/16 CIDR has been assigned.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone in which the cluster resides. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "cluster": { # A cluster resource.
+      "status": "A String", # [Output only] The current status of this cluster.
+      "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master. The endpoint can be accessed from the internet at https://username:password@endpoint/.
+          #
+          # See the masterAuth property of this resource for username and password information.
+      "description": "A String", # An optional description of this cluster.
+      "zone": "A String", # [Output only] The name of the Google Compute Engine zone in which the cluster resides.
+      "numNodes": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances plus one (to include the master). You must also have available firewall and routes quota.
+      "nodeRoutingPrefixSize": 42, # [Output only] The size of the address space on each node for hosting containers.
+      "masterAuth": { # The HTTP basic authentication information for accessing the master. Because the master endpoint is open to the internet, you should create a strong password.
+        "password": "A String", # The password to use when accessing the Kubernetes master endpoint.
+        "user": "A String", # The username to use when accessing the Kubernetes master endpoint.
+      },
+      "clusterApiVersion": "A String", # The API version of the Kubernetes master and kubelets running in this cluster. Leave blank to pick up the latest stable release, or specify a version of the form "x.y.z". The Google Container Engine release notes lists the currently supported versions. If an incorrect version is specified, the server returns an error listing the currently supported versions.
+      "network": "A String", # The name of the Google Compute Engine network to which the cluster is connected.
+      "containerIpv4Cidr": "A String", # [Output only] The IP addresses of the container pods in this cluster, in  CIDR notation (e.g. 1.2.3.4/29).
+      "nodeConfig": { # The machine type and image to use for all nodes in this cluster. See the descriptions of the child properties of nodeConfig.
+        "serviceAccounts": [ # The optional list of ServiceAccounts, each with their specified scopes, to be made available on all of the node VMs. In addition to the service accounts and scopes specified, the "default" account will always be created with the following scopes to ensure the correct functioning of the cluster:
+            # - https://www.googleapis.com/auth/compute,
+            # - https://www.googleapis.com/auth/devstorage.read_only
+          { # A Compute Engine service account.
+            "scopes": [ # The list of scopes to be made available for this service account.
+              "A String",
+            ],
+            "email": "A String", # Email address of the service account.
+          },
+        ],
+        "machineType": "A String", # The name of a Google Compute Engine machine type (e.g. n1-standard-1).
+            #
+            # If unspecified, the default machine type is n1-standard-1.
+        "sourceImage": "A String", # The fully-specified name of a Google Compute Engine image. For example: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-vYYYYMMDD (where YYYMMDD is the version date).
+            #
+            # If specifying an image, you are responsible for ensuring its compatibility with the Debian 7 backports image. We recommend leaving this field blank to accept the default backports-debian-7-wheezy value.
+      },
+      "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
+      "servicesIpv4Cidr": "A String", # [Output only] The IP addresses of the Kubernetes services in this cluster, in  CIDR notation (e.g. 1.2.3.4/29). Service addresses are always in the 10.0.0.0/16 range.
+      "creationTimestamp": "A String", # [Output only] The time the cluster was created, in RFC3339 text format.
+      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+      "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions:
+          # - Lowercase letters, numbers, and hyphens only.
+          # - Must start with a letter.
+          # - Must end with a number or a letter.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Defines the operation resource. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "name": "A String", # The server-assigned ID for this operation. If the operation is fulfilled upfront, it may not have a resource name.
+    "zone": "A String", # The name of the Google Compute Engine zone in which the operation is taking place.
+    "errorMessage": "A String", # If an error has occurred, a textual description of the error.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "operationType": "A String", # The operation type.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "target": "A String", # [Optional] The URL of the cluster resource that this operation is associated with.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(projectId, zoneId, clusterId)</code>
+  <pre>Deletes the cluster, including the Kubernetes master and all worker nodes.
+
+Firewalls and routes that were configured at cluster creation are also deleted.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone in which the cluster resides. (required)
+  clusterId: string, The name of the cluster to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # Defines the operation resource. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "name": "A String", # The server-assigned ID for this operation. If the operation is fulfilled upfront, it may not have a resource name.
+    "zone": "A String", # The name of the Google Compute Engine zone in which the operation is taking place.
+    "errorMessage": "A String", # If an error has occurred, a textual description of the error.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "operationType": "A String", # The operation type.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "target": "A String", # [Optional] The URL of the cluster resource that this operation is associated with.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(projectId, zoneId, clusterId)</code>
+  <pre>Gets a specific cluster.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone in which the cluster resides. (required)
+  clusterId: string, The name of the cluster to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # [Output only] The current status of this cluster.
+    "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master. The endpoint can be accessed from the internet at https://username:password@endpoint/.
+        #
+        # See the masterAuth property of this resource for username and password information.
+    "description": "A String", # An optional description of this cluster.
+    "zone": "A String", # [Output only] The name of the Google Compute Engine zone in which the cluster resides.
+    "numNodes": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances plus one (to include the master). You must also have available firewall and routes quota.
+    "nodeRoutingPrefixSize": 42, # [Output only] The size of the address space on each node for hosting containers.
+    "masterAuth": { # The HTTP basic authentication information for accessing the master. Because the master endpoint is open to the internet, you should create a strong password.
+      "password": "A String", # The password to use when accessing the Kubernetes master endpoint.
+      "user": "A String", # The username to use when accessing the Kubernetes master endpoint.
+    },
+    "clusterApiVersion": "A String", # The API version of the Kubernetes master and kubelets running in this cluster. Leave blank to pick up the latest stable release, or specify a version of the form "x.y.z". The Google Container Engine release notes lists the currently supported versions. If an incorrect version is specified, the server returns an error listing the currently supported versions.
+    "network": "A String", # The name of the Google Compute Engine network to which the cluster is connected.
+    "containerIpv4Cidr": "A String", # [Output only] The IP addresses of the container pods in this cluster, in  CIDR notation (e.g. 1.2.3.4/29).
+    "nodeConfig": { # The machine type and image to use for all nodes in this cluster. See the descriptions of the child properties of nodeConfig.
+      "serviceAccounts": [ # The optional list of ServiceAccounts, each with their specified scopes, to be made available on all of the node VMs. In addition to the service accounts and scopes specified, the "default" account will always be created with the following scopes to ensure the correct functioning of the cluster:
+          # - https://www.googleapis.com/auth/compute,
+          # - https://www.googleapis.com/auth/devstorage.read_only
+        { # A Compute Engine service account.
+          "scopes": [ # The list of scopes to be made available for this service account.
+            "A String",
+          ],
+          "email": "A String", # Email address of the service account.
+        },
+      ],
+      "machineType": "A String", # The name of a Google Compute Engine machine type (e.g. n1-standard-1).
+          #
+          # If unspecified, the default machine type is n1-standard-1.
+      "sourceImage": "A String", # The fully-specified name of a Google Compute Engine image. For example: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-vYYYYMMDD (where YYYMMDD is the version date).
+          #
+          # If specifying an image, you are responsible for ensuring its compatibility with the Debian 7 backports image. We recommend leaving this field blank to accept the default backports-debian-7-wheezy value.
+    },
+    "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
+    "servicesIpv4Cidr": "A String", # [Output only] The IP addresses of the Kubernetes services in this cluster, in  CIDR notation (e.g. 1.2.3.4/29). Service addresses are always in the 10.0.0.0/16 range.
+    "creationTimestamp": "A String", # [Output only] The time the cluster was created, in RFC3339 text format.
+    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+    "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions:
+        # - Lowercase letters, numbers, and hyphens only.
+        # - Must start with a letter.
+        # - Must end with a number or a letter.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, zoneId)</code>
+  <pre>Lists all clusters owned by a project in the specified zone.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone in which the cluster resides. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "clusters": [ # A list of clusters in the project in the specified zone.
+      {
+        "status": "A String", # [Output only] The current status of this cluster.
+        "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master. The endpoint can be accessed from the internet at https://username:password@endpoint/.
+            #
+            # See the masterAuth property of this resource for username and password information.
+        "description": "A String", # An optional description of this cluster.
+        "zone": "A String", # [Output only] The name of the Google Compute Engine zone in which the cluster resides.
+        "numNodes": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances plus one (to include the master). You must also have available firewall and routes quota.
+        "nodeRoutingPrefixSize": 42, # [Output only] The size of the address space on each node for hosting containers.
+        "masterAuth": { # The HTTP basic authentication information for accessing the master. Because the master endpoint is open to the internet, you should create a strong password.
+          "password": "A String", # The password to use when accessing the Kubernetes master endpoint.
+          "user": "A String", # The username to use when accessing the Kubernetes master endpoint.
+        },
+        "clusterApiVersion": "A String", # The API version of the Kubernetes master and kubelets running in this cluster. Leave blank to pick up the latest stable release, or specify a version of the form "x.y.z". The Google Container Engine release notes lists the currently supported versions. If an incorrect version is specified, the server returns an error listing the currently supported versions.
+        "network": "A String", # The name of the Google Compute Engine network to which the cluster is connected.
+        "containerIpv4Cidr": "A String", # [Output only] The IP addresses of the container pods in this cluster, in  CIDR notation (e.g. 1.2.3.4/29).
+        "nodeConfig": { # The machine type and image to use for all nodes in this cluster. See the descriptions of the child properties of nodeConfig.
+          "serviceAccounts": [ # The optional list of ServiceAccounts, each with their specified scopes, to be made available on all of the node VMs. In addition to the service accounts and scopes specified, the "default" account will always be created with the following scopes to ensure the correct functioning of the cluster:
+              # - https://www.googleapis.com/auth/compute,
+              # - https://www.googleapis.com/auth/devstorage.read_only
+            { # A Compute Engine service account.
+              "scopes": [ # The list of scopes to be made available for this service account.
+                "A String",
+              ],
+              "email": "A String", # Email address of the service account.
+            },
+          ],
+          "machineType": "A String", # The name of a Google Compute Engine machine type (e.g. n1-standard-1).
+              #
+              # If unspecified, the default machine type is n1-standard-1.
+          "sourceImage": "A String", # The fully-specified name of a Google Compute Engine image. For example: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-vYYYYMMDD (where YYYMMDD is the version date).
+              #
+              # If specifying an image, you are responsible for ensuring its compatibility with the Debian 7 backports image. We recommend leaving this field blank to accept the default backports-debian-7-wheezy value.
+        },
+        "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
+        "servicesIpv4Cidr": "A String", # [Output only] The IP addresses of the Kubernetes services in this cluster, in  CIDR notation (e.g. 1.2.3.4/29). Service addresses are always in the 10.0.0.0/16 range.
+        "creationTimestamp": "A String", # [Output only] The time the cluster was created, in RFC3339 text format.
+        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+        "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions:
+            # - Lowercase letters, numbers, and hyphens only.
+            # - Must start with a letter.
+            # - Must end with a number or a letter.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.zones.html b/docs/dyn/container_v1beta1.projects.zones.html
new file mode 100644
index 0000000..7393494
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.zones.html
@@ -0,0 +1,87 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.zones.html">zones</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.zones.clusters.html">clusters()</a></code>
+</p>
+<p class="firstline">Returns the clusters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="container_v1beta1.projects.zones.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/container_v1beta1.projects.zones.operations.html b/docs/dyn/container_v1beta1.projects.zones.operations.html
new file mode 100644
index 0000000..67871bb
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.zones.operations.html
@@ -0,0 +1,135 @@
+<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="container_v1beta1.html">Google Container Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.zones.html">zones</a> . <a href="container_v1beta1.projects.zones.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, zoneId, operationId)</a></code></p>
+<p class="firstline">Gets the specified operation.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, zoneId)</a></code></p>
+<p class="firstline">Lists all operations in a project in a specific zone.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(projectId, zoneId, operationId)</code>
+  <pre>Gets the specified operation.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone in which the operation resides. This is always the same zone as the cluster with which the operation is associated. (required)
+  operationId: string, The server-assigned name of the operation. (required)
+
+Returns:
+  An object of the form:
+
+    { # Defines the operation resource. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "name": "A String", # The server-assigned ID for this operation. If the operation is fulfilled upfront, it may not have a resource name.
+    "zone": "A String", # The name of the Google Compute Engine zone in which the operation is taking place.
+    "errorMessage": "A String", # If an error has occurred, a textual description of the error.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "operationType": "A String", # The operation type.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "target": "A String", # [Optional] The URL of the cluster resource that this operation is associated with.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, zoneId)</code>
+  <pre>Lists all operations in a project in a specific zone.
+
+Args:
+  projectId: string, The Google Developers Console project ID or  project number. (required)
+  zoneId: string, The name of the Google Compute Engine zone to return operations for. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "operations": [ # A list of operations in the project in the specified zone.
+      { # Defines the operation resource. All fields are output only.
+        "status": "A String", # The current status of the operation.
+        "name": "A String", # The server-assigned ID for this operation. If the operation is fulfilled upfront, it may not have a resource name.
+        "zone": "A String", # The name of the Google Compute Engine zone in which the operation is taking place.
+        "errorMessage": "A String", # If an error has occurred, a textual description of the error.
+        "targetLink": "A String", # Server-defined URL for the target of the operation.
+        "operationType": "A String", # The operation type.
+        "selfLink": "A String", # Server-defined URL for the resource.
+        "target": "A String", # [Optional] The URL of the cluster resource that this operation is associated with.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2.accounts.html b/docs/dyn/content_v2.accounts.html
index 861be92..ca72866 100644
--- a/docs/dyn/content_v2.accounts.html
+++ b/docs/dyn/content_v2.accounts.html
@@ -108,11 +108,11 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the accounts service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch accounts request.
         "batchId": 42, # An entry ID, unique within the batch request.
-        "method": "A String", # The method (get, insert, update, or delete).
-        "account": { # The account to create or update. Only defined if the method is insert or update.
+        "method": "A String",
+        "account": { # Account data. # The account to create or update. Only defined if the method is insert or update.
             "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
             "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
             "name": "A String", # Display name for the account.
@@ -145,10 +145,10 @@
 
     {
     "kind": "content#accountsCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountsCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the accounts service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch accounts response.
         "batchId": 42, # The ID of the request entry this entry responds to.
-        "account": { # The retrieved, created, or updated account. Not defined if the method was delete.
+        "account": { # Account data. # The retrieved, created, or updated account. Not defined if the method was delete.
             "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
             "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
             "name": "A String", # Display name for the account.
@@ -207,7 +207,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Account data.
       "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
       "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
       "name": "A String", # Display name for the account.
@@ -239,7 +239,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Account data.
     "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
     "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
     "name": "A String", # Display name for the account.
@@ -265,7 +265,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Account data.
       "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
       "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
       "name": "A String", # Display name for the account.
@@ -301,10 +301,10 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String",
+    "nextPageToken": "A String", # The token for the retrieval of the next page of accounts.
     "kind": "content#accountsListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountsListResponse".
     "resources": [
-      {
+      { # Account data.
           "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
           "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
           "name": "A String", # Display name for the account.
@@ -353,7 +353,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Account data.
     "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
     "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
     "name": "A String", # Display name for the account.
@@ -379,7 +379,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Account data.
       "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
       "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
       "name": "A String", # Display name for the account.
@@ -412,7 +412,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Account data.
     "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
     "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
     "name": "A String", # Display name for the account.
@@ -438,7 +438,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Account data.
       "reviewsUrl": "A String", # URL for individual seller reviews, i.e., reviews for each child account.
       "kind": "content#account", # Identifies what kind of resource this is. Value: the fixed string "content#account".
       "name": "A String", # Display name for the account.
diff --git a/docs/dyn/content_v2.accountshipping.html b/docs/dyn/content_v2.accountshipping.html
new file mode 100644
index 0000000..d87e434
--- /dev/null
+++ b/docs/dyn/content_v2.accountshipping.html
@@ -0,0 +1,1262 @@
+<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="content_v2.html">Content API for Shopping</a> . <a href="content_v2.accountshipping.html">accountshipping</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#custombatch">custombatch(body)</a></code></p>
+<p class="firstline">Retrieves and updates the shipping settings of multiple accounts in a single request.</p>
+<p class="toc_element">
+  <code><a href="#get">get(merchantId, accountId)</a></code></p>
+<p class="firstline">Retrieves the shipping settings of the account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(merchantId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists the shipping settings of the sub-accounts in your Merchant Center account.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(merchantId, accountId, body)</a></code></p>
+<p class="firstline">Updates the shipping settings of the account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(merchantId, accountId, body)</a></code></p>
+<p class="firstline">Updates the shipping settings of the account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="custombatch">custombatch(body)</code>
+  <pre>Retrieves and updates the shipping settings of multiple accounts in a single request.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch accountshipping request.
+        "batchId": 42, # An entry ID, unique within the batch request.
+        "method": "A String",
+        "accountShipping": { # The shipping settings of a merchant account. # The account shipping settings to update. Only defined if the method is update.
+          "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+          "carrierRates": [ # Carrier-based shipping calculations.
+            { # A carrier-calculated shipping rate.
+              "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+              "name": "A String", # The name of the carrier rate.
+              "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+              "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+              "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+              "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+              "modifierFlatRate": { # Additive shipping rate modifier.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
+          ],
+          "locationGroups": [ # Location groups for shipping.
+            { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+              "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+                { # A postal code range, that can be either:
+                    # - A range of postal codes (e.g., start=12340, end=12359)
+                    # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                  "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                  "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                },
+              ],
+              "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+              "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+                "A String",
+              ],
+              "name": "A String", # The name of the location group.
+              "postalCodes": [ # A postal code representing a city or a set of cities.
+                  # - A single postal code (e.g., 12345)
+                  # - A postal code prefix followed by a star (e.g., 1234*)
+                "A String",
+              ],
+            },
+          ],
+          "services": [ # Shipping services describing shipping fees calculation.
+            { # Shipping services provided in a country.
+              "active": True or False, # Whether the shipping service is available.
+              "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+                  # - The tree root should have no condition and no calculation method.
+                  # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+                  # - The last child of an element must have no condition and matches all elements not previously matched.
+                  # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+                "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+                  "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+                  "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+                  "rateTable": "A String", # Name of the rate table to use for the calculation.
+                  "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+                  "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                },
+                "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+                  "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                  "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                  "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                  "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                      # - A range of postal codes (e.g., start=12340, end=12359)
+                      # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                    "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                    "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                  },
+                  "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                  "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                  "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+                },
+                "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+                  # Object with schema name: AccountShippingShippingServiceCostRule
+                ],
+              },
+              "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+              "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+                "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+                "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+                "rateTable": "A String", # Name of the rate table to use for the calculation.
+                "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+                "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+              },
+              "name": "A String", # The name of this shipping service.
+            },
+          ],
+          "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+          "rateTables": [ # Rate tables definitions.
+            { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+              "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+                {
+                  "rate": { # The rate applicable if the cell conditions are matched.
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                  "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+                    "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                      "value": "A String", # The weight represented as a number.
+                      "unit": "A String", # The weight unit.
+                    },
+                    "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                    "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                    "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                        # - A range of postal codes (e.g., start=12340, end=12359)
+                        # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                      "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                      "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                    },
+                    "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                      "currency": "A String", # The currency of the price.
+                      "value": "A String", # The price represented as a number.
+                    },
+                    "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                    "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+                  },
+                },
+              ],
+              "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+              "name": "A String", # The name of the rate table.
+            },
+          ],
+        },
+        "merchantId": "A String", # The ID of the managing account.
+        "accountId": "A String", # The ID of the account for which to get/update account shipping settings.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "content#accountshippingCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountshippingCustomBatchResponse".
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch accountshipping response.
+        "batchId": 42, # The ID of the request entry this entry responds to.
+        "kind": "content#accountshippingCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#accountshippingCustomBatchResponseEntry".
+        "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
+          "message": "A String", # The message of the first error in errors.
+          "code": 42, # The HTTP status of the first error in errors.
+          "errors": [ # A list of errors.
+            { # An error returned by the API.
+              "reason": "A String", # The error code.
+              "domain": "A String", # The domain of the error.
+              "message": "A String", # A description of the error.
+            },
+          ],
+        },
+        "accountShipping": { # The shipping settings of a merchant account. # The retrieved or updated account shipping settings.
+          "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+          "carrierRates": [ # Carrier-based shipping calculations.
+            { # A carrier-calculated shipping rate.
+              "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+              "name": "A String", # The name of the carrier rate.
+              "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+              "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+              "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+              "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+              "modifierFlatRate": { # Additive shipping rate modifier.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
+          ],
+          "locationGroups": [ # Location groups for shipping.
+            { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+              "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+                { # A postal code range, that can be either:
+                    # - A range of postal codes (e.g., start=12340, end=12359)
+                    # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                  "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                  "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                },
+              ],
+              "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+              "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+                "A String",
+              ],
+              "name": "A String", # The name of the location group.
+              "postalCodes": [ # A postal code representing a city or a set of cities.
+                  # - A single postal code (e.g., 12345)
+                  # - A postal code prefix followed by a star (e.g., 1234*)
+                "A String",
+              ],
+            },
+          ],
+          "services": [ # Shipping services describing shipping fees calculation.
+            { # Shipping services provided in a country.
+              "active": True or False, # Whether the shipping service is available.
+              "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+                  # - The tree root should have no condition and no calculation method.
+                  # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+                  # - The last child of an element must have no condition and matches all elements not previously matched.
+                  # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+                "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+                  "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+                  "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+                  "rateTable": "A String", # Name of the rate table to use for the calculation.
+                  "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+                  "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                },
+                "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+                  "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                  "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                  "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                  "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                      # - A range of postal codes (e.g., start=12340, end=12359)
+                      # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                    "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                    "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                  },
+                  "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                  "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                  "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+                },
+                "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+                  # Object with schema name: AccountShippingShippingServiceCostRule
+                ],
+              },
+              "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+              "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+                "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+                "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+                "rateTable": "A String", # Name of the rate table to use for the calculation.
+                "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+                "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+              },
+              "name": "A String", # The name of this shipping service.
+            },
+          ],
+          "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+          "rateTables": [ # Rate tables definitions.
+            { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+              "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+                {
+                  "rate": { # The rate applicable if the cell conditions are matched.
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                  "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+                    "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                      "value": "A String", # The weight represented as a number.
+                      "unit": "A String", # The weight unit.
+                    },
+                    "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                    "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                    "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                        # - A range of postal codes (e.g., start=12340, end=12359)
+                        # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                      "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                      "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                    },
+                    "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                      "currency": "A String", # The currency of the price.
+                      "value": "A String", # The price represented as a number.
+                    },
+                    "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                    "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+                  },
+                },
+              ],
+              "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+              "name": "A String", # The name of the rate table.
+            },
+          ],
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(merchantId, accountId)</code>
+  <pre>Retrieves the shipping settings of the account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account shipping settings. (required)
+
+Returns:
+  An object of the form:
+
+    { # The shipping settings of a merchant account.
+    "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+    "carrierRates": [ # Carrier-based shipping calculations.
+      { # A carrier-calculated shipping rate.
+        "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+        "name": "A String", # The name of the carrier rate.
+        "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+        "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+        "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+        "modifierFlatRate": { # Additive shipping rate modifier.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
+      },
+    ],
+    "locationGroups": [ # Location groups for shipping.
+      { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+        "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+          { # A postal code range, that can be either:
+              # - A range of postal codes (e.g., start=12340, end=12359)
+              # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+            "start": "A String", # The first (inclusive) postal code or prefix of the range.
+            "end": "A String", # The last (inclusive) postal code or prefix of the range.
+          },
+        ],
+        "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+        "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+          "A String",
+        ],
+        "name": "A String", # The name of the location group.
+        "postalCodes": [ # A postal code representing a city or a set of cities.
+            # - A single postal code (e.g., 12345)
+            # - A postal code prefix followed by a star (e.g., 1234*)
+          "A String",
+        ],
+      },
+    ],
+    "services": [ # Shipping services describing shipping fees calculation.
+      { # Shipping services provided in a country.
+        "active": True or False, # Whether the shipping service is available.
+        "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+            # - The tree root should have no condition and no calculation method.
+            # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+            # - The last child of an element must have no condition and matches all elements not previously matched.
+            # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+          "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+            "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+            "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+            "rateTable": "A String", # Name of the rate table to use for the calculation.
+            "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+            "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+          },
+          "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+            "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+              "value": "A String", # The weight represented as a number.
+              "unit": "A String", # The weight unit.
+            },
+            "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+            "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+            "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                # - A range of postal codes (e.g., start=12340, end=12359)
+                # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+              "start": "A String", # The first (inclusive) postal code or prefix of the range.
+              "end": "A String", # The last (inclusive) postal code or prefix of the range.
+            },
+            "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+            "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+          },
+          "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+            # Object with schema name: AccountShippingShippingServiceCostRule
+          ],
+        },
+        "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+        "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+          "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+          "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+          "rateTable": "A String", # Name of the rate table to use for the calculation.
+          "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+          "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+        },
+        "name": "A String", # The name of this shipping service.
+      },
+    ],
+    "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+    "rateTables": [ # Rate tables definitions.
+      { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+        "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+          {
+            "rate": { # The rate applicable if the cell conditions are matched.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+              "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                "value": "A String", # The weight represented as a number.
+                "unit": "A String", # The weight unit.
+              },
+              "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+              "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+              "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                  # - A range of postal codes (e.g., start=12340, end=12359)
+                  # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                "end": "A String", # The last (inclusive) postal code or prefix of the range.
+              },
+              "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+              "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+              "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+            },
+          },
+        ],
+        "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "name": "A String", # The name of the rate table.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
+  <pre>Lists the shipping settings of the sub-accounts in your Merchant Center account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of shipping settings to return in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The token for the retrieval of the next page of account shipping settings.
+    "kind": "content#accountshippingListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountshippingListResponse".
+    "resources": [
+      { # The shipping settings of a merchant account.
+        "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+        "carrierRates": [ # Carrier-based shipping calculations.
+          { # A carrier-calculated shipping rate.
+            "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+            "name": "A String", # The name of the carrier rate.
+            "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+            "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+            "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+            "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+            "modifierFlatRate": { # Additive shipping rate modifier.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+          },
+        ],
+        "locationGroups": [ # Location groups for shipping.
+          { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+            "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+              { # A postal code range, that can be either:
+                  # - A range of postal codes (e.g., start=12340, end=12359)
+                  # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                "end": "A String", # The last (inclusive) postal code or prefix of the range.
+              },
+            ],
+            "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+            "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+              "A String",
+            ],
+            "name": "A String", # The name of the location group.
+            "postalCodes": [ # A postal code representing a city or a set of cities.
+                # - A single postal code (e.g., 12345)
+                # - A postal code prefix followed by a star (e.g., 1234*)
+              "A String",
+            ],
+          },
+        ],
+        "services": [ # Shipping services describing shipping fees calculation.
+          { # Shipping services provided in a country.
+            "active": True or False, # Whether the shipping service is available.
+            "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+                # - The tree root should have no condition and no calculation method.
+                # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+                # - The last child of an element must have no condition and matches all elements not previously matched.
+                # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+              "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+                "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+                "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+                "rateTable": "A String", # Name of the rate table to use for the calculation.
+                "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+                "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+              },
+              "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+                "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                  "value": "A String", # The weight represented as a number.
+                  "unit": "A String", # The weight unit.
+                },
+                "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                    # - A range of postal codes (e.g., start=12340, end=12359)
+                    # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                  "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                  "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                },
+                "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+                "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+              },
+              "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+                # Object with schema name: AccountShippingShippingServiceCostRule
+              ],
+            },
+            "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+            "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+              "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+              "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+              "rateTable": "A String", # Name of the rate table to use for the calculation.
+              "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+              "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
+            "name": "A String", # The name of this shipping service.
+          },
+        ],
+        "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+        "rateTables": [ # Rate tables definitions.
+          { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+            "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+              {
+                "rate": { # The rate applicable if the cell conditions are matched.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+                "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+                  "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                  "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+                  "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+                  "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                      # - A range of postal codes (e.g., start=12340, end=12359)
+                      # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                    "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                    "end": "A String", # The last (inclusive) postal code or prefix of the range.
+                  },
+                  "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                  "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+                  "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+                },
+              },
+            ],
+            "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+            "name": "A String", # The name of the rate table.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(merchantId, accountId, body)</code>
+  <pre>Updates the shipping settings of the account. This method supports patch semantics.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account shipping settings. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The shipping settings of a merchant account.
+  "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+  "carrierRates": [ # Carrier-based shipping calculations.
+    { # A carrier-calculated shipping rate.
+      "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+      "name": "A String", # The name of the carrier rate.
+      "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+      "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+      "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+      "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+      "modifierFlatRate": { # Additive shipping rate modifier.
+        "currency": "A String", # The currency of the price.
+        "value": "A String", # The price represented as a number.
+      },
+    },
+  ],
+  "locationGroups": [ # Location groups for shipping.
+    { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+      "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+        { # A postal code range, that can be either:
+            # - A range of postal codes (e.g., start=12340, end=12359)
+            # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+          "start": "A String", # The first (inclusive) postal code or prefix of the range.
+          "end": "A String", # The last (inclusive) postal code or prefix of the range.
+        },
+      ],
+      "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+      "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+        "A String",
+      ],
+      "name": "A String", # The name of the location group.
+      "postalCodes": [ # A postal code representing a city or a set of cities.
+          # - A single postal code (e.g., 12345)
+          # - A postal code prefix followed by a star (e.g., 1234*)
+        "A String",
+      ],
+    },
+  ],
+  "services": [ # Shipping services describing shipping fees calculation.
+    { # Shipping services provided in a country.
+      "active": True or False, # Whether the shipping service is available.
+      "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+          # - The tree root should have no condition and no calculation method.
+          # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+          # - The last child of an element must have no condition and matches all elements not previously matched.
+          # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+        "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+          "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+          "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+          "rateTable": "A String", # Name of the rate table to use for the calculation.
+          "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+          "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+        },
+        "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+          "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+            "value": "A String", # The weight represented as a number.
+            "unit": "A String", # The weight unit.
+          },
+          "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+          "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+          "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+              # - A range of postal codes (e.g., start=12340, end=12359)
+              # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+            "start": "A String", # The first (inclusive) postal code or prefix of the range.
+            "end": "A String", # The last (inclusive) postal code or prefix of the range.
+          },
+          "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+          "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+          "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+        },
+        "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+          # Object with schema name: AccountShippingShippingServiceCostRule
+        ],
+      },
+      "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+      "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+        "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+        "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+        "rateTable": "A String", # Name of the rate table to use for the calculation.
+        "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+        "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
+      },
+      "name": "A String", # The name of this shipping service.
+    },
+  ],
+  "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+  "rateTables": [ # Rate tables definitions.
+    { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+      "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+        {
+          "rate": { # The rate applicable if the cell conditions are matched.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+          "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+            "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+              "value": "A String", # The weight represented as a number.
+              "unit": "A String", # The weight unit.
+            },
+            "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+            "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+            "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                # - A range of postal codes (e.g., start=12340, end=12359)
+                # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+              "start": "A String", # The first (inclusive) postal code or prefix of the range.
+              "end": "A String", # The last (inclusive) postal code or prefix of the range.
+            },
+            "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+            "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+          },
+        },
+      ],
+      "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+      "name": "A String", # The name of the rate table.
+    },
+  ],
+}
+
+
+Returns:
+  An object of the form:
+
+    { # The shipping settings of a merchant account.
+    "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+    "carrierRates": [ # Carrier-based shipping calculations.
+      { # A carrier-calculated shipping rate.
+        "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+        "name": "A String", # The name of the carrier rate.
+        "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+        "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+        "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+        "modifierFlatRate": { # Additive shipping rate modifier.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
+      },
+    ],
+    "locationGroups": [ # Location groups for shipping.
+      { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+        "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+          { # A postal code range, that can be either:
+              # - A range of postal codes (e.g., start=12340, end=12359)
+              # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+            "start": "A String", # The first (inclusive) postal code or prefix of the range.
+            "end": "A String", # The last (inclusive) postal code or prefix of the range.
+          },
+        ],
+        "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+        "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+          "A String",
+        ],
+        "name": "A String", # The name of the location group.
+        "postalCodes": [ # A postal code representing a city or a set of cities.
+            # - A single postal code (e.g., 12345)
+            # - A postal code prefix followed by a star (e.g., 1234*)
+          "A String",
+        ],
+      },
+    ],
+    "services": [ # Shipping services describing shipping fees calculation.
+      { # Shipping services provided in a country.
+        "active": True or False, # Whether the shipping service is available.
+        "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+            # - The tree root should have no condition and no calculation method.
+            # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+            # - The last child of an element must have no condition and matches all elements not previously matched.
+            # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+          "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+            "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+            "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+            "rateTable": "A String", # Name of the rate table to use for the calculation.
+            "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+            "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+          },
+          "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+            "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+              "value": "A String", # The weight represented as a number.
+              "unit": "A String", # The weight unit.
+            },
+            "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+            "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+            "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                # - A range of postal codes (e.g., start=12340, end=12359)
+                # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+              "start": "A String", # The first (inclusive) postal code or prefix of the range.
+              "end": "A String", # The last (inclusive) postal code or prefix of the range.
+            },
+            "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+            "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+          },
+          "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+            # Object with schema name: AccountShippingShippingServiceCostRule
+          ],
+        },
+        "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+        "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+          "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+          "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+          "rateTable": "A String", # Name of the rate table to use for the calculation.
+          "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+          "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+        },
+        "name": "A String", # The name of this shipping service.
+      },
+    ],
+    "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+    "rateTables": [ # Rate tables definitions.
+      { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+        "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+          {
+            "rate": { # The rate applicable if the cell conditions are matched.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+              "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                "value": "A String", # The weight represented as a number.
+                "unit": "A String", # The weight unit.
+              },
+              "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+              "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+              "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                  # - A range of postal codes (e.g., start=12340, end=12359)
+                  # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                "end": "A String", # The last (inclusive) postal code or prefix of the range.
+              },
+              "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+              "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+              "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+            },
+          },
+        ],
+        "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "name": "A String", # The name of the rate table.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(merchantId, accountId, body)</code>
+  <pre>Updates the shipping settings of the account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account shipping settings. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The shipping settings of a merchant account.
+  "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+  "carrierRates": [ # Carrier-based shipping calculations.
+    { # A carrier-calculated shipping rate.
+      "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+      "name": "A String", # The name of the carrier rate.
+      "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+      "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+      "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+      "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+      "modifierFlatRate": { # Additive shipping rate modifier.
+        "currency": "A String", # The currency of the price.
+        "value": "A String", # The price represented as a number.
+      },
+    },
+  ],
+  "locationGroups": [ # Location groups for shipping.
+    { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+      "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+        { # A postal code range, that can be either:
+            # - A range of postal codes (e.g., start=12340, end=12359)
+            # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+          "start": "A String", # The first (inclusive) postal code or prefix of the range.
+          "end": "A String", # The last (inclusive) postal code or prefix of the range.
+        },
+      ],
+      "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+      "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+        "A String",
+      ],
+      "name": "A String", # The name of the location group.
+      "postalCodes": [ # A postal code representing a city or a set of cities.
+          # - A single postal code (e.g., 12345)
+          # - A postal code prefix followed by a star (e.g., 1234*)
+        "A String",
+      ],
+    },
+  ],
+  "services": [ # Shipping services describing shipping fees calculation.
+    { # Shipping services provided in a country.
+      "active": True or False, # Whether the shipping service is available.
+      "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+          # - The tree root should have no condition and no calculation method.
+          # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+          # - The last child of an element must have no condition and matches all elements not previously matched.
+          # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+        "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+          "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+          "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+          "rateTable": "A String", # Name of the rate table to use for the calculation.
+          "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+          "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+        },
+        "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+          "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+            "value": "A String", # The weight represented as a number.
+            "unit": "A String", # The weight unit.
+          },
+          "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+          "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+          "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+              # - A range of postal codes (e.g., start=12340, end=12359)
+              # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+            "start": "A String", # The first (inclusive) postal code or prefix of the range.
+            "end": "A String", # The last (inclusive) postal code or prefix of the range.
+          },
+          "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+          "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+          "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+        },
+        "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+          # Object with schema name: AccountShippingShippingServiceCostRule
+        ],
+      },
+      "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+      "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+        "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+        "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+        "rateTable": "A String", # Name of the rate table to use for the calculation.
+        "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+        "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
+      },
+      "name": "A String", # The name of this shipping service.
+    },
+  ],
+  "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+  "rateTables": [ # Rate tables definitions.
+    { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+      "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+        {
+          "rate": { # The rate applicable if the cell conditions are matched.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+          "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+            "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+              "value": "A String", # The weight represented as a number.
+              "unit": "A String", # The weight unit.
+            },
+            "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+            "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+            "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                # - A range of postal codes (e.g., start=12340, end=12359)
+                # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+              "start": "A String", # The first (inclusive) postal code or prefix of the range.
+              "end": "A String", # The last (inclusive) postal code or prefix of the range.
+            },
+            "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+            "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+          },
+        },
+      ],
+      "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+      "name": "A String", # The name of the rate table.
+    },
+  ],
+}
+
+
+Returns:
+  An object of the form:
+
+    { # The shipping settings of a merchant account.
+    "kind": "content#accountShipping", # Identifies what kind of resource this is. Value: the fixed string "content#accountShipping".
+    "carrierRates": [ # Carrier-based shipping calculations.
+      { # A carrier-calculated shipping rate.
+        "shippingOrigin": "A String", # Shipping origin represented as a postal code.
+        "name": "A String", # The name of the carrier rate.
+        "saleCountry": "A String", # Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "modifierPercent": "A String", # Multiplicative shipping rate modifier in percent. Represented as a floating point number without the percentage character.
+        "carrier": "A String", # The carrier that is responsible for the shipping, such as "UPS", "FedEx", or "USPS".
+        "carrierService": "A String", # The carrier service, such as "Ground" or "2Day".
+        "modifierFlatRate": { # Additive shipping rate modifier.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
+      },
+    ],
+    "locationGroups": [ # Location groups for shipping.
+      { # A user-defined locations group in a given country. All the locations of the group must be of the same type.
+        "postalCodeRanges": [ # A postal code range representing a city or a set of cities.
+          { # A postal code range, that can be either:
+              # - A range of postal codes (e.g., start=12340, end=12359)
+              # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+            "start": "A String", # The first (inclusive) postal code or prefix of the range.
+            "end": "A String", # The last (inclusive) postal code or prefix of the range.
+          },
+        ],
+        "country": "A String", # The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.
+        "locationIds": [ # A location ID (also called criteria ID) representing administrative areas, smaller country subdivisions (counties), or cities.
+          "A String",
+        ],
+        "name": "A String", # The name of the location group.
+        "postalCodes": [ # A postal code representing a city or a set of cities.
+            # - A single postal code (e.g., 12345)
+            # - A postal code prefix followed by a star (e.g., 1234*)
+          "A String",
+        ],
+      },
+    ],
+    "services": [ # Shipping services describing shipping fees calculation.
+      { # Shipping services provided in a country.
+        "active": True or False, # Whether the shipping service is available.
+        "costRuleTree": { # Building block of the cost calculation decision tree. # Decision tree for "complicated" shipping cost calculation.
+            # - The tree root should have no condition and no calculation method.
+            # - All the children must have a condition on the same dimension. The first child matching a condition is entered, therefore, price and weight conditions form contiguous intervals.
+            # - The last child of an element must have no condition and matches all elements not previously matched.
+            # - Children and calculation method are mutually exclusive, and exactly one of them must be defined; the root must only have children.
+          "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Final calculation method to be used only in leaf nodes.
+            "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+            "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+            "rateTable": "A String", # Name of the rate table to use for the calculation.
+            "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+            "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+          },
+          "condition": { # Condition for this rule to be applicable. If no condition is specified, the rule acts as a catch-all.
+            "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+              "value": "A String", # The weight represented as a number.
+              "unit": "A String", # The weight unit.
+            },
+            "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+            "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+            "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                # - A range of postal codes (e.g., start=12340, end=12359)
+                # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+              "start": "A String", # The first (inclusive) postal code or prefix of the range.
+              "end": "A String", # The last (inclusive) postal code or prefix of the range.
+            },
+            "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+            "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+          },
+          "children": [ # Subsequent rules to be applied, only for inner nodes. The last child must not specify a condition and acts as a catch-all.
+            # Object with schema name: AccountShippingShippingServiceCostRule
+          ],
+        },
+        "saleCountry": "A String", # Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.
+        "calculationMethod": { # Shipping cost calculation method. Exactly one of the field is set. # Calculation method for the "simple" case that needs no rules.
+          "percentageRate": "A String", # Percentage of the price, represented as a floating point number without the percentage character.
+          "carrierRate": "A String", # Name of the carrier rate to use for the calculation.
+          "rateTable": "A String", # Name of the rate table to use for the calculation.
+          "excluded": True or False, # Delivery is excluded. Valid only within cost rules tree.
+          "flatRate": { # Fixed price shipping, represented as a floating point number associated with a currency.
+            "currency": "A String", # The currency of the price.
+            "value": "A String", # The price represented as a number.
+          },
+        },
+        "name": "A String", # The name of this shipping service.
+      },
+    ],
+    "accountId": "A String", # The ID of the account to which these account shipping settings belong.
+    "rateTables": [ # Rate tables definitions.
+      { # A single or bi-dimensional table of shipping rates. Each dimension is defined in terms of consecutive price/weight ranges, delivery locations, or shipping labels.
+        "content": [ # One-dimensional table cells define one condition along the same dimension. Bi-dimensional table cells use two dimensions with respectively M and N distinct values and must contain exactly M * N cells with distinct conditions (for each possible value pairs).
+          {
+            "rate": { # The rate applicable if the cell conditions are matched.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
+            "condition": { # Conditions for which the cell is valid. All cells in a table must use the same dimension or pair of dimensions among price, weight, shipping label or delivery location. If no condition is specified, the cell acts as a catch-all and matches all the elements that are not matched by other cells in this dimension.
+              "weightMax": { # Maximum shipping weight. Forms an interval between the maximum of smaller weight (exclusive) and this weight (inclusive).
+                "value": "A String", # The weight represented as a number.
+                "unit": "A String", # The weight unit.
+              },
+              "deliveryLocationId": "A String", # Delivery location in terms of a location ID. Can be used to represent administrative areas, smaller country subdivisions, or cities.
+              "deliveryPostalCode": "A String", # Delivery location in terms of a postal code.
+              "deliveryPostalCodeRange": { # A postal code range, that can be either: # Delivery location in terms of a postal code range.
+                  # - A range of postal codes (e.g., start=12340, end=12359)
+                  # - A range of postal codes prefixes (e.g., start=1234* end=1235*). Prefixes must be of the same length (e.g., start=12* end=2* is invalid).
+                "start": "A String", # The first (inclusive) postal code or prefix of the range.
+                "end": "A String", # The last (inclusive) postal code or prefix of the range.
+              },
+              "priceMax": { # Maximum shipping price. Forms an interval between the maximum of smaller prices (exclusive) and this price (inclusive).
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+              "shippingLabel": "A String", # Shipping label of the product. The products with the label are matched.
+              "deliveryLocationGroup": "A String", # Delivery location in terms of a location group name. A location group with this name must be specified among location groups.
+            },
+          },
+        ],
+        "saleCountry": "A String", # Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.
+        "name": "A String", # The name of the rate table.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2.accountstatuses.html b/docs/dyn/content_v2.accountstatuses.html
index c48eed3..c8d2ad1 100644
--- a/docs/dyn/content_v2.accountstatuses.html
+++ b/docs/dyn/content_v2.accountstatuses.html
@@ -96,8 +96,8 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the accountstatuses service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch accountstatuses request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "method": "A String", # The method (get).
         "merchantId": "A String", # The ID of the managing account.
@@ -112,8 +112,8 @@
 
     {
     "kind": "content#accountstatusesCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountstatusesCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the accountstatuses service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch accountstatuses response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
           "message": "A String", # The message of the first error in errors.
@@ -205,7 +205,7 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String",
+    "nextPageToken": "A String", # The token for the retrieval of the next page of account statuses.
     "kind": "content#accountstatusesListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accountstatusesListResponse".
     "resources": [
       { # The status of an account, i.e., information about its products, which is computed offline and not returned immediately at insertion time.
diff --git a/docs/dyn/content_v2.accounttax.html b/docs/dyn/content_v2.accounttax.html
new file mode 100644
index 0000000..80181cb
--- /dev/null
+++ b/docs/dyn/content_v2.accounttax.html
@@ -0,0 +1,326 @@
+<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="content_v2.html">Content API for Shopping</a> . <a href="content_v2.accounttax.html">accounttax</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#custombatch">custombatch(body)</a></code></p>
+<p class="firstline">Retrieves and updates tax settings of multiple accounts in a single request.</p>
+<p class="toc_element">
+  <code><a href="#get">get(merchantId, accountId)</a></code></p>
+<p class="firstline">Retrieves the tax settings of the account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(merchantId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists the tax settings of the sub-accounts in your Merchant Center account.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(merchantId, accountId, body)</a></code></p>
+<p class="firstline">Updates the tax settings of the account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(merchantId, accountId, body)</a></code></p>
+<p class="firstline">Updates the tax settings of the account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="custombatch">custombatch(body)</code>
+  <pre>Retrieves and updates tax settings of multiple accounts in a single request.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch accounttax request.
+        "batchId": 42, # An entry ID, unique within the batch request.
+        "method": "A String",
+        "accountTax": { # The tax settings of a merchant account. # The account tax settings to update. Only defined if the method is update.
+          "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+            { # Tax calculation rule to apply in a state or province (USA only).
+              "country": "A String", # Country code in which tax is applicable.
+              "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+              "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+              "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+              "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+            },
+          ],
+          "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+          "accountId": "A String", # The ID of the account to which these account tax settings belong.
+        },
+        "merchantId": "A String", # The ID of the managing account.
+        "accountId": "A String", # The ID of the account for which to get/update account tax settings.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "content#accounttaxCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accounttaxCustomBatchResponse".
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch accounttax response.
+        "batchId": 42, # The ID of the request entry this entry responds to.
+        "accountTax": { # The tax settings of a merchant account. # The retrieved or updated account tax settings.
+          "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+            { # Tax calculation rule to apply in a state or province (USA only).
+              "country": "A String", # Country code in which tax is applicable.
+              "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+              "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+              "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+              "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+            },
+          ],
+          "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+          "accountId": "A String", # The ID of the account to which these account tax settings belong.
+        },
+        "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
+          "message": "A String", # The message of the first error in errors.
+          "code": 42, # The HTTP status of the first error in errors.
+          "errors": [ # A list of errors.
+            { # An error returned by the API.
+              "reason": "A String", # The error code.
+              "domain": "A String", # The domain of the error.
+              "message": "A String", # A description of the error.
+            },
+          ],
+        },
+        "kind": "content#accounttaxCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#accounttaxCustomBatchResponseEntry".
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(merchantId, accountId)</code>
+  <pre>Retrieves the tax settings of the account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account tax settings. (required)
+
+Returns:
+  An object of the form:
+
+    { # The tax settings of a merchant account.
+    "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+      { # Tax calculation rule to apply in a state or province (USA only).
+        "country": "A String", # Country code in which tax is applicable.
+        "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+        "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+        "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+        "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+      },
+    ],
+    "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+    "accountId": "A String", # The ID of the account to which these account tax settings belong.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
+  <pre>Lists the tax settings of the sub-accounts in your Merchant Center account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of tax settings to return in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The token for the retrieval of the next page of account tax settings.
+    "kind": "content#accounttaxListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#accounttaxListResponse".
+    "resources": [
+      { # The tax settings of a merchant account.
+        "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+          { # Tax calculation rule to apply in a state or province (USA only).
+            "country": "A String", # Country code in which tax is applicable.
+            "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+            "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+            "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+            "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+          },
+        ],
+        "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+        "accountId": "A String", # The ID of the account to which these account tax settings belong.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(merchantId, accountId, body)</code>
+  <pre>Updates the tax settings of the account. This method supports patch semantics.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account tax settings. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The tax settings of a merchant account.
+  "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+    { # Tax calculation rule to apply in a state or province (USA only).
+      "country": "A String", # Country code in which tax is applicable.
+      "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+      "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+      "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+      "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+    },
+  ],
+  "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+  "accountId": "A String", # The ID of the account to which these account tax settings belong.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # The tax settings of a merchant account.
+    "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+      { # Tax calculation rule to apply in a state or province (USA only).
+        "country": "A String", # Country code in which tax is applicable.
+        "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+        "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+        "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+        "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+      },
+    ],
+    "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+    "accountId": "A String", # The ID of the account to which these account tax settings belong.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(merchantId, accountId, body)</code>
+  <pre>Updates the tax settings of the account.
+
+Args:
+  merchantId: string, The ID of the managing account. (required)
+  accountId: string, The ID of the account for which to get/update account tax settings. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The tax settings of a merchant account.
+  "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+    { # Tax calculation rule to apply in a state or province (USA only).
+      "country": "A String", # Country code in which tax is applicable.
+      "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+      "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+      "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+      "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+    },
+  ],
+  "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+  "accountId": "A String", # The ID of the account to which these account tax settings belong.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # The tax settings of a merchant account.
+    "rules": [ # Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.
+      { # Tax calculation rule to apply in a state or province (USA only).
+        "country": "A String", # Country code in which tax is applicable.
+        "ratePercent": "A String", # Explicit tax rate in percent, represented as a floating point number without the percentage character. Must not be negative.
+        "shippingTaxed": True or False, # If true, shipping charges are also taxed.
+        "locationId": "A String", # State (or province) is which the tax is applicable, described by its location id (also called criteria id).
+        "useGlobalRate": True or False, # Whether the tax rate is taken from a global tax table or specified explicitly.
+      },
+    ],
+    "kind": "content#accountTax", # Identifies what kind of resource this is. Value: the fixed string "content#accountTax".
+    "accountId": "A String", # The ID of the account to which these account tax settings belong.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2.datafeeds.html b/docs/dyn/content_v2.datafeeds.html
index 6b6eb69..cb8fefe 100644
--- a/docs/dyn/content_v2.datafeeds.html
+++ b/docs/dyn/content_v2.datafeeds.html
@@ -87,9 +87,12 @@
   <code><a href="#insert">insert(merchantId, body)</a></code></p>
 <p class="firstline">Registers a datafeed with your Merchant Center account.</p>
 <p class="toc_element">
-  <code><a href="#list">list(merchantId)</a></code></p>
+  <code><a href="#list">list(merchantId, pageToken=None, maxResults=None)</a></code></p>
 <p class="firstline">Lists the datafeeds in your Merchant Center account.</p>
 <p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
   <code><a href="#patch">patch(merchantId, datafeedId, body)</a></code></p>
 <p class="firstline">Updates a datafeed of your Merchant Center account. This method supports patch semantics.</p>
 <p class="toc_element">
@@ -105,11 +108,11 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the datafeeds service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch datafeeds request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "datafeedId": "A String", # The ID of the data feed to get or delete.
-        "datafeed": { # The data feed to insert.
+        "datafeed": { # Datafeed data. # The data feed to insert.
             "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
             "contentType": "A String", # The type of data feed.
             "name": "A String", # A descriptive name of the data feed.
@@ -137,7 +140,7 @@
             "attributeLanguage": "A String", # The two-letter ISO 639-1 language in which the attributes are defined in the data feed.
           },
         "merchantId": "A String", # The ID of the managing account.
-        "method": "A String", # The method (get, insert, update, or delete).
+        "method": "A String",
       },
     ],
   }
@@ -148,8 +151,8 @@
 
     {
     "kind": "content#datafeedsCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedsCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the datafeeds service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch datafeeds response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
           "message": "A String", # The message of the first error in errors.
@@ -162,7 +165,7 @@
             },
           ],
         },
-        "datafeed": { # The requested data feed. Defined if and only if the request was successful.
+        "datafeed": { # Datafeed data. # The requested data feed. Defined if and only if the request was successful.
             "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
             "contentType": "A String", # The type of data feed.
             "name": "A String", # A descriptive name of the data feed.
@@ -215,7 +218,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Datafeed data.
       "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
       "contentType": "A String", # The type of data feed.
       "name": "A String", # A descriptive name of the data feed.
@@ -253,7 +256,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Datafeed data.
     "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
     "contentType": "A String", # The type of data feed.
     "name": "A String", # A descriptive name of the data feed.
@@ -285,7 +288,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Datafeed data.
       "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
       "contentType": "A String", # The type of data feed.
       "name": "A String", # A descriptive name of the data feed.
@@ -315,19 +318,22 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(merchantId)</code>
+    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
   <pre>Lists the datafeeds in your Merchant Center account.
 
 Args:
-  merchantId: string, A parameter (required)
+  merchantId: string, The ID of the managing account. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of products to return in the response, used for paging.
 
 Returns:
   An object of the form:
 
     {
+    "nextPageToken": "A String", # The token for the retrieval of the next page of datafeeds.
     "kind": "content#datafeedsListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedsListResponse".
     "resources": [
-      {
+      { # Datafeed data.
           "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
           "contentType": "A String", # The type of data feed.
           "name": "A String", # A descriptive name of the data feed.
@@ -359,6 +365,20 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
     <code class="details" id="patch">patch(merchantId, datafeedId, body)</code>
   <pre>Updates a datafeed of your Merchant Center account. This method supports patch semantics.
 
@@ -368,7 +388,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Datafeed data.
     "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
     "contentType": "A String", # The type of data feed.
     "name": "A String", # A descriptive name of the data feed.
@@ -400,7 +420,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Datafeed data.
       "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
       "contentType": "A String", # The type of data feed.
       "name": "A String", # A descriptive name of the data feed.
@@ -439,7 +459,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Datafeed data.
     "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
     "contentType": "A String", # The type of data feed.
     "name": "A String", # A descriptive name of the data feed.
@@ -471,7 +491,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Datafeed data.
       "kind": "content#datafeed", # Identifies what kind of resource this is. Value: the fixed string "content#datafeed".
       "contentType": "A String", # The type of data feed.
       "name": "A String", # A descriptive name of the data feed.
diff --git a/docs/dyn/content_v2.datafeedstatuses.html b/docs/dyn/content_v2.datafeedstatuses.html
index 6644156..401677b 100644
--- a/docs/dyn/content_v2.datafeedstatuses.html
+++ b/docs/dyn/content_v2.datafeedstatuses.html
@@ -81,8 +81,11 @@
   <code><a href="#get">get(merchantId, datafeedId)</a></code></p>
 <p class="firstline">Retrieves the status of a datafeed from your Merchant Center account.</p>
 <p class="toc_element">
-  <code><a href="#list">list(merchantId)</a></code></p>
+  <code><a href="#list">list(merchantId, pageToken=None, maxResults=None)</a></code></p>
 <p class="firstline">Lists the statuses of the datafeeds in your Merchant Center account.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="custombatch">custombatch(body)</code>
@@ -93,12 +96,12 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the datafeedstatuses service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch datafeedstatuses request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "datafeedId": "A String", # The ID of the data feed to get or delete.
         "merchantId": "A String", # The ID of the managing account.
-        "method": "A String", # The method (get).
+        "method": "A String",
       },
     ],
   }
@@ -109,8 +112,8 @@
 
     {
     "kind": "content#datafeedstatusesCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedstatusesCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the datafeedstatuses service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch datafeedstatuses response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
           "message": "A String", # The message of the first error in errors.
@@ -123,7 +126,7 @@
             },
           ],
         },
-        "datafeedStatus": { # The requested data feed status. Defined if and only if the request was successful.
+        "datafeedStatus": { # The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished. # The requested data feed status. Defined if and only if the request was successful.
           "kind": "content#datafeedStatus", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedStatus".
           "errors": [ # The list of errors occurring in the feed.
             { # An error occurring in the feed, like "invalid price".
@@ -174,7 +177,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.
     "kind": "content#datafeedStatus", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedStatus".
     "errors": [ # The list of errors occurring in the feed.
       { # An error occurring in the feed, like "invalid price".
@@ -212,19 +215,22 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(merchantId)</code>
+    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
   <pre>Lists the statuses of the datafeeds in your Merchant Center account.
 
 Args:
-  merchantId: string, A parameter (required)
+  merchantId: string, The ID of the managing account. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of products to return in the response, used for paging.
 
 Returns:
   An object of the form:
 
     {
+    "nextPageToken": "A String", # The token for the retrieval of the next page of datafeed statuses.
     "kind": "content#datafeedstatusesListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedstatusesListResponse".
     "resources": [
-      {
+      { # The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.
         "kind": "content#datafeedStatus", # Identifies what kind of resource this is. Value: the fixed string "content#datafeedStatus".
         "errors": [ # The list of errors occurring in the feed.
           { # An error occurring in the feed, like "invalid price".
@@ -263,4 +269,18 @@
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/content_v2.html b/docs/dyn/content_v2.html
index 939be4a..aae6334 100644
--- a/docs/dyn/content_v2.html
+++ b/docs/dyn/content_v2.html
@@ -80,11 +80,21 @@
 <p class="firstline">Returns the accounts Resource.</p>
 
 <p class="toc_element">
+  <code><a href="content_v2.accountshipping.html">accountshipping()</a></code>
+</p>
+<p class="firstline">Returns the accountshipping Resource.</p>
+
+<p class="toc_element">
   <code><a href="content_v2.accountstatuses.html">accountstatuses()</a></code>
 </p>
 <p class="firstline">Returns the accountstatuses Resource.</p>
 
 <p class="toc_element">
+  <code><a href="content_v2.accounttax.html">accounttax()</a></code>
+</p>
+<p class="firstline">Returns the accounttax Resource.</p>
+
+<p class="toc_element">
   <code><a href="content_v2.datafeeds.html">datafeeds()</a></code>
 </p>
 <p class="firstline">Returns the datafeeds Resource.</p>
diff --git a/docs/dyn/content_v2.inventory.html b/docs/dyn/content_v2.inventory.html
index 49ea46d..db6de43 100644
--- a/docs/dyn/content_v2.inventory.html
+++ b/docs/dyn/content_v2.inventory.html
@@ -90,8 +90,8 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the inventory service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch inventory request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "storeCode": "A String", # The code of the store for which to update price and availability. Use online to update price and availability of an online product.
         "productId": "A String", # The ID of the product for which to update price and availability.
@@ -120,8 +120,8 @@
 
     {
     "kind": "content#inventoryCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#inventoryCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the inventory service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch inventory response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "kind": "content#inventoryCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#inventoryCustomBatchResponseEntry".
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
diff --git a/docs/dyn/content_v2.products.html b/docs/dyn/content_v2.products.html
index bdfe5b5..e295b24 100644
--- a/docs/dyn/content_v2.products.html
+++ b/docs/dyn/content_v2.products.html
@@ -102,10 +102,11 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the products service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch products request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "product": { # Product data. # The product to insert. Only required if the method is insert.
+            "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
             "color": "A String", # Color of the item.
             "availability": "A String", # Availability status of the item.
             "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -116,11 +117,13 @@
             ],
             "itemGroupId": "A String", # Shared identifier for all variants of the same product.
             "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-            "expirationDate": "A String", # Date that an item will expire.
-            "googleProductCategory": "A String", # Google's category of the item.
+            "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+            "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
             "id": "A String", # The REST id of the product.
             "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-            "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+            "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+            "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+            "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
             "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
             "destinations": [ # Specifies the intended destinations for the product.
               {
@@ -131,7 +134,14 @@
             "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
             "sizeType": "A String", # The cut of the item. Recommended for apparel items.
             "offerId": "A String", # An identifier of the item.
-            "title": "A String", # Title of the item.
+            "shippingWidth": { # Width of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "pattern": "A String", # The item's pattern (e.g. polka dots).
             "unitPricingMeasure": { # The measure and dimension of an item.
               "value": 3.14, # The measure of an item.
@@ -166,21 +176,38 @@
               },
             ],
             "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-            "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+            "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
             "brand": "A String", # Brand of the item.
             "material": "A String", # The material of which the item is made.
+            "shippingLength": { # Length of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "taxes": [ # Tax information.
               {
                 "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
                 "region": "A String", # The geographic region to which the tax rate applies.
                 "rate": 3.14, # The percentage of tax rate that applies to the item price.
-                "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+                "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
                 "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
                 "taxShip": True or False, # Set to true if tax is charged on shipping.
               },
             ],
+            "shippingHeight": { # Height of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "link": "A String", # URL directly linking to your item's page on your website.
             "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+            "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
             "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
             "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
             "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -191,17 +218,21 @@
                   {
                     "value": "A String", # The value of the attribute.
                     "type": "A String", # The type of the attribute.
-                    "name": "A String", # The name of the attribute.
+                    "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
                     "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
                   },
                 ],
-                "name": "A String", # The name of the group.
+                "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
               },
             ],
             "condition": "A String", # Condition or state of the item.
             "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
             "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
             "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+            "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+              "value": "A String", # The denominator of the unit price.
+              "unit": "A String", # The unit of the denominator.
+            },
             "installment": { # Number and amount of installments to pay for an item. Brazil only.
               "amount": { # The amount the buyer has to pay per month.
                 "currency": "A String", # The currency of the price.
@@ -213,6 +244,7 @@
               "A String",
             ],
             "gender": "A String", # Target gender of the item.
+            "title": "A String", # Title of the item.
             "shipping": [ # Shipping rules.
               {
                 "service": "A String", # A free-form description of the service class or delivery speed.
@@ -222,7 +254,7 @@
                   "value": "A String", # The price represented as a number.
                 },
                 "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-                "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+                "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
                 "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
                 "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
               },
@@ -232,11 +264,11 @@
               "unit": "A String", # The unit of value.
             },
             "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-            "customAttributes": [ # A list of custom (merchant-provided) attributes.
+            "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
               {
                 "value": "A String", # The value of the attribute.
                 "type": "A String", # The type of the attribute.
-                "name": "A String", # The name of the attribute.
+                "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
                 "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
               },
             ],
@@ -244,17 +276,16 @@
               "currency": "A String", # The currency of the price.
               "value": "A String", # The price represented as a number.
             },
-            "productType": "A String", # Your category of the item.
-            "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-              "value": "A String", # The denominator of the unit price.
-              "unit": "A String", # The unit of the denominator.
-            },
+            "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+            "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+              "A String",
+            ],
             "ageGroup": "A String", # Target age group of the item.
             "adult": True or False, # Set to true if the item is targeted towards adults.
           },
         "productId": "A String", # The ID of the product to get or delete. Only defined if the method is get or delete.
         "merchantId": "A String", # The ID of the managing account.
-        "method": "A String", # The method (get, insert or delete).
+        "method": "A String",
       },
     ],
   }
@@ -266,8 +297,8 @@
 
     {
     "kind": "content#productsCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#productsCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the products service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch products response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "kind": "content#productsCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#productsCustomBatchResponseEntry".
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed.
@@ -282,6 +313,7 @@
           ],
         },
         "product": { # Product data. # The inserted product. Only defined if the method is insert and if the request was successful.
+            "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
             "color": "A String", # Color of the item.
             "availability": "A String", # Availability status of the item.
             "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -292,11 +324,13 @@
             ],
             "itemGroupId": "A String", # Shared identifier for all variants of the same product.
             "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-            "expirationDate": "A String", # Date that an item will expire.
-            "googleProductCategory": "A String", # Google's category of the item.
+            "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+            "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
             "id": "A String", # The REST id of the product.
             "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-            "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+            "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+            "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+            "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
             "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
             "destinations": [ # Specifies the intended destinations for the product.
               {
@@ -307,7 +341,14 @@
             "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
             "sizeType": "A String", # The cut of the item. Recommended for apparel items.
             "offerId": "A String", # An identifier of the item.
-            "title": "A String", # Title of the item.
+            "shippingWidth": { # Width of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "pattern": "A String", # The item's pattern (e.g. polka dots).
             "unitPricingMeasure": { # The measure and dimension of an item.
               "value": 3.14, # The measure of an item.
@@ -342,21 +383,38 @@
               },
             ],
             "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-            "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+            "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
             "brand": "A String", # Brand of the item.
             "material": "A String", # The material of which the item is made.
+            "shippingLength": { # Length of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "taxes": [ # Tax information.
               {
                 "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
                 "region": "A String", # The geographic region to which the tax rate applies.
                 "rate": 3.14, # The percentage of tax rate that applies to the item price.
-                "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+                "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
                 "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
                 "taxShip": True or False, # Set to true if tax is charged on shipping.
               },
             ],
+            "shippingHeight": { # Height of the item for shipping.
+              "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+              "unit": "A String", # The unit of value.
+                  #
+                  # Acceptable values are:
+                  # - "cm"
+                  # - "in"
+            },
             "link": "A String", # URL directly linking to your item's page on your website.
             "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+            "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
             "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
             "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
             "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -367,17 +425,21 @@
                   {
                     "value": "A String", # The value of the attribute.
                     "type": "A String", # The type of the attribute.
-                    "name": "A String", # The name of the attribute.
+                    "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
                     "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
                   },
                 ],
-                "name": "A String", # The name of the group.
+                "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
               },
             ],
             "condition": "A String", # Condition or state of the item.
             "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
             "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
             "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+            "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+              "value": "A String", # The denominator of the unit price.
+              "unit": "A String", # The unit of the denominator.
+            },
             "installment": { # Number and amount of installments to pay for an item. Brazil only.
               "amount": { # The amount the buyer has to pay per month.
                 "currency": "A String", # The currency of the price.
@@ -389,6 +451,7 @@
               "A String",
             ],
             "gender": "A String", # Target gender of the item.
+            "title": "A String", # Title of the item.
             "shipping": [ # Shipping rules.
               {
                 "service": "A String", # A free-form description of the service class or delivery speed.
@@ -398,7 +461,7 @@
                   "value": "A String", # The price represented as a number.
                 },
                 "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-                "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+                "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
                 "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
                 "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
               },
@@ -408,11 +471,11 @@
               "unit": "A String", # The unit of value.
             },
             "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-            "customAttributes": [ # A list of custom (merchant-provided) attributes.
+            "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
               {
                 "value": "A String", # The value of the attribute.
                 "type": "A String", # The type of the attribute.
-                "name": "A String", # The name of the attribute.
+                "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
                 "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
               },
             ],
@@ -420,11 +483,10 @@
               "currency": "A String", # The currency of the price.
               "value": "A String", # The price represented as a number.
             },
-            "productType": "A String", # Your category of the item.
-            "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-              "value": "A String", # The denominator of the unit price.
-              "unit": "A String", # The unit of the denominator.
-            },
+            "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+            "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+              "A String",
+            ],
             "ageGroup": "A String", # Target age group of the item.
             "adult": True or False, # Set to true if the item is targeted towards adults.
           },
@@ -456,6 +518,7 @@
   An object of the form:
 
     { # Product data.
+      "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
       "color": "A String", # Color of the item.
       "availability": "A String", # Availability status of the item.
       "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -466,11 +529,13 @@
       ],
       "itemGroupId": "A String", # Shared identifier for all variants of the same product.
       "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-      "expirationDate": "A String", # Date that an item will expire.
-      "googleProductCategory": "A String", # Google's category of the item.
+      "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+      "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
       "id": "A String", # The REST id of the product.
       "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-      "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+      "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+      "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+      "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
       "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
       "destinations": [ # Specifies the intended destinations for the product.
         {
@@ -481,7 +546,14 @@
       "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
       "sizeType": "A String", # The cut of the item. Recommended for apparel items.
       "offerId": "A String", # An identifier of the item.
-      "title": "A String", # Title of the item.
+      "shippingWidth": { # Width of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "pattern": "A String", # The item's pattern (e.g. polka dots).
       "unitPricingMeasure": { # The measure and dimension of an item.
         "value": 3.14, # The measure of an item.
@@ -516,21 +588,38 @@
         },
       ],
       "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-      "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+      "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
       "brand": "A String", # Brand of the item.
       "material": "A String", # The material of which the item is made.
+      "shippingLength": { # Length of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "taxes": [ # Tax information.
         {
           "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
           "region": "A String", # The geographic region to which the tax rate applies.
           "rate": 3.14, # The percentage of tax rate that applies to the item price.
-          "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+          "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
           "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
           "taxShip": True or False, # Set to true if tax is charged on shipping.
         },
       ],
+      "shippingHeight": { # Height of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "link": "A String", # URL directly linking to your item's page on your website.
       "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+      "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
       "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
       "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
       "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -541,17 +630,21 @@
             {
               "value": "A String", # The value of the attribute.
               "type": "A String", # The type of the attribute.
-              "name": "A String", # The name of the attribute.
+              "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
               "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
             },
           ],
-          "name": "A String", # The name of the group.
+          "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
         },
       ],
       "condition": "A String", # Condition or state of the item.
       "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
       "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
       "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+      "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+        "value": "A String", # The denominator of the unit price.
+        "unit": "A String", # The unit of the denominator.
+      },
       "installment": { # Number and amount of installments to pay for an item. Brazil only.
         "amount": { # The amount the buyer has to pay per month.
           "currency": "A String", # The currency of the price.
@@ -563,6 +656,7 @@
         "A String",
       ],
       "gender": "A String", # Target gender of the item.
+      "title": "A String", # Title of the item.
       "shipping": [ # Shipping rules.
         {
           "service": "A String", # A free-form description of the service class or delivery speed.
@@ -572,7 +666,7 @@
             "value": "A String", # The price represented as a number.
           },
           "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-          "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+          "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
           "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
           "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
         },
@@ -582,11 +676,11 @@
         "unit": "A String", # The unit of value.
       },
       "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-      "customAttributes": [ # A list of custom (merchant-provided) attributes.
+      "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
         {
           "value": "A String", # The value of the attribute.
           "type": "A String", # The type of the attribute.
-          "name": "A String", # The name of the attribute.
+          "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
           "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
         },
       ],
@@ -594,11 +688,10 @@
         "currency": "A String", # The currency of the price.
         "value": "A String", # The price represented as a number.
       },
-      "productType": "A String", # Your category of the item.
-      "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-        "value": "A String", # The denominator of the unit price.
-        "unit": "A String", # The unit of the denominator.
-      },
+      "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+      "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+        "A String",
+      ],
       "ageGroup": "A String", # Target age group of the item.
       "adult": True or False, # Set to true if the item is targeted towards adults.
     }</pre>
@@ -614,6 +707,7 @@
     The object takes the form of:
 
 { # Product data.
+    "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
     "color": "A String", # Color of the item.
     "availability": "A String", # Availability status of the item.
     "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -624,11 +718,13 @@
     ],
     "itemGroupId": "A String", # Shared identifier for all variants of the same product.
     "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-    "expirationDate": "A String", # Date that an item will expire.
-    "googleProductCategory": "A String", # Google's category of the item.
+    "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+    "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
     "id": "A String", # The REST id of the product.
     "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-    "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+    "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+    "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+    "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
     "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
     "destinations": [ # Specifies the intended destinations for the product.
       {
@@ -639,7 +735,14 @@
     "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
     "sizeType": "A String", # The cut of the item. Recommended for apparel items.
     "offerId": "A String", # An identifier of the item.
-    "title": "A String", # Title of the item.
+    "shippingWidth": { # Width of the item for shipping.
+      "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+      "unit": "A String", # The unit of value.
+          #
+          # Acceptable values are:
+          # - "cm"
+          # - "in"
+    },
     "pattern": "A String", # The item's pattern (e.g. polka dots).
     "unitPricingMeasure": { # The measure and dimension of an item.
       "value": 3.14, # The measure of an item.
@@ -674,21 +777,38 @@
       },
     ],
     "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-    "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+    "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
     "brand": "A String", # Brand of the item.
     "material": "A String", # The material of which the item is made.
+    "shippingLength": { # Length of the item for shipping.
+      "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+      "unit": "A String", # The unit of value.
+          #
+          # Acceptable values are:
+          # - "cm"
+          # - "in"
+    },
     "taxes": [ # Tax information.
       {
         "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
         "region": "A String", # The geographic region to which the tax rate applies.
         "rate": 3.14, # The percentage of tax rate that applies to the item price.
-        "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+        "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
         "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
         "taxShip": True or False, # Set to true if tax is charged on shipping.
       },
     ],
+    "shippingHeight": { # Height of the item for shipping.
+      "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+      "unit": "A String", # The unit of value.
+          #
+          # Acceptable values are:
+          # - "cm"
+          # - "in"
+    },
     "link": "A String", # URL directly linking to your item's page on your website.
     "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+    "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
     "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
     "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
     "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -699,17 +819,21 @@
           {
             "value": "A String", # The value of the attribute.
             "type": "A String", # The type of the attribute.
-            "name": "A String", # The name of the attribute.
+            "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
             "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
           },
         ],
-        "name": "A String", # The name of the group.
+        "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
       },
     ],
     "condition": "A String", # Condition or state of the item.
     "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
     "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
     "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+    "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+      "value": "A String", # The denominator of the unit price.
+      "unit": "A String", # The unit of the denominator.
+    },
     "installment": { # Number and amount of installments to pay for an item. Brazil only.
       "amount": { # The amount the buyer has to pay per month.
         "currency": "A String", # The currency of the price.
@@ -721,6 +845,7 @@
       "A String",
     ],
     "gender": "A String", # Target gender of the item.
+    "title": "A String", # Title of the item.
     "shipping": [ # Shipping rules.
       {
         "service": "A String", # A free-form description of the service class or delivery speed.
@@ -730,7 +855,7 @@
           "value": "A String", # The price represented as a number.
         },
         "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-        "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+        "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
         "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
         "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
       },
@@ -740,11 +865,11 @@
       "unit": "A String", # The unit of value.
     },
     "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-    "customAttributes": [ # A list of custom (merchant-provided) attributes.
+    "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
       {
         "value": "A String", # The value of the attribute.
         "type": "A String", # The type of the attribute.
-        "name": "A String", # The name of the attribute.
+        "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
         "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
       },
     ],
@@ -752,11 +877,10 @@
       "currency": "A String", # The currency of the price.
       "value": "A String", # The price represented as a number.
     },
-    "productType": "A String", # Your category of the item.
-    "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-      "value": "A String", # The denominator of the unit price.
-      "unit": "A String", # The unit of the denominator.
-    },
+    "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+    "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+      "A String",
+    ],
     "ageGroup": "A String", # Target age group of the item.
     "adult": True or False, # Set to true if the item is targeted towards adults.
   }
@@ -767,6 +891,7 @@
   An object of the form:
 
     { # Product data.
+      "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
       "color": "A String", # Color of the item.
       "availability": "A String", # Availability status of the item.
       "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -777,11 +902,13 @@
       ],
       "itemGroupId": "A String", # Shared identifier for all variants of the same product.
       "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-      "expirationDate": "A String", # Date that an item will expire.
-      "googleProductCategory": "A String", # Google's category of the item.
+      "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+      "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
       "id": "A String", # The REST id of the product.
       "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-      "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+      "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+      "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+      "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
       "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
       "destinations": [ # Specifies the intended destinations for the product.
         {
@@ -792,7 +919,14 @@
       "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
       "sizeType": "A String", # The cut of the item. Recommended for apparel items.
       "offerId": "A String", # An identifier of the item.
-      "title": "A String", # Title of the item.
+      "shippingWidth": { # Width of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "pattern": "A String", # The item's pattern (e.g. polka dots).
       "unitPricingMeasure": { # The measure and dimension of an item.
         "value": 3.14, # The measure of an item.
@@ -827,21 +961,38 @@
         },
       ],
       "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-      "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+      "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
       "brand": "A String", # Brand of the item.
       "material": "A String", # The material of which the item is made.
+      "shippingLength": { # Length of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "taxes": [ # Tax information.
         {
           "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
           "region": "A String", # The geographic region to which the tax rate applies.
           "rate": 3.14, # The percentage of tax rate that applies to the item price.
-          "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+          "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
           "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
           "taxShip": True or False, # Set to true if tax is charged on shipping.
         },
       ],
+      "shippingHeight": { # Height of the item for shipping.
+        "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+        "unit": "A String", # The unit of value.
+            #
+            # Acceptable values are:
+            # - "cm"
+            # - "in"
+      },
       "link": "A String", # URL directly linking to your item's page on your website.
       "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+      "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
       "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
       "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
       "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -852,17 +1003,21 @@
             {
               "value": "A String", # The value of the attribute.
               "type": "A String", # The type of the attribute.
-              "name": "A String", # The name of the attribute.
+              "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
               "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
             },
           ],
-          "name": "A String", # The name of the group.
+          "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
         },
       ],
       "condition": "A String", # Condition or state of the item.
       "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
       "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
       "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+      "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+        "value": "A String", # The denominator of the unit price.
+        "unit": "A String", # The unit of the denominator.
+      },
       "installment": { # Number and amount of installments to pay for an item. Brazil only.
         "amount": { # The amount the buyer has to pay per month.
           "currency": "A String", # The currency of the price.
@@ -874,6 +1029,7 @@
         "A String",
       ],
       "gender": "A String", # Target gender of the item.
+      "title": "A String", # Title of the item.
       "shipping": [ # Shipping rules.
         {
           "service": "A String", # A free-form description of the service class or delivery speed.
@@ -883,7 +1039,7 @@
             "value": "A String", # The price represented as a number.
           },
           "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-          "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+          "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
           "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
           "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
         },
@@ -893,11 +1049,11 @@
         "unit": "A String", # The unit of value.
       },
       "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-      "customAttributes": [ # A list of custom (merchant-provided) attributes.
+      "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
         {
           "value": "A String", # The value of the attribute.
           "type": "A String", # The type of the attribute.
-          "name": "A String", # The name of the attribute.
+          "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
           "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
         },
       ],
@@ -905,11 +1061,10 @@
         "currency": "A String", # The currency of the price.
         "value": "A String", # The price represented as a number.
       },
-      "productType": "A String", # Your category of the item.
-      "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-        "value": "A String", # The denominator of the unit price.
-        "unit": "A String", # The unit of the denominator.
-      },
+      "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+      "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+        "A String",
+      ],
       "ageGroup": "A String", # Target age group of the item.
       "adult": True or False, # Set to true if the item is targeted towards adults.
     }</pre>
@@ -928,10 +1083,11 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String",
+    "nextPageToken": "A String", # The token for the retrieval of the next page of products.
     "kind": "content#productsListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#productsListResponse".
     "resources": [
       { # Product data.
+          "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
           "color": "A String", # Color of the item.
           "availability": "A String", # Availability status of the item.
           "additionalImageLinks": [ # Additional URLs of images of the item.
@@ -942,11 +1098,13 @@
           ],
           "itemGroupId": "A String", # Shared identifier for all variants of the same product.
           "gtin": "A String", # Global Trade Item Number (GTIN) of the item.
-          "expirationDate": "A String", # Date that an item will expire.
-          "googleProductCategory": "A String", # Google's category of the item.
+          "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.
+          "googleProductCategory": "A String", # Google's category of the item (see Google product taxonomy).
           "id": "A String", # The REST id of the product.
           "multipack": "A String", # The number of identical products in a merchant-defined multipack.
-          "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery.
+          "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
+          "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
+          "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
           "adwordsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
           "destinations": [ # Specifies the intended destinations for the product.
             {
@@ -957,7 +1115,14 @@
           "targetCountry": "A String", # The two-letter ISO 3166 country code for the item.
           "sizeType": "A String", # The cut of the item. Recommended for apparel items.
           "offerId": "A String", # An identifier of the item.
-          "title": "A String", # Title of the item.
+          "shippingWidth": { # Width of the item for shipping.
+            "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+            "unit": "A String", # The unit of value.
+                #
+                # Acceptable values are:
+                # - "cm"
+                # - "in"
+          },
           "pattern": "A String", # The item's pattern (e.g. polka dots).
           "unitPricingMeasure": { # The measure and dimension of an item.
             "value": 3.14, # The measure of an item.
@@ -992,21 +1157,38 @@
             },
           ],
           "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
-          "salePriceEffectiveDate": "A String", # Date range during which the item is on sale.
+          "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications).
           "brand": "A String", # Brand of the item.
           "material": "A String", # The material of which the item is made.
+          "shippingLength": { # Length of the item for shipping.
+            "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+            "unit": "A String", # The unit of value.
+                #
+                # Acceptable values are:
+                # - "cm"
+                # - "in"
+          },
           "taxes": [ # Tax information.
             {
               "country": "A String", # The country within which the item is taxed, specified with a two-letter ISO 3166 country code.
               "region": "A String", # The geographic region to which the tax rate applies.
               "rate": 3.14, # The percentage of tax rate that applies to the item price.
-              "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the Adwords API (https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+              "locationId": "A String", # The numeric id of a location that the tax rate applies to as defined in the AdWords API.
               "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
               "taxShip": True or False, # Set to true if tax is charged on shipping.
             },
           ],
+          "shippingHeight": { # Height of the item for shipping.
+            "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
+            "unit": "A String", # The unit of value.
+                #
+                # Acceptable values are:
+                # - "cm"
+                # - "in"
+          },
           "link": "A String", # URL directly linking to your item's page on your website.
           "adwordsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
+          "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
           "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
           "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
           "customLabel4": "A String", # Custom label 4 for custom grouping of items in a Shopping campaign.
@@ -1017,17 +1199,21 @@
                 {
                   "value": "A String", # The value of the attribute.
                   "type": "A String", # The type of the attribute.
-                  "name": "A String", # The name of the attribute.
+                  "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
                   "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
                 },
               ],
-              "name": "A String", # The name of the group.
+              "name": "A String", # The name of the group. Underscores will be replaced by spaces upon insertion.
             },
           ],
           "condition": "A String", # Condition or state of the item.
           "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
           "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
           "kind": "content#product", # Identifies what kind of resource this is. Value: the fixed string "content#product".
+          "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
+            "value": "A String", # The denominator of the unit price.
+            "unit": "A String", # The unit of the denominator.
+          },
           "installment": { # Number and amount of installments to pay for an item. Brazil only.
             "amount": { # The amount the buyer has to pay per month.
               "currency": "A String", # The currency of the price.
@@ -1039,6 +1225,7 @@
             "A String",
           ],
           "gender": "A String", # Target gender of the item.
+          "title": "A String", # Title of the item.
           "shipping": [ # Shipping rules.
             {
               "service": "A String", # A free-form description of the service class or delivery speed.
@@ -1048,7 +1235,7 @@
                 "value": "A String", # The price represented as a number.
               },
               "locationId": "A String", # The numeric id of a location that the shipping rate applies to as defined in the AdWords API.
-              "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix using * wildcard, a range between two postal codes or two postal code prefixes of equal length.
+              "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
               "region": "A String", # The geographic region to which a shipping rate applies (e.g. zip code).
               "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
             },
@@ -1058,11 +1245,11 @@
             "unit": "A String", # The unit of value.
           },
           "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
-          "customAttributes": [ # A list of custom (merchant-provided) attributes.
+          "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "type": "text", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API.
             {
               "value": "A String", # The value of the attribute.
               "type": "A String", # The type of the attribute.
-              "name": "A String", # The name of the attribute.
+              "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
               "unit": "A String", # Free-form unit of the attribute. Unit can only be used for values of type INT or FLOAT.
             },
           ],
@@ -1070,11 +1257,10 @@
             "currency": "A String", # The currency of the price.
             "value": "A String", # The price represented as a number.
           },
-          "productType": "A String", # Your category of the item.
-          "unitPricingBaseMeasure": { # The preference of the denominator of the unit price.
-            "value": "A String", # The denominator of the unit price.
-            "unit": "A String", # The unit of the denominator.
-          },
+          "productType": "A String", # Your category of the item (formatted as in product feeds specification).
+          "displayAdsSimilarIds": [ # Advertiser-specified recommendations.
+            "A String",
+          ],
           "ageGroup": "A String", # Target age group of the item.
           "adult": True or False, # Set to true if the item is targeted towards adults.
         },
diff --git a/docs/dyn/content_v2.productstatuses.html b/docs/dyn/content_v2.productstatuses.html
index f4b8986..a98fc22 100644
--- a/docs/dyn/content_v2.productstatuses.html
+++ b/docs/dyn/content_v2.productstatuses.html
@@ -96,12 +96,12 @@
     The object takes the form of:
 
 {
-    "entries": [
-      { # A batch entry encoding a single non-batch request to the productstatuses service of the Content API for Shopping.
+    "entries": [ # The request entries to be processed in the batch.
+      { # A batch entry encoding a single non-batch productstatuses request.
         "batchId": 42, # An entry ID, unique within the batch request.
         "productId": "A String", # The ID of the product whose status to get.
         "merchantId": "A String", # The ID of the managing account.
-        "method": "A String", # The method (get).
+        "method": "A String",
       },
     ],
   }
@@ -112,8 +112,8 @@
 
     {
     "kind": "content#productstatusesCustomBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "content#productstatusesCustomBatchResponse".
-    "entries": [
-      { # A batch entry encoding a single non-batch response from the productstatuses service of the Content API for Shopping.
+    "entries": [ # The result of the execution of the batch requests.
+      { # A batch entry encoding a single non-batch productstatuses response.
         "batchId": 42, # The ID of the request entry this entry responds to.
         "kind": "content#productstatusesCustomBatchResponseEntry", # Identifies what kind of resource this is. Value: the fixed string "content#productstatusesCustomBatchResponseEntry".
         "errors": { # A list of errors returned by a failed batch entry. # A list of errors, if the request failed.
@@ -128,7 +128,7 @@
           ],
         },
         "productStatus": { # The status of a product, i.e., information about a product computed asynchronously by the data quality analysis. # The requested product status. Only defined if the request was successful.
-          "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+          "googleExpirationDate": "A String", # Date on which the item expires in Google Shopping, in ISO 8601 format.
           "destinationStatuses": [ # The intended destinations for the product.
             {
               "approvalStatus": "A String", # The destination's approval status.
@@ -137,10 +137,14 @@
             },
           ],
           "title": "A String", # The title of the product.
+          "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+          "lastUpdateDate": "A String", # Date on which the item has been last updated, in ISO 8601 format.
           "link": "A String", # The link to the product.
+          "creationDate": "A String", # Date on which the item has been created, in ISO 8601 format.
           "dataQualityIssues": [ # A list of data quality issues associated with the product.
             {
               "valueProvided": "A String", # The value the attribute had at time of evaluation.
+              "severity": "A String", # The severity of the data quality issue.
               "timestamp": "A String", # The time stamp of the data quality issue.
               "detail": "A String", # A more detailed error string.
               "location": "A String", # The attribute name that is relevant for the issue.
@@ -168,7 +172,7 @@
   An object of the form:
 
     { # The status of a product, i.e., information about a product computed asynchronously by the data quality analysis.
-    "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+    "googleExpirationDate": "A String", # Date on which the item expires in Google Shopping, in ISO 8601 format.
     "destinationStatuses": [ # The intended destinations for the product.
       {
         "approvalStatus": "A String", # The destination's approval status.
@@ -177,10 +181,14 @@
       },
     ],
     "title": "A String", # The title of the product.
+    "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+    "lastUpdateDate": "A String", # Date on which the item has been last updated, in ISO 8601 format.
     "link": "A String", # The link to the product.
+    "creationDate": "A String", # Date on which the item has been created, in ISO 8601 format.
     "dataQualityIssues": [ # A list of data quality issues associated with the product.
       {
         "valueProvided": "A String", # The value the attribute had at time of evaluation.
+        "severity": "A String", # The severity of the data quality issue.
         "timestamp": "A String", # The time stamp of the data quality issue.
         "detail": "A String", # A more detailed error string.
         "location": "A String", # The attribute name that is relevant for the issue.
@@ -206,11 +214,11 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String",
+    "nextPageToken": "A String", # The token for the retrieval of the next page of products statuses.
     "kind": "content#productstatusesListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#productstatusesListResponse".
     "resources": [
       { # The status of a product, i.e., information about a product computed asynchronously by the data quality analysis.
-        "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+        "googleExpirationDate": "A String", # Date on which the item expires in Google Shopping, in ISO 8601 format.
         "destinationStatuses": [ # The intended destinations for the product.
           {
             "approvalStatus": "A String", # The destination's approval status.
@@ -219,10 +227,14 @@
           },
         ],
         "title": "A String", # The title of the product.
+        "kind": "content#productStatus", # Identifies what kind of resource this is. Value: the fixed string "content#productStatus".
+        "lastUpdateDate": "A String", # Date on which the item has been last updated, in ISO 8601 format.
         "link": "A String", # The link to the product.
+        "creationDate": "A String", # Date on which the item has been created, in ISO 8601 format.
         "dataQualityIssues": [ # A list of data quality issues associated with the product.
           {
             "valueProvided": "A String", # The value the attribute had at time of evaluation.
+            "severity": "A String", # The severity of the data quality issue.
             "timestamp": "A String", # The time stamp of the data quality issue.
             "detail": "A String", # A more detailed error string.
             "location": "A String", # The attribute name that is relevant for the issue.
diff --git a/docs/dyn/coordinate_v1.customFieldDef.html b/docs/dyn/coordinate_v1.customFieldDef.html
index 24dac73..80c1ac1 100644
--- a/docs/dyn/coordinate_v1.customFieldDef.html
+++ b/docs/dyn/coordinate_v1.customFieldDef.html
@@ -92,6 +92,13 @@
     "items": [ # Collection of custom field definitions in a team.
       { # Custom field definition.
         "kind": "coordinate#customFieldDef", # Identifies this object as a custom field definition.
+        "enumitems": [ # List of enum items for this custom field. Populated only if the field type is enum. Enum fields appear as 'lists' in the Coordinate web and mobile UI.
+          { # Enum Item definition.
+            "active": True or False, # Whether the enum item is active. Jobs may contain inactive enum values; however, setting an enum to an inactive value when creating or updating a job will result in a 500 error.
+            "kind": "coordinate#enumItemDef", # Identifies this object as an enum item definition.
+            "value": "A String", # Custom field value.
+          },
+        ],
         "name": "A String", # Custom field name.
         "enabled": True or False, # Whether the field is enabled.
         "requiredForCheckout": True or False, # Whether the field is required for checkout.
diff --git a/docs/dyn/coordinate_v1.html b/docs/dyn/coordinate_v1.html
index 1db6a5e..525d8c6 100644
--- a/docs/dyn/coordinate_v1.html
+++ b/docs/dyn/coordinate_v1.html
@@ -95,6 +95,11 @@
 <p class="firstline">Returns the schedule Resource.</p>
 
 <p class="toc_element">
+  <code><a href="coordinate_v1.team.html">team()</a></code>
+</p>
+<p class="firstline">Returns the team Resource.</p>
+
+<p class="toc_element">
   <code><a href="coordinate_v1.worker.html">worker()</a></code>
 </p>
 <p class="firstline">Returns the worker Resource.</p>
diff --git a/docs/dyn/coordinate_v1.jobs.html b/docs/dyn/coordinate_v1.jobs.html
index 96ffda4..a53680c 100644
--- a/docs/dyn/coordinate_v1.jobs.html
+++ b/docs/dyn/coordinate_v1.jobs.html
@@ -117,7 +117,7 @@
             "note": [ # Note added to the job.
               "A String",
             ],
-            "assignee": "A String", # Email address of the assignee.
+            "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
             "customerPhoneNumber": "A String", # Customer phone number.
             "location": { # Location of a job. # Job location.
               "lat": 3.14, # Latitude.
@@ -149,7 +149,7 @@
         "note": [ # Note added to the job.
           "A String",
         ],
-        "assignee": "A String", # Email address of the assignee.
+        "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
         "customerPhoneNumber": "A String", # Customer phone number.
         "location": { # Location of a job. # Job location.
           "lat": 3.14, # Latitude.
@@ -200,7 +200,7 @@
           "note": [ # Note added to the job.
             "A String",
           ],
-          "assignee": "A String", # Email address of the assignee.
+          "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
           "customerPhoneNumber": "A String", # Customer phone number.
           "location": { # Location of a job. # Job location.
             "lat": 3.14, # Latitude.
@@ -232,7 +232,7 @@
       "note": [ # Note added to the job.
         "A String",
       ],
-      "assignee": "A String", # Email address of the assignee.
+      "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
       "customerPhoneNumber": "A String", # Customer phone number.
       "location": { # Location of a job. # Job location.
         "lat": 3.14, # Latitude.
@@ -260,7 +260,7 @@
   assignee: string, Assignee email address, or empty string to unassign.
   customerPhoneNumber: string, Customer phone number
   note: string, Job note as newline (Unix) separated string
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+  customField: string, Sets the value of custom fields. To set a custom field, pass the field id (from /team/teamId/custom_fields), a URL escaped '=' character, and the desired value as a parameter. For example, customField=12%3DAlice. Repeat the parameter for each custom field. Note that '=' cannot appear in the parameter value. Specifying an invalid, or inactive enum field will result in an error 500. (repeated)
 
 Returns:
   An object of the form:
@@ -278,7 +278,7 @@
             "note": [ # Note added to the job.
               "A String",
             ],
-            "assignee": "A String", # Email address of the assignee.
+            "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
             "customerPhoneNumber": "A String", # Customer phone number.
             "location": { # Location of a job. # Job location.
               "lat": 3.14, # Latitude.
@@ -310,7 +310,7 @@
         "note": [ # Note added to the job.
           "A String",
         ],
-        "assignee": "A String", # Email address of the assignee.
+        "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
         "customerPhoneNumber": "A String", # Customer phone number.
         "location": { # Location of a job. # Job location.
           "lat": 3.14, # Latitude.
@@ -364,7 +364,7 @@
                 "note": [ # Note added to the job.
                   "A String",
                 ],
-                "assignee": "A String", # Email address of the assignee.
+                "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
                 "customerPhoneNumber": "A String", # Customer phone number.
                 "location": { # Location of a job. # Job location.
                   "lat": 3.14, # Latitude.
@@ -396,7 +396,7 @@
             "note": [ # Note added to the job.
               "A String",
             ],
-            "assignee": "A String", # Email address of the assignee.
+            "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
             "customerPhoneNumber": "A String", # Customer phone number.
             "location": { # Location of a job. # Job location.
               "lat": 3.14, # Latitude.
@@ -461,7 +461,7 @@
           "note": [ # Note added to the job.
             "A String",
           ],
-          "assignee": "A String", # Email address of the assignee.
+          "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
           "customerPhoneNumber": "A String", # Customer phone number.
           "location": { # Location of a job. # Job location.
             "lat": 3.14, # Latitude.
@@ -493,7 +493,7 @@
       "note": [ # Note added to the job.
         "A String",
       ],
-      "assignee": "A String", # Email address of the assignee.
+      "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
       "customerPhoneNumber": "A String", # Customer phone number.
       "location": { # Location of a job. # Job location.
         "lat": 3.14, # Latitude.
@@ -532,7 +532,7 @@
       OBSOLETE - Obsolete
   address: string, Job address as newline (Unix) separated string
   lat: number, The latitude coordinate of this job's location.
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+  customField: string, Sets the value of custom fields. To set a custom field, pass the field id (from /team/teamId/custom_fields), a URL escaped '=' character, and the desired value as a parameter. For example, customField=12%3DAlice. Repeat the parameter for each custom field. Note that '=' cannot appear in the parameter value. Specifying an invalid, or inactive enum field will result in an error 500. (repeated)
 
 Returns:
   An object of the form:
@@ -550,7 +550,7 @@
             "note": [ # Note added to the job.
               "A String",
             ],
-            "assignee": "A String", # Email address of the assignee.
+            "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
             "customerPhoneNumber": "A String", # Customer phone number.
             "location": { # Location of a job. # Job location.
               "lat": 3.14, # Latitude.
@@ -582,7 +582,7 @@
         "note": [ # Note added to the job.
           "A String",
         ],
-        "assignee": "A String", # Email address of the assignee.
+        "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
         "customerPhoneNumber": "A String", # Customer phone number.
         "location": { # Location of a job. # Job location.
           "lat": 3.14, # Latitude.
@@ -630,7 +630,7 @@
           "note": [ # Note added to the job.
             "A String",
           ],
-          "assignee": "A String", # Email address of the assignee.
+          "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
           "customerPhoneNumber": "A String", # Customer phone number.
           "location": { # Location of a job. # Job location.
             "lat": 3.14, # Latitude.
@@ -662,7 +662,7 @@
       "note": [ # Note added to the job.
         "A String",
       ],
-      "assignee": "A String", # Email address of the assignee.
+      "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
       "customerPhoneNumber": "A String", # Customer phone number.
       "location": { # Location of a job. # Job location.
         "lat": 3.14, # Latitude.
@@ -701,7 +701,7 @@
       OBSOLETE - Obsolete
   address: string, Job address as newline (Unix) separated string
   lat: number, The latitude coordinate of this job's location.
-  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+  customField: string, Sets the value of custom fields. To set a custom field, pass the field id (from /team/teamId/custom_fields), a URL escaped '=' character, and the desired value as a parameter. For example, customField=12%3DAlice. Repeat the parameter for each custom field. Note that '=' cannot appear in the parameter value. Specifying an invalid, or inactive enum field will result in an error 500. (repeated)
 
 Returns:
   An object of the form:
@@ -719,7 +719,7 @@
             "note": [ # Note added to the job.
               "A String",
             ],
-            "assignee": "A String", # Email address of the assignee.
+            "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
             "customerPhoneNumber": "A String", # Customer phone number.
             "location": { # Location of a job. # Job location.
               "lat": 3.14, # Latitude.
@@ -751,7 +751,7 @@
         "note": [ # Note added to the job.
           "A String",
         ],
-        "assignee": "A String", # Email address of the assignee.
+        "assignee": "A String", # Email address of the assignee, or the string "DELETED_USER" if the account is no longer available.
         "customerPhoneNumber": "A String", # Customer phone number.
         "location": { # Location of a job. # Job location.
           "lat": 3.14, # Latitude.
diff --git a/docs/dyn/coordinate_v1.team.html b/docs/dyn/coordinate_v1.team.html
new file mode 100644
index 0000000..9d1ff2f
--- /dev/null
+++ b/docs/dyn/coordinate_v1.team.html
@@ -0,0 +1,105 @@
+<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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.team.html">team</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(admin=None, worker=None, dispatcher=None)</a></code></p>
+<p class="firstline">Retrieves a list of teams for a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(admin=None, worker=None, dispatcher=None)</code>
+  <pre>Retrieves a list of teams for a user.
+
+Args:
+  admin: boolean, Whether to include teams for which the user has the Admin role.
+  worker: boolean, Whether to include teams for which the user has the Worker role.
+  dispatcher: boolean, Whether to include teams for which the user has the Dispatcher role.
+
+Returns:
+  An object of the form:
+
+    { # Response from a List Teams request.
+    "items": [ # Teams in the collection.
+      { # A Coordinate team.
+        "kind": "coordinate#team", # Identifies this object as a team.
+        "id": "A String", # Team id, as found in a coordinate team url e.g. https://coordinate.google.com/f/xyz where "xyz" is the team id.
+        "name": "A String", # Team name
+      },
+    ],
+    "kind": "coordinate#teamList", # Identifies this object as a list of teams.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.worker.html b/docs/dyn/coordinate_v1.worker.html
index 0e3da77..4ddfd65 100644
--- a/docs/dyn/coordinate_v1.worker.html
+++ b/docs/dyn/coordinate_v1.worker.html
@@ -92,7 +92,7 @@
     "items": [ # Workers in the collection.
       { # A worker in a Coordinate team.
         "kind": "coordinate#worker", # Identifies this object as a worker.
-        "id": "A String", # Worker email address.
+        "id": "A String", # Worker email address. If a worker has been deleted from your team, the email address will appear as DELETED_USER.
       },
     ],
     "kind": "coordinate#workerList", # Identifies this object as a list of workers.
diff --git a/docs/dyn/dataflow_v1b4.html b/docs/dyn/dataflow_v1b4.html
new file mode 100644
index 0000000..ee8523d
--- /dev/null
+++ b/docs/dyn/dataflow_v1b4.html
@@ -0,0 +1,77 @@
+<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="dataflow_v1b4.html">Google Dataflow API</a></h1>
+<h2>Instance Methods</h2>
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.html b/docs/dyn/dataflow_v1beta3.html
new file mode 100644
index 0000000..365d7d9
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.html
@@ -0,0 +1,82 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dataflow_v1beta3.v1b3.html">v1b3()</a></code>
+</p>
+<p class="firstline">Returns the v1b3 Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.v1b3.html b/docs/dyn/dataflow_v1beta3.v1b3.html
new file mode 100644
index 0000000..e81eb27
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.v1b3.html
@@ -0,0 +1,82 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a> . <a href="dataflow_v1beta3.v1b3.html">v1b3</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dataflow_v1beta3.v1b3.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.v1b3.projects.html b/docs/dyn/dataflow_v1beta3.v1b3.projects.html
new file mode 100644
index 0000000..8f220f1
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.v1b3.projects.html
@@ -0,0 +1,82 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a> . <a href="dataflow_v1beta3.v1b3.html">v1b3</a> . <a href="dataflow_v1beta3.v1b3.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dataflow_v1beta3.v1b3.projects.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.html b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.html
new file mode 100644
index 0000000..db0374e
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.html
@@ -0,0 +1,1120 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a> . <a href="dataflow_v1beta3.v1b3.html">v1b3</a> . <a href="dataflow_v1beta3.v1b3.projects.html">projects</a> . <a href="dataflow_v1beta3.v1b3.projects.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dataflow_v1beta3.v1b3.projects.jobs.messages.html">messages()</a></code>
+</p>
+<p class="firstline">Returns the messages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dataflow_v1beta3.v1b3.projects.jobs.workItems.html">workItems()</a></code>
+</p>
+<p class="firstline">Returns the workItems Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(projectId, body, view=None)</a></code></p>
+<p class="firstline">Creates a dataflow job.</p>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, jobId, view=None)</a></code></p>
+<p class="firstline">Gets the state of the specified dataflow job.</p>
+<p class="toc_element">
+  <code><a href="#getMetrics">getMetrics(projectId, jobId, startTime=None)</a></code></p>
+<p class="firstline">Request the job status.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, pageToken=None, pageSize=None, view=None)</a></code></p>
+<p class="firstline">List the jobs of a project</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(projectId, jobId, body)</a></code></p>
+<p class="firstline">Updates the state of an existing dataflow job. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(projectId, jobId, body)</a></code></p>
+<p class="firstline">Updates the state of an existing dataflow job.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(projectId, body, view=None)</code>
+  <pre>Creates a dataflow job.
+
+Args:
+  projectId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "requestedState": "A String",
+  "name": "A String",
+  "projectId": "A String",
+  "createTime": "A String",
+  "environment": {
+    "version": {
+      "a_key": "",
+    },
+    "workerPools": [
+      {
+        "diskSourceImage": "A String",
+        "teardownPolicy": "A String",
+        "kind": "A String",
+        "packages": [
+          {
+            "location": "A String",
+            "name": "A String",
+          },
+        ],
+        "machineType": "A String",
+        "zone": "A String",
+        "onHostMaintenance": "A String",
+        "taskrunnerSettings": {
+          "workflowFileName": "A String",
+          "logUploadLocation": "A String",
+          "commandlinesFileName": "A String",
+          "alsologtostderr": True or False,
+          "vmId": "A String",
+          "baseTaskDir": "A String",
+          "continueOnException": True or False,
+          "baseUrl": "A String",
+          "parallelWorkerSettings": {
+            "reportingEnabled": True or False,
+            "shuffleServicePath": "A String",
+            "workerId": "A String",
+            "baseUrl": "A String",
+            "servicePath": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "oauthScopes": [
+            "A String",
+          ],
+          "taskGroup": "A String",
+          "languageHint": "A String",
+          "logToSerialconsole": True or False,
+          "streamingWorkerMainClass": "A String",
+          "logDir": "A String",
+          "dataflowApiVersion": "A String",
+          "taskUser": "A String",
+          "harnessCommand": "A String",
+          "tempStoragePrefix": "A String",
+        },
+        "diskSizeGb": 42,
+        "numWorkers": 42,
+        "defaultPackageSet": "A String",
+        "metadata": {
+          "a_key": "A String",
+        },
+        "autoscalingSettings": {
+          "maxNumWorkers": 42,
+          "algorithm": "A String",
+        },
+        "dataDisks": [
+          {
+            "mountPoint": "A String",
+            "sizeGb": 42,
+            "diskType": "A String",
+          },
+        ],
+      },
+    ],
+    "dataset": "A String",
+    "experiments": [
+      "A String",
+    ],
+    "sdkPipelineOptions": {
+      "a_key": "",
+    },
+    "userAgent": {
+      "a_key": "",
+    },
+    "clusterManagerApiService": "A String",
+    "tempStoragePrefix": "A String",
+  },
+  "steps": [
+    {
+      "kind": "A String",
+      "name": "A String",
+      "properties": {
+        "a_key": "",
+      },
+    },
+  ],
+  "currentStateTime": "A String",
+  "type": "A String",
+  "id": "A String",
+  "currentState": "A String",
+  "executionInfo": {
+    "stages": {
+      "a_key": {
+        "stepName": [
+          "A String",
+        ],
+      },
+    },
+  },
+}
+
+  view: string, A parameter
+    Allowed values
+      JOB_VIEW_ALL - 
+      JOB_VIEW_SUMMARY - 
+      JOB_VIEW_UNKNOWN - 
+
+Returns:
+  An object of the form:
+
+    {
+    "requestedState": "A String",
+    "name": "A String",
+    "projectId": "A String",
+    "createTime": "A String",
+    "environment": {
+      "version": {
+        "a_key": "",
+      },
+      "workerPools": [
+        {
+          "diskSourceImage": "A String",
+          "teardownPolicy": "A String",
+          "kind": "A String",
+          "packages": [
+            {
+              "location": "A String",
+              "name": "A String",
+            },
+          ],
+          "machineType": "A String",
+          "zone": "A String",
+          "onHostMaintenance": "A String",
+          "taskrunnerSettings": {
+            "workflowFileName": "A String",
+            "logUploadLocation": "A String",
+            "commandlinesFileName": "A String",
+            "alsologtostderr": True or False,
+            "vmId": "A String",
+            "baseTaskDir": "A String",
+            "continueOnException": True or False,
+            "baseUrl": "A String",
+            "parallelWorkerSettings": {
+              "reportingEnabled": True or False,
+              "shuffleServicePath": "A String",
+              "workerId": "A String",
+              "baseUrl": "A String",
+              "servicePath": "A String",
+              "tempStoragePrefix": "A String",
+            },
+            "oauthScopes": [
+              "A String",
+            ],
+            "taskGroup": "A String",
+            "languageHint": "A String",
+            "logToSerialconsole": True or False,
+            "streamingWorkerMainClass": "A String",
+            "logDir": "A String",
+            "dataflowApiVersion": "A String",
+            "taskUser": "A String",
+            "harnessCommand": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "diskSizeGb": 42,
+          "numWorkers": 42,
+          "defaultPackageSet": "A String",
+          "metadata": {
+            "a_key": "A String",
+          },
+          "autoscalingSettings": {
+            "maxNumWorkers": 42,
+            "algorithm": "A String",
+          },
+          "dataDisks": [
+            {
+              "mountPoint": "A String",
+              "sizeGb": 42,
+              "diskType": "A String",
+            },
+          ],
+        },
+      ],
+      "dataset": "A String",
+      "experiments": [
+        "A String",
+      ],
+      "sdkPipelineOptions": {
+        "a_key": "",
+      },
+      "userAgent": {
+        "a_key": "",
+      },
+      "clusterManagerApiService": "A String",
+      "tempStoragePrefix": "A String",
+    },
+    "steps": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "properties": {
+          "a_key": "",
+        },
+      },
+    ],
+    "currentStateTime": "A String",
+    "type": "A String",
+    "id": "A String",
+    "currentState": "A String",
+    "executionInfo": {
+      "stages": {
+        "a_key": {
+          "stepName": [
+            "A String",
+          ],
+        },
+      },
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(projectId, jobId, view=None)</code>
+  <pre>Gets the state of the specified dataflow job.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  view: string, A parameter
+    Allowed values
+      JOB_VIEW_ALL - 
+      JOB_VIEW_SUMMARY - 
+      JOB_VIEW_UNKNOWN - 
+
+Returns:
+  An object of the form:
+
+    {
+    "requestedState": "A String",
+    "name": "A String",
+    "projectId": "A String",
+    "createTime": "A String",
+    "environment": {
+      "version": {
+        "a_key": "",
+      },
+      "workerPools": [
+        {
+          "diskSourceImage": "A String",
+          "teardownPolicy": "A String",
+          "kind": "A String",
+          "packages": [
+            {
+              "location": "A String",
+              "name": "A String",
+            },
+          ],
+          "machineType": "A String",
+          "zone": "A String",
+          "onHostMaintenance": "A String",
+          "taskrunnerSettings": {
+            "workflowFileName": "A String",
+            "logUploadLocation": "A String",
+            "commandlinesFileName": "A String",
+            "alsologtostderr": True or False,
+            "vmId": "A String",
+            "baseTaskDir": "A String",
+            "continueOnException": True or False,
+            "baseUrl": "A String",
+            "parallelWorkerSettings": {
+              "reportingEnabled": True or False,
+              "shuffleServicePath": "A String",
+              "workerId": "A String",
+              "baseUrl": "A String",
+              "servicePath": "A String",
+              "tempStoragePrefix": "A String",
+            },
+            "oauthScopes": [
+              "A String",
+            ],
+            "taskGroup": "A String",
+            "languageHint": "A String",
+            "logToSerialconsole": True or False,
+            "streamingWorkerMainClass": "A String",
+            "logDir": "A String",
+            "dataflowApiVersion": "A String",
+            "taskUser": "A String",
+            "harnessCommand": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "diskSizeGb": 42,
+          "numWorkers": 42,
+          "defaultPackageSet": "A String",
+          "metadata": {
+            "a_key": "A String",
+          },
+          "autoscalingSettings": {
+            "maxNumWorkers": 42,
+            "algorithm": "A String",
+          },
+          "dataDisks": [
+            {
+              "mountPoint": "A String",
+              "sizeGb": 42,
+              "diskType": "A String",
+            },
+          ],
+        },
+      ],
+      "dataset": "A String",
+      "experiments": [
+        "A String",
+      ],
+      "sdkPipelineOptions": {
+        "a_key": "",
+      },
+      "userAgent": {
+        "a_key": "",
+      },
+      "clusterManagerApiService": "A String",
+      "tempStoragePrefix": "A String",
+    },
+    "steps": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "properties": {
+          "a_key": "",
+        },
+      },
+    ],
+    "currentStateTime": "A String",
+    "type": "A String",
+    "id": "A String",
+    "currentState": "A String",
+    "executionInfo": {
+      "stages": {
+        "a_key": {
+          "stepName": [
+            "A String",
+          ],
+        },
+      },
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getMetrics">getMetrics(projectId, jobId, startTime=None)</code>
+  <pre>Request the job status.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  startTime: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "metrics": [
+      {
+        "meanCount": "",
+        "kind": "A String",
+        "set": "",
+        "name": {
+          "origin": "A String",
+          "name": "A String",
+          "context": {
+            "a_key": "A String",
+          },
+        },
+        "meanSum": "",
+        "cumulative": True or False,
+        "updateTime": "A String",
+        "scalar": "",
+        "internal": "",
+      },
+    ],
+    "metricTime": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, pageToken=None, pageSize=None, view=None)</code>
+  <pre>List the jobs of a project
+
+Args:
+  projectId: string, A parameter (required)
+  pageToken: string, A parameter
+  pageSize: integer, A parameter
+  view: string, A parameter
+    Allowed values
+      JOB_VIEW_ALL - 
+      JOB_VIEW_SUMMARY - 
+      JOB_VIEW_UNKNOWN - 
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "jobs": [
+      {
+        "requestedState": "A String",
+        "name": "A String",
+        "projectId": "A String",
+        "createTime": "A String",
+        "environment": {
+          "version": {
+            "a_key": "",
+          },
+          "workerPools": [
+            {
+              "diskSourceImage": "A String",
+              "teardownPolicy": "A String",
+              "kind": "A String",
+              "packages": [
+                {
+                  "location": "A String",
+                  "name": "A String",
+                },
+              ],
+              "machineType": "A String",
+              "zone": "A String",
+              "onHostMaintenance": "A String",
+              "taskrunnerSettings": {
+                "workflowFileName": "A String",
+                "logUploadLocation": "A String",
+                "commandlinesFileName": "A String",
+                "alsologtostderr": True or False,
+                "vmId": "A String",
+                "baseTaskDir": "A String",
+                "continueOnException": True or False,
+                "baseUrl": "A String",
+                "parallelWorkerSettings": {
+                  "reportingEnabled": True or False,
+                  "shuffleServicePath": "A String",
+                  "workerId": "A String",
+                  "baseUrl": "A String",
+                  "servicePath": "A String",
+                  "tempStoragePrefix": "A String",
+                },
+                "oauthScopes": [
+                  "A String",
+                ],
+                "taskGroup": "A String",
+                "languageHint": "A String",
+                "logToSerialconsole": True or False,
+                "streamingWorkerMainClass": "A String",
+                "logDir": "A String",
+                "dataflowApiVersion": "A String",
+                "taskUser": "A String",
+                "harnessCommand": "A String",
+                "tempStoragePrefix": "A String",
+              },
+              "diskSizeGb": 42,
+              "numWorkers": 42,
+              "defaultPackageSet": "A String",
+              "metadata": {
+                "a_key": "A String",
+              },
+              "autoscalingSettings": {
+                "maxNumWorkers": 42,
+                "algorithm": "A String",
+              },
+              "dataDisks": [
+                {
+                  "mountPoint": "A String",
+                  "sizeGb": 42,
+                  "diskType": "A String",
+                },
+              ],
+            },
+          ],
+          "dataset": "A String",
+          "experiments": [
+            "A String",
+          ],
+          "sdkPipelineOptions": {
+            "a_key": "",
+          },
+          "userAgent": {
+            "a_key": "",
+          },
+          "clusterManagerApiService": "A String",
+          "tempStoragePrefix": "A String",
+        },
+        "steps": [
+          {
+            "kind": "A String",
+            "name": "A String",
+            "properties": {
+              "a_key": "",
+            },
+          },
+        ],
+        "currentStateTime": "A String",
+        "type": "A String",
+        "id": "A String",
+        "currentState": "A String",
+        "executionInfo": {
+          "stages": {
+            "a_key": {
+              "stepName": [
+                "A String",
+              ],
+            },
+          },
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(projectId, jobId, body)</code>
+  <pre>Updates the state of an existing dataflow job. This method supports patch semantics.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "requestedState": "A String",
+  "name": "A String",
+  "projectId": "A String",
+  "createTime": "A String",
+  "environment": {
+    "version": {
+      "a_key": "",
+    },
+    "workerPools": [
+      {
+        "diskSourceImage": "A String",
+        "teardownPolicy": "A String",
+        "kind": "A String",
+        "packages": [
+          {
+            "location": "A String",
+            "name": "A String",
+          },
+        ],
+        "machineType": "A String",
+        "zone": "A String",
+        "onHostMaintenance": "A String",
+        "taskrunnerSettings": {
+          "workflowFileName": "A String",
+          "logUploadLocation": "A String",
+          "commandlinesFileName": "A String",
+          "alsologtostderr": True or False,
+          "vmId": "A String",
+          "baseTaskDir": "A String",
+          "continueOnException": True or False,
+          "baseUrl": "A String",
+          "parallelWorkerSettings": {
+            "reportingEnabled": True or False,
+            "shuffleServicePath": "A String",
+            "workerId": "A String",
+            "baseUrl": "A String",
+            "servicePath": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "oauthScopes": [
+            "A String",
+          ],
+          "taskGroup": "A String",
+          "languageHint": "A String",
+          "logToSerialconsole": True or False,
+          "streamingWorkerMainClass": "A String",
+          "logDir": "A String",
+          "dataflowApiVersion": "A String",
+          "taskUser": "A String",
+          "harnessCommand": "A String",
+          "tempStoragePrefix": "A String",
+        },
+        "diskSizeGb": 42,
+        "numWorkers": 42,
+        "defaultPackageSet": "A String",
+        "metadata": {
+          "a_key": "A String",
+        },
+        "autoscalingSettings": {
+          "maxNumWorkers": 42,
+          "algorithm": "A String",
+        },
+        "dataDisks": [
+          {
+            "mountPoint": "A String",
+            "sizeGb": 42,
+            "diskType": "A String",
+          },
+        ],
+      },
+    ],
+    "dataset": "A String",
+    "experiments": [
+      "A String",
+    ],
+    "sdkPipelineOptions": {
+      "a_key": "",
+    },
+    "userAgent": {
+      "a_key": "",
+    },
+    "clusterManagerApiService": "A String",
+    "tempStoragePrefix": "A String",
+  },
+  "steps": [
+    {
+      "kind": "A String",
+      "name": "A String",
+      "properties": {
+        "a_key": "",
+      },
+    },
+  ],
+  "currentStateTime": "A String",
+  "type": "A String",
+  "id": "A String",
+  "currentState": "A String",
+  "executionInfo": {
+    "stages": {
+      "a_key": {
+        "stepName": [
+          "A String",
+        ],
+      },
+    },
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "requestedState": "A String",
+    "name": "A String",
+    "projectId": "A String",
+    "createTime": "A String",
+    "environment": {
+      "version": {
+        "a_key": "",
+      },
+      "workerPools": [
+        {
+          "diskSourceImage": "A String",
+          "teardownPolicy": "A String",
+          "kind": "A String",
+          "packages": [
+            {
+              "location": "A String",
+              "name": "A String",
+            },
+          ],
+          "machineType": "A String",
+          "zone": "A String",
+          "onHostMaintenance": "A String",
+          "taskrunnerSettings": {
+            "workflowFileName": "A String",
+            "logUploadLocation": "A String",
+            "commandlinesFileName": "A String",
+            "alsologtostderr": True or False,
+            "vmId": "A String",
+            "baseTaskDir": "A String",
+            "continueOnException": True or False,
+            "baseUrl": "A String",
+            "parallelWorkerSettings": {
+              "reportingEnabled": True or False,
+              "shuffleServicePath": "A String",
+              "workerId": "A String",
+              "baseUrl": "A String",
+              "servicePath": "A String",
+              "tempStoragePrefix": "A String",
+            },
+            "oauthScopes": [
+              "A String",
+            ],
+            "taskGroup": "A String",
+            "languageHint": "A String",
+            "logToSerialconsole": True or False,
+            "streamingWorkerMainClass": "A String",
+            "logDir": "A String",
+            "dataflowApiVersion": "A String",
+            "taskUser": "A String",
+            "harnessCommand": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "diskSizeGb": 42,
+          "numWorkers": 42,
+          "defaultPackageSet": "A String",
+          "metadata": {
+            "a_key": "A String",
+          },
+          "autoscalingSettings": {
+            "maxNumWorkers": 42,
+            "algorithm": "A String",
+          },
+          "dataDisks": [
+            {
+              "mountPoint": "A String",
+              "sizeGb": 42,
+              "diskType": "A String",
+            },
+          ],
+        },
+      ],
+      "dataset": "A String",
+      "experiments": [
+        "A String",
+      ],
+      "sdkPipelineOptions": {
+        "a_key": "",
+      },
+      "userAgent": {
+        "a_key": "",
+      },
+      "clusterManagerApiService": "A String",
+      "tempStoragePrefix": "A String",
+    },
+    "steps": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "properties": {
+          "a_key": "",
+        },
+      },
+    ],
+    "currentStateTime": "A String",
+    "type": "A String",
+    "id": "A String",
+    "currentState": "A String",
+    "executionInfo": {
+      "stages": {
+        "a_key": {
+          "stepName": [
+            "A String",
+          ],
+        },
+      },
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(projectId, jobId, body)</code>
+  <pre>Updates the state of an existing dataflow job.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "requestedState": "A String",
+  "name": "A String",
+  "projectId": "A String",
+  "createTime": "A String",
+  "environment": {
+    "version": {
+      "a_key": "",
+    },
+    "workerPools": [
+      {
+        "diskSourceImage": "A String",
+        "teardownPolicy": "A String",
+        "kind": "A String",
+        "packages": [
+          {
+            "location": "A String",
+            "name": "A String",
+          },
+        ],
+        "machineType": "A String",
+        "zone": "A String",
+        "onHostMaintenance": "A String",
+        "taskrunnerSettings": {
+          "workflowFileName": "A String",
+          "logUploadLocation": "A String",
+          "commandlinesFileName": "A String",
+          "alsologtostderr": True or False,
+          "vmId": "A String",
+          "baseTaskDir": "A String",
+          "continueOnException": True or False,
+          "baseUrl": "A String",
+          "parallelWorkerSettings": {
+            "reportingEnabled": True or False,
+            "shuffleServicePath": "A String",
+            "workerId": "A String",
+            "baseUrl": "A String",
+            "servicePath": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "oauthScopes": [
+            "A String",
+          ],
+          "taskGroup": "A String",
+          "languageHint": "A String",
+          "logToSerialconsole": True or False,
+          "streamingWorkerMainClass": "A String",
+          "logDir": "A String",
+          "dataflowApiVersion": "A String",
+          "taskUser": "A String",
+          "harnessCommand": "A String",
+          "tempStoragePrefix": "A String",
+        },
+        "diskSizeGb": 42,
+        "numWorkers": 42,
+        "defaultPackageSet": "A String",
+        "metadata": {
+          "a_key": "A String",
+        },
+        "autoscalingSettings": {
+          "maxNumWorkers": 42,
+          "algorithm": "A String",
+        },
+        "dataDisks": [
+          {
+            "mountPoint": "A String",
+            "sizeGb": 42,
+            "diskType": "A String",
+          },
+        ],
+      },
+    ],
+    "dataset": "A String",
+    "experiments": [
+      "A String",
+    ],
+    "sdkPipelineOptions": {
+      "a_key": "",
+    },
+    "userAgent": {
+      "a_key": "",
+    },
+    "clusterManagerApiService": "A String",
+    "tempStoragePrefix": "A String",
+  },
+  "steps": [
+    {
+      "kind": "A String",
+      "name": "A String",
+      "properties": {
+        "a_key": "",
+      },
+    },
+  ],
+  "currentStateTime": "A String",
+  "type": "A String",
+  "id": "A String",
+  "currentState": "A String",
+  "executionInfo": {
+    "stages": {
+      "a_key": {
+        "stepName": [
+          "A String",
+        ],
+      },
+    },
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "requestedState": "A String",
+    "name": "A String",
+    "projectId": "A String",
+    "createTime": "A String",
+    "environment": {
+      "version": {
+        "a_key": "",
+      },
+      "workerPools": [
+        {
+          "diskSourceImage": "A String",
+          "teardownPolicy": "A String",
+          "kind": "A String",
+          "packages": [
+            {
+              "location": "A String",
+              "name": "A String",
+            },
+          ],
+          "machineType": "A String",
+          "zone": "A String",
+          "onHostMaintenance": "A String",
+          "taskrunnerSettings": {
+            "workflowFileName": "A String",
+            "logUploadLocation": "A String",
+            "commandlinesFileName": "A String",
+            "alsologtostderr": True or False,
+            "vmId": "A String",
+            "baseTaskDir": "A String",
+            "continueOnException": True or False,
+            "baseUrl": "A String",
+            "parallelWorkerSettings": {
+              "reportingEnabled": True or False,
+              "shuffleServicePath": "A String",
+              "workerId": "A String",
+              "baseUrl": "A String",
+              "servicePath": "A String",
+              "tempStoragePrefix": "A String",
+            },
+            "oauthScopes": [
+              "A String",
+            ],
+            "taskGroup": "A String",
+            "languageHint": "A String",
+            "logToSerialconsole": True or False,
+            "streamingWorkerMainClass": "A String",
+            "logDir": "A String",
+            "dataflowApiVersion": "A String",
+            "taskUser": "A String",
+            "harnessCommand": "A String",
+            "tempStoragePrefix": "A String",
+          },
+          "diskSizeGb": 42,
+          "numWorkers": 42,
+          "defaultPackageSet": "A String",
+          "metadata": {
+            "a_key": "A String",
+          },
+          "autoscalingSettings": {
+            "maxNumWorkers": 42,
+            "algorithm": "A String",
+          },
+          "dataDisks": [
+            {
+              "mountPoint": "A String",
+              "sizeGb": 42,
+              "diskType": "A String",
+            },
+          ],
+        },
+      ],
+      "dataset": "A String",
+      "experiments": [
+        "A String",
+      ],
+      "sdkPipelineOptions": {
+        "a_key": "",
+      },
+      "userAgent": {
+        "a_key": "",
+      },
+      "clusterManagerApiService": "A String",
+      "tempStoragePrefix": "A String",
+    },
+    "steps": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "properties": {
+          "a_key": "",
+        },
+      },
+    ],
+    "currentStateTime": "A String",
+    "type": "A String",
+    "id": "A String",
+    "currentState": "A String",
+    "executionInfo": {
+      "stages": {
+        "a_key": {
+          "stepName": [
+            "A String",
+          ],
+        },
+      },
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.messages.html b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.messages.html
new file mode 100644
index 0000000..4b65dd9
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.messages.html
@@ -0,0 +1,133 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a> . <a href="dataflow_v1beta3.v1b3.html">v1b3</a> . <a href="dataflow_v1beta3.v1b3.projects.html">projects</a> . <a href="dataflow_v1beta3.v1b3.projects.jobs.html">jobs</a> . <a href="dataflow_v1beta3.v1b3.projects.jobs.messages.html">messages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, jobId, pageSize=None, pageToken=None, startTime=None, endTime=None, minimumImportance=None)</a></code></p>
+<p class="firstline">Request the job status.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(projectId, jobId, pageSize=None, pageToken=None, startTime=None, endTime=None, minimumImportance=None)</code>
+  <pre>Request the job status.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  startTime: string, A parameter
+  endTime: string, A parameter
+  minimumImportance: string, A parameter
+    Allowed values
+      JOB_MESSAGE_DEBUG - 
+      JOB_MESSAGE_DETAILED - 
+      JOB_MESSAGE_ERROR - 
+      JOB_MESSAGE_IMPORTANCE_UNKNOWN - 
+      JOB_MESSAGE_WARNING - 
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "jobMessages": [
+      {
+        "messageImportance": "A String",
+        "messageText": "A String",
+        "id": "A String",
+        "time": "A String",
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.workItems.html b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.workItems.html
new file mode 100644
index 0000000..8e70b61
--- /dev/null
+++ b/docs/dyn/dataflow_v1beta3.v1b3.projects.jobs.workItems.html
@@ -0,0 +1,589 @@
+<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="dataflow_v1beta3.html">Google Dataflow API</a> . <a href="dataflow_v1beta3.v1b3.html">v1b3</a> . <a href="dataflow_v1beta3.v1b3.projects.html">projects</a> . <a href="dataflow_v1beta3.v1b3.projects.jobs.html">jobs</a> . <a href="dataflow_v1beta3.v1b3.projects.jobs.workItems.html">workItems</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#lease">lease(projectId, jobId, body)</a></code></p>
+<p class="firstline">Leases a dataflow WorkItem to run.</p>
+<p class="toc_element">
+  <code><a href="#reportStatus">reportStatus(projectId, jobId, body)</a></code></p>
+<p class="firstline">Reports the status of dataflow WorkItems leased by a worker.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="lease">lease(projectId, jobId, body)</code>
+  <pre>Leases a dataflow WorkItem to run.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "requestedLeaseDuration": "A String",
+    "workItemTypes": [
+      "A String",
+    ],
+    "workerCapabilities": [
+      "A String",
+    ],
+    "currentWorkerTime": "A String",
+    "workerId": "A String",
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "workItems": [
+      {
+        "configuration": "A String",
+        "leaseExpireTime": "A String",
+        "seqMapTask": {
+          "inputs": [
+            {
+              "sources": [
+                {
+                  "codec": {
+                    "a_key": "",
+                  },
+                  "baseSpecs": [
+                    {
+                      "a_key": "",
+                    },
+                  ],
+                  "spec": {
+                    "a_key": "",
+                  },
+                  "doesNotNeedSplitting": True or False,
+                  "metadata": {
+                    "infinite": True or False,
+                    "estimatedSizeBytes": "A String",
+                    "producesSortedKeys": True or False,
+                  },
+                },
+              ],
+              "kind": {
+                "a_key": "",
+              },
+              "tag": "A String",
+            },
+          ],
+          "name": "A String",
+          "stageName": "A String",
+          "systemName": "A String",
+          "userFn": {
+            "a_key": "",
+          },
+          "outputInfos": [
+            {
+              "tag": "A String",
+              "sink": {
+                "codec": {
+                  "a_key": "",
+                },
+                "spec": {
+                  "a_key": "",
+                },
+              },
+            },
+          ],
+        },
+        "projectId": "A String",
+        "sourceOperationTask": {
+          "getMetadata": {
+            "source": {
+              "codec": {
+                "a_key": "",
+              },
+              "baseSpecs": [
+                {
+                  "a_key": "",
+                },
+              ],
+              "spec": {
+                "a_key": "",
+              },
+              "doesNotNeedSplitting": True or False,
+              "metadata": {
+                "infinite": True or False,
+                "estimatedSizeBytes": "A String",
+                "producesSortedKeys": True or False,
+              },
+            },
+          },
+          "split": {
+            "source": {
+              "codec": {
+                "a_key": "",
+              },
+              "baseSpecs": [
+                {
+                  "a_key": "",
+                },
+              ],
+              "spec": {
+                "a_key": "",
+              },
+              "doesNotNeedSplitting": True or False,
+              "metadata": {
+                "infinite": True or False,
+                "estimatedSizeBytes": "A String",
+                "producesSortedKeys": True or False,
+              },
+            },
+            "options": {
+              "desiredShardSizeBytes": "A String",
+            },
+          },
+        },
+        "mapTask": {
+          "systemName": "A String",
+          "stageName": "A String",
+          "instructions": [
+            {
+              "name": "A String",
+              "read": {
+                "source": {
+                  "codec": {
+                    "a_key": "",
+                  },
+                  "baseSpecs": [
+                    {
+                      "a_key": "",
+                    },
+                  ],
+                  "spec": {
+                    "a_key": "",
+                  },
+                  "doesNotNeedSplitting": True or False,
+                  "metadata": {
+                    "infinite": True or False,
+                    "estimatedSizeBytes": "A String",
+                    "producesSortedKeys": True or False,
+                  },
+                },
+              },
+              "outputs": [
+                {
+                  "codec": {
+                    "a_key": "",
+                  },
+                  "name": "A String",
+                },
+              ],
+              "partialGroupByKey": {
+                "input": {
+                  "outputNum": 42,
+                  "producerInstructionIndex": 42,
+                },
+                "inputElementCodec": {
+                  "a_key": "",
+                },
+              },
+              "write": {
+                "input": {
+                  "outputNum": 42,
+                  "producerInstructionIndex": 42,
+                },
+                "sink": {
+                  "codec": {
+                    "a_key": "",
+                  },
+                  "spec": {
+                    "a_key": "",
+                  },
+                },
+              },
+              "systemName": "A String",
+              "flatten": {
+                "inputs": [
+                  {
+                    "outputNum": 42,
+                    "producerInstructionIndex": 42,
+                  },
+                ],
+              },
+              "parDo": {
+                "sideInputs": [
+                  {
+                    "sources": [
+                      {
+                        "codec": {
+                          "a_key": "",
+                        },
+                        "baseSpecs": [
+                          {
+                            "a_key": "",
+                          },
+                        ],
+                        "spec": {
+                          "a_key": "",
+                        },
+                        "doesNotNeedSplitting": True or False,
+                        "metadata": {
+                          "infinite": True or False,
+                          "estimatedSizeBytes": "A String",
+                          "producesSortedKeys": True or False,
+                        },
+                      },
+                    ],
+                    "kind": {
+                      "a_key": "",
+                    },
+                    "tag": "A String",
+                  },
+                ],
+                "input": {
+                  "outputNum": 42,
+                  "producerInstructionIndex": 42,
+                },
+                "multiOutputInfos": [
+                  {
+                    "tag": "A String",
+                  },
+                ],
+                "numOutputs": 42,
+                "userFn": {
+                  "a_key": "",
+                },
+              },
+            },
+          ],
+        },
+        "jobId": "A String",
+        "reportStatusInterval": "A String",
+        "streamingSetupTask": {
+          "workerHarnessPort": 42,
+          "streamingComputationTopology": {
+            "computations": [
+              {
+                "inputs": [
+                  {
+                    "streamingStageLocation": {
+                      "streamId": "A String",
+                    },
+                    "pubsubLocation": {
+                      "idLabel": "A String",
+                      "topic": "A String",
+                      "subscription": "A String",
+                      "timestampLabel": "A String",
+                      "dropLateData": True or False,
+                    },
+                  },
+                ],
+                "computationId": "A String",
+                "keyRanges": [
+                  {
+                    "start": "A String",
+                    "deliveryEndpoint": "A String",
+                    "end": "A String",
+                    "persistentDirectory": "A String",
+                    "dataDisk": "A String",
+                  },
+                ],
+                "outputs": [
+                  {
+                    "streamingStageLocation": {
+                      "streamId": "A String",
+                    },
+                    "pubsubLocation": {
+                      "idLabel": "A String",
+                      "topic": "A String",
+                      "subscription": "A String",
+                      "timestampLabel": "A String",
+                      "dropLateData": True or False,
+                    },
+                  },
+                ],
+              },
+            ],
+            "dataDiskAssignments": [
+              {
+                "vmInstance": "A String",
+                "dataDisks": [
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "receiveWorkPort": 42,
+        },
+        "packages": [
+          {
+            "location": "A String",
+            "name": "A String",
+          },
+        ],
+        "shellTask": {
+          "command": "A String",
+          "exitCode": 42,
+        },
+        "id": "A String",
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="reportStatus">reportStatus(projectId, jobId, body)</code>
+  <pre>Reports the status of dataflow WorkItems leased by a worker.
+
+Args:
+  projectId: string, A parameter (required)
+  jobId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "workerId": "A String",
+    "currentWorkerTime": "A String",
+    "workItemStatuses": [
+      {
+        "reportIndex": "A String",
+        "errors": [
+          {
+            "message": "A String",
+            "code": 42,
+            "details": [
+              {
+                "a_key": "",
+              },
+            ],
+          },
+        ],
+        "sourceOperationResponse": {
+          "getMetadata": {
+            "metadata": {
+              "infinite": True or False,
+              "estimatedSizeBytes": "A String",
+              "producesSortedKeys": True or False,
+            },
+          },
+          "split": {
+            "outcome": "A String",
+            "shards": [
+              {
+                "derivationMode": "A String",
+                "source": {
+                  "codec": {
+                    "a_key": "",
+                  },
+                  "baseSpecs": [
+                    {
+                      "a_key": "",
+                    },
+                  ],
+                  "spec": {
+                    "a_key": "",
+                  },
+                  "doesNotNeedSplitting": True or False,
+                  "metadata": {
+                    "infinite": True or False,
+                    "estimatedSizeBytes": "A String",
+                    "producesSortedKeys": True or False,
+                  },
+                },
+              },
+            ],
+          },
+        },
+        "stopPosition": {
+          "recordIndex": "A String",
+          "end": True or False,
+          "byteOffset": "A String",
+          "key": "A String",
+          "shufflePosition": "A String",
+        },
+        "sourceFork": {
+          "primary": {
+            "derivationMode": "A String",
+            "source": {
+              "codec": {
+                "a_key": "",
+              },
+              "baseSpecs": [
+                {
+                  "a_key": "",
+                },
+              ],
+              "spec": {
+                "a_key": "",
+              },
+              "doesNotNeedSplitting": True or False,
+              "metadata": {
+                "infinite": True or False,
+                "estimatedSizeBytes": "A String",
+                "producesSortedKeys": True or False,
+              },
+            },
+          },
+          "residual": {
+            "derivationMode": "A String",
+            "source": {
+              "codec": {
+                "a_key": "",
+              },
+              "baseSpecs": [
+                {
+                  "a_key": "",
+                },
+              ],
+              "spec": {
+                "a_key": "",
+              },
+              "doesNotNeedSplitting": True or False,
+              "metadata": {
+                "infinite": True or False,
+                "estimatedSizeBytes": "A String",
+                "producesSortedKeys": True or False,
+              },
+            },
+          },
+        },
+        "requestedLeaseDuration": "A String",
+        "completed": True or False,
+        "workItemId": "A String",
+        "progress": {
+          "position": {
+            "recordIndex": "A String",
+            "end": True or False,
+            "byteOffset": "A String",
+            "key": "A String",
+            "shufflePosition": "A String",
+          },
+          "remainingTime": "A String",
+          "percentComplete": 3.14,
+        },
+        "metricUpdates": [
+          {
+            "meanCount": "",
+            "kind": "A String",
+            "set": "",
+            "name": {
+              "origin": "A String",
+              "name": "A String",
+              "context": {
+                "a_key": "A String",
+              },
+            },
+            "meanSum": "",
+            "cumulative": True or False,
+            "updateTime": "A String",
+            "scalar": "",
+            "internal": "",
+          },
+        ],
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "workItemServiceStates": [
+      {
+        "suggestedStopPoint": {
+          "position": {
+            "recordIndex": "A String",
+            "end": True or False,
+            "byteOffset": "A String",
+            "key": "A String",
+            "shufflePosition": "A String",
+          },
+          "remainingTime": "A String",
+          "percentComplete": 3.14,
+        },
+        "leaseExpireTime": "A String",
+        "suggestedStopPosition": {
+          "recordIndex": "A String",
+          "end": True or False,
+          "byteOffset": "A String",
+          "key": "A String",
+          "shufflePosition": "A String",
+        },
+        "reportStatusInterval": "A String",
+        "harnessData": {
+          "a_key": "",
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.deployments.html b/docs/dyn/deploymentmanager_v2beta1.deployments.html
new file mode 100644
index 0000000..2dfdbb6
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.deployments.html
@@ -0,0 +1,273 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a> . <a href="deploymentmanager_v2beta1.deployments.html">deployments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, deployment)</a></code></p>
+<p class="firstline">Deletes a deployment and all of the resources in the deployment.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, deployment)</a></code></p>
+<p class="firstline">Gets information about a specific deployment.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a deployment and all of the resources described by the deployment manifest.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all deployments for a given project.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, deployment)</code>
+  <pre>Deletes a deployment and all of the resources in the deployment.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "name": "A String", # [Output Only] Name of the operation.
+    "warnings": [ # [Output Only] If warning messages generated during processing of this operation, this field will be populated.
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "httpErrorStatusCode": 42, # [Output Only] If operation fails, the HTTP error status code returned, e.g. 404.
+    "user": "A String", # [Output Only] User who requested the operation, for example "user@example.com"
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "operationType": "A String", # [Output Only] Type of the operation. Examples include "insert", or "delete"
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "httpErrorMessage": "A String", # [Output Only] If operation fails, the HTTP error message returned, e.g. NOT FOUND.
+    "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 format.
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Self link for the manifest.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, deployment)</code>
+  <pre>Gets information about a specific deployment.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "targetConfig": "A String", # [Input Only] The YAML configuration to use in processing this deployment.
+          #
+          # When you create a deployment, the server creates a new manifest with the given YAML configuration and sets the `manifest` property to the URL of the manifest resource.
+      "manifest": "A String", # [Output Only] URL of the manifest representing the full configuration of this deployment.
+      "description": "A String", # An optional user-provided description of the deployment.
+      "name": "A String", # The name of the deployment, which must be unique within the project.
+      "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a deployment and all of the resources described by the deployment manifest.
+
+Args:
+  project: string, The project ID for this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "targetConfig": "A String", # [Input Only] The YAML configuration to use in processing this deployment.
+        # 
+        # When you create a deployment, the server creates a new manifest with the given YAML configuration and sets the `manifest` property to the URL of the manifest resource.
+    "manifest": "A String", # [Output Only] URL of the manifest representing the full configuration of this deployment.
+    "description": "A String", # An optional user-provided description of the deployment.
+    "name": "A String", # The name of the deployment, which must be unique within the project.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "name": "A String", # [Output Only] Name of the operation.
+    "warnings": [ # [Output Only] If warning messages generated during processing of this operation, this field will be populated.
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "httpErrorStatusCode": 42, # [Output Only] If operation fails, the HTTP error status code returned, e.g. 404.
+    "user": "A String", # [Output Only] User who requested the operation, for example "user@example.com"
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "operationType": "A String", # [Output Only] Type of the operation. Examples include "insert", or "delete"
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "httpErrorMessage": "A String", # [Output Only] If operation fails, the HTTP error message returned, e.g. NOT FOUND.
+    "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 format.
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Self link for the manifest.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Lists all deployments for a given project.
+
+Args:
+  project: string, The project ID for this request. (required)
+  pageToken: string, Specifies a nextPageToken returned by a previous list request. This token can be used to request the next page of results from a previous list request.
+  maxResults: integer, Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50)
+
+Returns:
+  An object of the form:
+
+    { # A response containing a partial list of deployments and a page token used to build the next request if the request has been truncated.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "deployments": [ # The deployments contained in this response.
+      {
+          "targetConfig": "A String", # [Input Only] The YAML configuration to use in processing this deployment.
+              #
+              # When you create a deployment, the server creates a new manifest with the given YAML configuration and sets the `manifest` property to the URL of the manifest resource.
+          "manifest": "A String", # [Output Only] URL of the manifest representing the full configuration of this deployment.
+          "description": "A String", # An optional user-provided description of the deployment.
+          "name": "A String", # The name of the deployment, which must be unique within the project.
+          "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.html b/docs/dyn/deploymentmanager_v2beta1.html
new file mode 100644
index 0000000..06488b6
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.html
@@ -0,0 +1,102 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="deploymentmanager_v2beta1.deployments.html">deployments()</a></code>
+</p>
+<p class="firstline">Returns the deployments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="deploymentmanager_v2beta1.manifests.html">manifests()</a></code>
+</p>
+<p class="firstline">Returns the manifests Resource.</p>
+
+<p class="toc_element">
+  <code><a href="deploymentmanager_v2beta1.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="deploymentmanager_v2beta1.resources.html">resources()</a></code>
+</p>
+<p class="firstline">Returns the resources Resource.</p>
+
+<p class="toc_element">
+  <code><a href="deploymentmanager_v2beta1.types.html">types()</a></code>
+</p>
+<p class="firstline">Returns the types Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.manifests.html b/docs/dyn/deploymentmanager_v2beta1.manifests.html
new file mode 100644
index 0000000..ba012b6
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.manifests.html
@@ -0,0 +1,149 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a> . <a href="deploymentmanager_v2beta1.manifests.html">manifests</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, deployment, manifest)</a></code></p>
+<p class="firstline">Gets information about a specific manifest.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, deployment, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all manifests for a given deployment.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, deployment, manifest)</code>
+  <pre>Gets information about a specific manifest.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+  manifest: string, The name of the manifest for this request. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "evaluatedConfig": "A String", # [Output Only] The fully-expanded configuration file, including any templates and references.
+    "config": "A String", # The YAML configuration for this manifest.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Self link for the manifest.
+    "name": "A String", # [Output Only] The name of the manifest.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, deployment, pageToken=None, maxResults=None)</code>
+  <pre>Lists all manifests for a given deployment.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+  pageToken: string, Specifies a nextPageToken returned by a previous list request. This token can be used to request the next page of results from a previous list request.
+  maxResults: integer, Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50)
+
+Returns:
+  An object of the form:
+
+    { # A response containing a partial list of manifests and a page token used to build the next request if the request has been truncated.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "manifests": [ # Manifests contained in this list response.
+      {
+        "evaluatedConfig": "A String", # [Output Only] The fully-expanded configuration file, including any templates and references.
+        "config": "A String", # The YAML configuration for this manifest.
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "selfLink": "A String", # [Output Only] Self link for the manifest.
+        "name": "A String", # [Output Only] The name of the manifest.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.operations.html b/docs/dyn/deploymentmanager_v2beta1.operations.html
new file mode 100644
index 0000000..b23ce91
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.operations.html
@@ -0,0 +1,211 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a> . <a href="deploymentmanager_v2beta1.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, operation)</a></code></p>
+<p class="firstline">Gets information about a specific Operation.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all Operations for a project.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, operation)</code>
+  <pre>Gets information about a specific Operation.
+
+Args:
+  project: string, The project ID for this request. (required)
+  operation: string, The name of the operation for this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "name": "A String", # [Output Only] Name of the operation.
+    "warnings": [ # [Output Only] If warning messages generated during processing of this operation, this field will be populated.
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "httpErrorStatusCode": 42, # [Output Only] If operation fails, the HTTP error status code returned, e.g. 404.
+    "user": "A String", # [Output Only] User who requested the operation, for example "user@example.com"
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "operationType": "A String", # [Output Only] Type of the operation. Examples include "insert", or "delete"
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "httpErrorMessage": "A String", # [Output Only] If operation fails, the HTTP error message returned, e.g. NOT FOUND.
+    "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 format.
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] Self link for the manifest.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Lists all Operations for a project.
+
+Args:
+  project: string, The project ID for this request. (required)
+  pageToken: string, Specifies a nextPageToken returned by a previous list request. This token can be used to request the next page of results from a previous list request.
+  maxResults: integer, Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50)
+
+Returns:
+  An object of the form:
+
+    { # A response containing a partial list of operations and a page token used to build the next request if the request has been truncated.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "operations": [ # Operations contained in this list response.
+      { # An operation resource, used to manage asynchronous API requests.
+        "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+        "name": "A String", # [Output Only] Name of the operation.
+        "warnings": [ # [Output Only] If warning messages generated during processing of this operation, this field will be populated.
+          {
+            "message": "A String", # Optional human-readable details for this warning.
+            "code": "", # The warning type identifier for this warning.
+            "data": [ # Metadata for this warning in 'key: value' format.
+              {
+                "value": "A String", # A warning data value corresponding to the key.
+                "key": "A String", # A key for the warning data.
+              },
+            ],
+          },
+        ],
+        "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+        "httpErrorStatusCode": 42, # [Output Only] If operation fails, the HTTP error status code returned, e.g. 404.
+        "user": "A String", # [Output Only] User who requested the operation, for example "user@example.com"
+        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # An optional, human-readable error message.
+              "code": "A String", # The error type identifier for this error.
+              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+        "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+        "operationType": "A String", # [Output Only] Type of the operation. Examples include "insert", or "delete"
+        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+        "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+        "httpErrorMessage": "A String", # [Output Only] If operation fails, the HTTP error message returned, e.g. NOT FOUND.
+        "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+        "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 format.
+        "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+        "selfLink": "A String", # [Output Only] Self link for the manifest.
+        "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.resources.html b/docs/dyn/deploymentmanager_v2beta1.resources.html
new file mode 100644
index 0000000..610a6d8
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.resources.html
@@ -0,0 +1,159 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a> . <a href="deploymentmanager_v2beta1.resources.html">resources</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, deployment, resource)</a></code></p>
+<p class="firstline">Gets information about a single resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, deployment, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all resources in a given deployment.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, deployment, resource)</code>
+  <pre>Gets information about a single resource.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+  resource: string, The name of the resource for this request. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "errors": [ # [Output Only] A list of any errors that occurred during deployment.
+      "A String",
+    ],
+    "name": "A String", # [Output Only] The name of the resource as it appears in the YAML config.
+    "url": "A String", # [Output Only] The URL of the actual resource.
+    "manifest": "A String", # [Output Only] URL of the manifest representing the current configuration of this resource.
+    "state": "A String", # [Output Only] The state of the resource.
+    "intent": "A String", # [Output Only] The intended state of the resource.
+    "type": "A String", # [Output Only] The type of the resource, for example ?compute.v1.instance?, or ?replicaPools.v1beta2.instanceGroupManager?
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, deployment, pageToken=None, maxResults=None)</code>
+  <pre>Lists all resources in a given deployment.
+
+Args:
+  project: string, The project ID for this request. (required)
+  deployment: string, The name of the deployment for this request. (required)
+  pageToken: string, Specifies a nextPageToken returned by a previous list request. This token can be used to request the next page of results from a previous list request.
+  maxResults: integer, Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50)
+
+Returns:
+  An object of the form:
+
+    { # A response containing a partial list of resources and a page token used to build the next request if the request has been truncated.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "resources": [ # Resources contained in this list response.
+      {
+        "errors": [ # [Output Only] A list of any errors that occurred during deployment.
+          "A String",
+        ],
+        "name": "A String", # [Output Only] The name of the resource as it appears in the YAML config.
+        "url": "A String", # [Output Only] The URL of the actual resource.
+        "manifest": "A String", # [Output Only] URL of the manifest representing the current configuration of this resource.
+        "state": "A String", # [Output Only] The state of the resource.
+        "intent": "A String", # [Output Only] The intended state of the resource.
+        "type": "A String", # [Output Only] The type of the resource, for example ?compute.v1.instance?, or ?replicaPools.v1beta2.instanceGroupManager?
+        "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/deploymentmanager_v2beta1.types.html b/docs/dyn/deploymentmanager_v2beta1.types.html
new file mode 100644
index 0000000..d4f6b97
--- /dev/null
+++ b/docs/dyn/deploymentmanager_v2beta1.types.html
@@ -0,0 +1,102 @@
+<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="deploymentmanager_v2beta1.html">Google Cloud Deployment Manager API V2</a> . <a href="deploymentmanager_v2beta1.types.html">types</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all Types for Deployment Manager.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Lists all Types for Deployment Manager.
+
+Args:
+  project: string, The project ID for this request. (required)
+  pageToken: string, Specifies a nextPageToken returned by a previous list request. This token can be used to request the next page of results from a previous list request.
+  maxResults: integer, Maximum count of results to be returned. Acceptable values are 0 to 100, inclusive. (Default: 50)
+
+Returns:
+  An object of the form:
+
+    { # A response that returns all Types supported by Deployment Manager
+    "types": [ # Types supported by Deployment Manager
+      { # A type supported by Deployment Manager.
+        "name": "A String", # Name of the type.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.accountActiveAdSummaries.html b/docs/dyn/dfareporting_v2_0.accountActiveAdSummaries.html
new file mode 100644
index 0000000..f0297c9
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.accountActiveAdSummaries.html
@@ -0,0 +1,101 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.accountActiveAdSummaries.html">accountActiveAdSummaries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, summaryAccountId)</a></code></p>
+<p class="firstline">Gets the account's active ad summary by account ID.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, summaryAccountId)</code>
+  <pre>Gets the account's active ad summary by account ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  summaryAccountId: string, Account ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Gets a summary of active ads in an account.
+    "availableAds": "A String", # Ads that can be activated for the account.
+    "kind": "dfareporting#accountActiveAdSummary", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountActiveAdSummary".
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for the account.
+    "activeAds": "A String", # Ads that have been activated for the account
+    "accountId": "A String", # ID of the account.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.accountPermissionGroups.html b/docs/dyn/dfareporting_v2_0.accountPermissionGroups.html
new file mode 100644
index 0000000..d6ccf38
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.accountPermissionGroups.html
@@ -0,0 +1,124 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.accountPermissionGroups.html">accountPermissionGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one account permission group by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves the list of account permission groups.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one account permission group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account permission group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.
+    "kind": "dfareporting#accountPermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroup".
+    "id": "A String", # ID of this account permission group.
+    "name": "A String", # Name of this account permission group.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves the list of account permission groups.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Account Permission Group List Response
+    "kind": "dfareporting#accountPermissionGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroupsListResponse".
+    "accountPermissionGroups": [ # Account permission group collection
+      { # AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.
+        "kind": "dfareporting#accountPermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroup".
+        "id": "A String", # ID of this account permission group.
+        "name": "A String", # Name of this account permission group.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.accountPermissions.html b/docs/dyn/dfareporting_v2_0.accountPermissions.html
new file mode 100644
index 0000000..576c612
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.accountPermissions.html
@@ -0,0 +1,142 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.accountPermissions.html">accountPermissions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one account permission by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves the list of account permissions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one account permission by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account permission ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountPermissions contains information about a particular account permission. Some features of DCM require an account permission to be present in the account.
+    "kind": "dfareporting#accountPermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermission".
+    "name": "A String", # Name of this account permission.
+    "level": "A String", # Administrative level required to enable this account permission.
+    "permissionGroupId": "A String", # Permission group of this account permission.
+    "accountProfiles": [ # Account profiles associated with this account permission.
+        #
+        # Possible values are:
+        # - "ACCOUNT_PROFILE_BASIC"
+        # - "ACCOUNT_PROFILE_STANDARD"
+      "A String",
+    ],
+    "id": "A String", # ID of this account permission.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves the list of account permissions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Account Permission List Response
+    "accountPermissions": [ # Account permission collection
+      { # AccountPermissions contains information about a particular account permission. Some features of DCM require an account permission to be present in the account.
+        "kind": "dfareporting#accountPermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermission".
+        "name": "A String", # Name of this account permission.
+        "level": "A String", # Administrative level required to enable this account permission.
+        "permissionGroupId": "A String", # Permission group of this account permission.
+        "accountProfiles": [ # Account profiles associated with this account permission.
+            #
+            # Possible values are:
+            # - "ACCOUNT_PROFILE_BASIC"
+            # - "ACCOUNT_PROFILE_STANDARD"
+          "A String",
+        ],
+        "id": "A String", # ID of this account permission.
+      },
+    ],
+    "kind": "dfareporting#accountPermissionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionsListResponse".
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.accountUserProfiles.html b/docs/dyn/dfareporting_v2_0.accountUserProfiles.html
new file mode 100644
index 0000000..0cc6ef5
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.accountUserProfiles.html
@@ -0,0 +1,540 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.accountUserProfiles.html">accountUserProfiles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one account user profile by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, subaccountId=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, userRoleId=None, active=None)</a></code></p>
+<p class="firstline">Retrieves a list of account user profiles, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing account user profile. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing account user profile.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one account user profile by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User profile ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, subaccountId=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, userRoleId=None, active=None)</code>
+  <pre>Retrieves a list of account user profiles, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015" or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015" or simply "user profile".
+  subaccountId: string, Select only user profiles with the specified subaccount ID.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only user profiles with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  userRoleId: string, Select only user profiles with the specified user role ID.
+  active: boolean, Select only active user profiles.
+
+Returns:
+  An object of the form:
+
+    { # Account User Profile List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "accountUserProfiles": [ # Account user profile collection
+      { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+          "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+          "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+          "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+          "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "locale": "A String", # Locale of the user profile. This is a required field.
+              # Acceptable values are:
+              # - "cs" (Czech)
+              # - "de" (German)
+              # - "en" (English)
+              # - "en-GB" (English United Kingdom)
+              # - "es" (Spanish)
+              # - "fr" (French)
+              # - "it" (Italian)
+              # - "ja" (Japanese)
+              # - "ko" (Korean)
+              # - "pl" (Polish)
+              # - "pt-BR" (Portuguese Brazil)
+              # - "ru" (Russian)
+              # - "sv" (Swedish)
+              # - "tr" (Turkish)
+              # - "zh-CN" (Chinese Simplified)
+              # - "zh-TW" (Chinese Traditional)
+          "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "comments": "A String", # Comments for this user profile.
+          "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+          "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+          "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+          "traffickerType": "A String", # Trafficker type of this user profile.
+          "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+          "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+          "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#accountUserProfilesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfilesListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing account user profile. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+    "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+    "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+    "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+    "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "locale": "A String", # Locale of the user profile. This is a required field.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "comments": "A String", # Comments for this user profile.
+    "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+    "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+    "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+    "traffickerType": "A String", # Trafficker type of this user profile.
+    "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+    "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+    "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing account user profile.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+    "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+    "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+    "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+    "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "locale": "A String", # Locale of the user profile. This is a required field.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "comments": "A String", # Comments for this user profile.
+    "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+    "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+    "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+    "traffickerType": "A String", # Trafficker type of this user profile.
+    "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+    "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+    "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.accounts.html b/docs/dyn/dfareporting_v2_0.accounts.html
new file mode 100644
index 0000000..fa9ede9
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.accounts.html
@@ -0,0 +1,790 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one account by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, active=None)</a></code></p>
+<p class="firstline">Retrieves the list of accounts, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one account by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, active=None)</code>
+  <pre>Retrieves the list of accounts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015" or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015" or simply "account".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only accounts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  active: boolean, Select only active accounts. Don't set this field to select both active and non-active accounts.
+
+Returns:
+  An object of the form:
+
+    { # Account List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#accountsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountsListResponse".
+    "accounts": [ # Account collection
+      { # Contains properties of a DCM account.
+          "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+          "countryId": "A String", # ID of the country associated with this account.
+          "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+            "A String",
+          ],
+          "description": "A String", # Description of this account.
+          "maximumImageSize": "A String", # Maximum image size allowed for this account.
+          "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+              # Acceptable values are:
+              # - "1" for USD
+              # - "2" for GBP
+              # - "3" for ESP
+              # - "4" for SEK
+              # - "5" for CAD
+              # - "6" for JPY
+              # - "7" for DEM
+              # - "8" for AUD
+              # - "9" for FRF
+              # - "10" for ITL
+              # - "11" for DKK
+              # - "12" for NOK
+              # - "13" for FIM
+              # - "14" for ZAR
+              # - "15" for IEP
+              # - "16" for NLG
+              # - "17" for EUR
+              # - "18" for KRW
+              # - "19" for TWD
+              # - "20" for SGD
+              # - "21" for CNY
+              # - "22" for HKD
+              # - "23" for NZD
+              # - "24" for MYR
+              # - "25" for BRL
+              # - "26" for PTE
+              # - "27" for MXP
+              # - "28" for CLP
+              # - "29" for TRY
+              # - "30" for ARS
+              # - "31" for PEN
+              # - "32" for ILS
+              # - "33" for CHF
+              # - "34" for VEF
+              # - "35" for COP
+              # - "36" for GTQ
+          "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+          "accountPermissionIds": [ # Account permissions assigned to this account.
+            "A String",
+          ],
+          "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+          "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+          "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+          "locale": "A String", # Locale of this account.
+              # Acceptable values are:
+              # - "cs" (Czech)
+              # - "de" (German)
+              # - "en" (English)
+              # - "en-GB" (English United Kingdom)
+              # - "es" (Spanish)
+              # - "fr" (French)
+              # - "it" (Italian)
+              # - "ja" (Japanese)
+              # - "ko" (Korean)
+              # - "pl" (Polish)
+              # - "pt-BR" (Portuguese Brazil)
+              # - "ru" (Russian)
+              # - "sv" (Swedish)
+              # - "tr" (Turkish)
+              # - "zh-CN" (Chinese Simplified)
+              # - "zh-TW" (Chinese Traditional)
+          "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+          "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+            "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+                # Acceptable values are:
+                #
+                # - "1" for "America/New_York"
+                # - "2" for "Europe/London"
+                # - "3" for "Europe/Paris"
+                # - "4" for "Africa/Johannesburg"
+                # - "5" for "Asia/Jerusalem"
+                # - "6" for "Asia/Shanghai"
+                # - "7" for "Asia/Hong_Kong"
+                # - "8" for "Asia/Tokyo"
+                # - "9" for "Australia/Sydney"
+                # - "10" for "Asia/Dubai"
+                # - "11" for "America/Los_Angeles"
+                # - "12" for "Pacific/Auckland"
+                # - "13" for "America/Sao_Paulo"
+            "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+            "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+              "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+              "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            },
+          },
+          "active": True or False, # Whether this account is active.
+          "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+          "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+          "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing account. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM account.
+    "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+    "countryId": "A String", # ID of the country associated with this account.
+    "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+      "A String",
+    ],
+    "description": "A String", # Description of this account.
+    "maximumImageSize": "A String", # Maximum image size allowed for this account.
+    "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+        # Acceptable values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+    "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+    "accountPermissionIds": [ # Account permissions assigned to this account.
+      "A String",
+    ],
+    "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+    "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+    "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+    "locale": "A String", # Locale of this account.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+    "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+      "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+          # Acceptable values are:
+          #
+          # - "1" for "America/New_York"
+          # - "2" for "Europe/London"
+          # - "3" for "Europe/Paris"
+          # - "4" for "Africa/Johannesburg"
+          # - "5" for "Asia/Jerusalem"
+          # - "6" for "Asia/Shanghai"
+          # - "7" for "Asia/Hong_Kong"
+          # - "8" for "Asia/Tokyo"
+          # - "9" for "Australia/Sydney"
+          # - "10" for "Asia/Dubai"
+          # - "11" for "America/Los_Angeles"
+          # - "12" for "Pacific/Auckland"
+          # - "13" for "America/Sao_Paulo"
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+    },
+    "active": True or False, # Whether this account is active.
+    "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+    "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing account.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM account.
+    "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+    "countryId": "A String", # ID of the country associated with this account.
+    "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+      "A String",
+    ],
+    "description": "A String", # Description of this account.
+    "maximumImageSize": "A String", # Maximum image size allowed for this account.
+    "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+        # Acceptable values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+    "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+    "accountPermissionIds": [ # Account permissions assigned to this account.
+      "A String",
+    ],
+    "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+    "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+    "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+    "locale": "A String", # Locale of this account.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+    "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+      "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+          # Acceptable values are:
+          #
+          # - "1" for "America/New_York"
+          # - "2" for "Europe/London"
+          # - "3" for "Europe/Paris"
+          # - "4" for "Africa/Johannesburg"
+          # - "5" for "Asia/Jerusalem"
+          # - "6" for "Asia/Shanghai"
+          # - "7" for "Asia/Hong_Kong"
+          # - "8" for "Asia/Tokyo"
+          # - "9" for "Australia/Sydney"
+          # - "10" for "Asia/Dubai"
+          # - "11" for "America/Los_Angeles"
+          # - "12" for "Pacific/Auckland"
+          # - "13" for "America/Sao_Paulo"
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+    },
+    "active": True or False, # Whether this account is active.
+    "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+    "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.ads.html b/docs/dyn/dfareporting_v2_0.ads.html
new file mode 100644
index 0000000..9c5c8f3
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.ads.html
@@ -0,0 +1,2727 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.ads.html">ads</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one ad by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new ad.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, landingPageIds=None, overriddenEventTagId=None, campaignIds=None, sizeIds=None, archived=None, creativeOptimizationConfigurationIds=None, sslCompliant=None, pageToken=None, sortOrder=None, type=None, sslRequired=None, creativeIds=None, remarketingListIds=None, maxResults=None, creativeType=None, placementIds=None, active=None, compatibility=None, advertiserId=None, searchString=None, audienceSegmentIds=None, ids=None, sortField=None, dynamicClickTracker=None)</a></code></p>
+<p class="firstline">Retrieves a list of ads, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing ad. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing ad.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one ad by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Ad ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a connection type that can be targeted by ads.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new ad.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a connection type that can be targeted by ads.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a connection type that can be targeted by ads.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, landingPageIds=None, overriddenEventTagId=None, campaignIds=None, sizeIds=None, archived=None, creativeOptimizationConfigurationIds=None, sslCompliant=None, pageToken=None, sortOrder=None, type=None, sslRequired=None, creativeIds=None, remarketingListIds=None, maxResults=None, creativeType=None, placementIds=None, active=None, compatibility=None, advertiserId=None, searchString=None, audienceSegmentIds=None, ids=None, sortField=None, dynamicClickTracker=None)</code>
+  <pre>Retrieves a list of ads, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  landingPageIds: string, Select only ads with these landing page IDs. (repeated)
+  overriddenEventTagId: string, Select only ads with this event tag override ID.
+  campaignIds: string, Select only ads with these campaign IDs. (repeated)
+  sizeIds: string, Select only ads with these size IDs. (repeated)
+  archived: boolean, Select only archived ads.
+  creativeOptimizationConfigurationIds: string, Select only ads with these creative optimization configuration IDs. (repeated)
+  sslCompliant: boolean, Select only ads that are SSL-compliant.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  type: string, Select only ads with these types. (repeated)
+    Allowed values
+      AD_SERVING_CLICK_TRACKER - 
+      AD_SERVING_DEFAULT_AD - 
+      AD_SERVING_STANDARD_AD - 
+      AD_SERVING_TRACKING - 
+  sslRequired: boolean, Select only ads that require SSL.
+  creativeIds: string, Select only ads with these creative IDs assigned. (repeated)
+  remarketingListIds: string, Select only ads whose list targeting expression use these remarketing list IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  creativeType: string, Select only ads with the specified creativeType.
+    Allowed values
+      BRAND_SAFE_DEFAULT_INSTREAM_VIDEO - 
+      CUSTOM_INPAGE - 
+      CUSTOM_INTERSTITIAL - 
+      ENHANCED_BANNER - 
+      ENHANCED_IMAGE - 
+      FLASH_INPAGE - 
+      HTML5_BANNER - 
+      IMAGE - 
+      INSTREAM_VIDEO - 
+      INTERNAL_REDIRECT - 
+      INTERSTITIAL_INTERNAL_REDIRECT - 
+      REDIRECT - 
+      RICH_MEDIA_EXPANDING - 
+      RICH_MEDIA_IM_EXPAND - 
+      RICH_MEDIA_INPAGE - 
+      RICH_MEDIA_INPAGE_FLOATING - 
+      RICH_MEDIA_INTERSTITIAL_FLOAT - 
+      RICH_MEDIA_MOBILE_IN_APP - 
+      RICH_MEDIA_MULTI_FLOATING - 
+      RICH_MEDIA_PEEL_DOWN - 
+      TRACKING_TEXT - 
+      VPAID_LINEAR - 
+      VPAID_NON_LINEAR - 
+  placementIds: string, Select only ads with these placement IDs assigned. (repeated)
+  active: boolean, Select only active ads.
+  compatibility: string, Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+    Allowed values
+      APP - 
+      APP_INTERSTITIAL - 
+      IN_STREAM_VIDEO - 
+      WEB - 
+      WEB_INTERSTITIAL - 
+  advertiserId: string, Select only ads with this advertiser ID.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015" or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015" or simply "ad".
+  audienceSegmentIds: string, Select only ads with these audience segment IDs. (repeated)
+  ids: string, Select only ads with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  dynamicClickTracker: boolean, Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.
+
+Returns:
+  An object of the form:
+
+    { # Ad List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#adsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#adsListResponse".
+    "ads": [ # Ad collection
+      { # Contains properties of a DCM ad.
+          "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+            "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+            "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+          },
+          "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+          "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+          "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+            "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+              { # Contains information about a country that can be targeted by ads.
+                "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+                "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+                "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+                "countryCode": "A String", # Country code.
+                "name": "A String", # Name of this country.
+              },
+            ],
+            "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+            "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+              { # Contains information about a postal code that can be targeted by ads.
+                "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+                "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+                "id": "A String", # ID of this postal code.
+                "countryCode": "A String", # Country code of the country to which this postal code belongs.
+              },
+            ],
+            "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+              { # Contains information about a region that can be targeted by ads.
+                "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+                "countryDartId": "A String", # DART ID of the country to which this region belongs.
+                "name": "A String", # Name of this region.
+                "countryCode": "A String", # Country code of the country to which this region belongs.
+                "regionCode": "A String", # Region code.
+                "dartId": "A String", # DART ID of this region.
+              },
+            ],
+            "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+              { # Contains information about a city that can be targeted by ads.
+                "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+                "countryDartId": "A String", # DART ID of the country to which this city belongs.
+                "name": "A String", # Name of this city.
+                "countryCode": "A String", # Country code of the country to which this city belongs.
+                "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+                "regionCode": "A String", # Region code of the region to which this city belongs.
+                "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+                "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+                "regionDartId": "A String", # DART ID of the region to which this city belongs.
+              },
+            ],
+            "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+              { # Contains information about a metro region that can be targeted by ads.
+                "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+                "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+                "name": "A String", # Name of this metro region.
+                "countryCode": "A String", # Country code of the country to which this metro region belongs.
+                "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+                "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+                "dartId": "A String", # DART ID of this metro region.
+              },
+            ],
+          },
+          "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+            "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+            "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+            "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+              "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+              "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+            },
+            "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "eventTagOverrides": [ # Event tag overrides for this ad.
+            { # Event tag override information.
+              "enabled": True or False, # Whether this override is enabled.
+              "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+            },
+          ],
+          "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+          "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+            "expression": "A String", # Expression describing which lists are being targeted by the ad.
+          },
+          "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+          "archived": True or False, # Whether this ad is archived.
+          "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about a platform type that can be targeted by ads.
+                "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+                "id": "A String", # ID of this platform type.
+                "name": "A String", # Name of this platform type.
+              },
+            ],
+            "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+              { # Contains information about a particular version of an operating system that can be targeted by ads.
+                "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+                "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+                "name": "A String", # Name of this operating system version.
+                "id": "A String", # ID of this operating system version.
+                "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+                  "mobile": True or False, # Whether this operating system is for mobile.
+                  "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+                  "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+                  "name": "A String", # Name of this operating system.
+                  "desktop": True or False, # Whether this operating system is for desktop.
+                },
+                "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+              },
+            ],
+            "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about a browser that can be targeted by ads.
+                "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+                "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+                "name": "A String", # Name of this browser.
+                "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+                "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+                "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+              },
+            ],
+            "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+              { # Contains information about an operating system that can be targeted by ads.
+                "mobile": True or False, # Whether this operating system is for mobile.
+                "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+                "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+                "name": "A String", # Name of this operating system.
+                "desktop": True or False, # Whether this operating system is for desktop.
+              },
+            ],
+            "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+              { # Contains information about a mobile carrier that can be targeted by ads.
+                "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+                "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+                "id": "A String", # ID of this mobile carrier.
+                "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+                "name": "A String", # Name of this mobile carrier.
+              },
+            ],
+            "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about a connection type that can be targeted by ads.
+                "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+                "id": "A String", # ID of this connection type.
+                "name": "A String", # Name of this connection type.
+              },
+            ],
+          },
+          "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+            "creativeAssignments": [ # Creative assignments in this creative rotation.
+              { # Creative Assignment.
+                "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+                "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+                "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+                "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                    # Applicable when the creative type is any of the following:
+                    # - RICH_MEDIA_INPAGE
+                    # - RICH_MEDIA_INPAGE_FLOATING
+                    # - RICH_MEDIA_IM_EXPAND
+                    # - RICH_MEDIA_EXPANDING
+                    # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                    # - RICH_MEDIA_MOBILE_IN_APP
+                    # - RICH_MEDIA_MULTI_FLOATING
+                    # - RICH_MEDIA_PEEL_DOWN
+                    # - ADVANCED_BANNER
+                    # - VPAID_LINEAR
+                    # - VPAID_NON_LINEAR
+                  { # Rich Media Exit Override.
+                    "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                    "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                    "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+                  },
+                ],
+                "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+                "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+                  { # Creative Group Assignment.
+                    "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                    "creativeGroupId": "A String", # ID of the creative group to be assigned.
+                  },
+                ],
+                "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+                  { # Companion Click-through override.
+                    "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                    },
+                    "creativeId": "A String", # ID of the creative for this companion click-through override.
+                  },
+                ],
+                "startTime": "A String", # Date and time that the assigned creative should start serving.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+                "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+                "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+                "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              },
+            ],
+            "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+            "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+            "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+          },
+          "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "comments": "A String", # Comments for this ad.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+          "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+          "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "expression": "A String", # Keyword expression being targeted by the ad.
+          },
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+            "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+            "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+          },
+          "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+          "active": True or False, # Whether this ad is active.
+          "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+          "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+          "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+          "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+            "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+              42,
+            ],
+            "daysOfWeek": [ # Days of the week when the ad will serve.
+                #
+                # Acceptable values are:
+                # - "SUNDAY"
+                # - "MONDAY"
+                # - "TUESDAY"
+                # - "WEDNESDAY"
+                # - "THURSDAY"
+                # - "FRIDAY"
+                # - "SATURDAY"
+              "A String",
+            ],
+          },
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "placementAssignments": [ # Placement assignments for this ad.
+            { # Placement Assignment.
+              "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+              "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+              "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            },
+          ],
+          "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+          "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing ad. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Ad ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a connection type that can be targeted by ads.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a connection type that can be targeted by ads.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing ad.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a connection type that can be targeted by ads.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "remarketing_list_expression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a connection type that can be targeted by ads.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.advertiserGroups.html b/docs/dyn/dfareporting_v2_0.advertiserGroups.html
new file mode 100644
index 0000000..612146a
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.advertiserGroups.html
@@ -0,0 +1,263 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.advertiserGroups.html">advertiserGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing advertiser group.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one advertiser group by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new advertiser group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of advertiser groups, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing advertiser group. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing advertiser group.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one advertiser group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Retrieves a list of advertiser groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015" or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015" or simply "advertisergroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only advertiser groups with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Advertiser Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#advertiserGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroupsListResponse".
+    "advertiserGroups": [ # Advertiser group collection
+      { # Groups advertisers together so that reports can be generated for the entire group at once.
+          "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+          "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+          "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing advertiser group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.advertisers.html b/docs/dyn/dfareporting_v2_0.advertisers.html
new file mode 100644
index 0000000..835d407
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.advertisers.html
@@ -0,0 +1,459 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.advertisers.html">advertisers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one advertiser by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new advertiser.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, includeAdvertisersWithoutGroupsOnly=None, onlyParent=None, pageToken=None, sortOrder=None, status=None, maxResults=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, floodlightConfigurationIds=None, sortField=None)</a></code></p>
+<p class="firstline">Retrieves a list of advertisers, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing advertiser. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing advertiser.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one advertiser by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new advertiser.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, includeAdvertisersWithoutGroupsOnly=None, onlyParent=None, pageToken=None, sortOrder=None, status=None, maxResults=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, floodlightConfigurationIds=None, sortField=None)</code>
+  <pre>Retrieves a list of advertisers, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  includeAdvertisersWithoutGroupsOnly: boolean, Select only advertisers which do not belong to any advertiser group.
+  onlyParent: boolean, Select only advertisers which use another advertiser's floodlight configuration.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  status: string, Select only advertisers with the specified status.
+    Allowed values
+      APPROVED - 
+      ON_HOLD - 
+  maxResults: integer, Maximum number of results to return.
+  advertiserGroupIds: string, Select only advertisers with these advertiser group IDs. (repeated)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015" or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015" or simply "advertiser".
+  subaccountId: string, Select only advertisers with these subaccount IDs.
+  ids: string, Select only advertisers with these IDs. (repeated)
+  floodlightConfigurationIds: string, Select only advertisers with these floodlight configuration IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # Advertiser List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "advertisers": [ # Advertiser collection
+      { # Contains properties of a DCM advertiser.
+          "status": "A String", # Status of this advertiser.
+          "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+          "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+          "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+          "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+          "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+              # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+              # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+          "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#advertisersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertisersListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing advertiser. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing advertiser.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.browsers.html b/docs/dyn/dfareporting_v2_0.browsers.html
new file mode 100644
index 0000000..51260ca
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.browsers.html
@@ -0,0 +1,106 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.browsers.html">browsers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of browsers.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of browsers.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Browser List Response
+    "kind": "dfareporting#browsersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browsersListResponse".
+    "browsers": [ # Browser collection
+      { # Contains information about a browser that can be targeted by ads.
+        "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+        "name": "A String", # Name of this browser.
+        "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+        "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+        "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.campaignCreativeAssociations.html b/docs/dyn/dfareporting_v2_0.campaignCreativeAssociations.html
new file mode 100644
index 0000000..ba90129
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.campaignCreativeAssociations.html
@@ -0,0 +1,155 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.campaignCreativeAssociations.html">campaignCreativeAssociations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, campaignId, body)</a></code></p>
+<p class="firstline">Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, campaignId, maxResults=None, pageToken=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves the list of creative IDs associated with the specified campaign.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(profileId, campaignId, body)</code>
+  <pre>Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Campaign ID in this association. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Identifies a creative which has been associated with a given campaign.
+    "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+    "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Identifies a creative which has been associated with a given campaign.
+      "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+      "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, campaignId, maxResults=None, pageToken=None, sortOrder=None)</code>
+  <pre>Retrieves the list of creative IDs associated with the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Campaign ID in this association. (required)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Campaign Creative Association List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "campaignCreativeAssociations": [ # Campaign creative association collection
+      { # Identifies a creative which has been associated with a given campaign.
+          "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+          "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+        },
+    ],
+    "kind": "dfareporting#campaignCreativeAssociationsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociationsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.campaigns.html b/docs/dyn/dfareporting_v2_0.campaigns.html
new file mode 100644
index 0000000..62b770f
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.campaigns.html
@@ -0,0 +1,1139 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.campaigns.html">campaigns</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one campaign by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, defaultLandingPageName, defaultLandingPageUrl, body)</a></code></p>
+<p class="firstline">Inserts a new campaign.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, overriddenEventTagId=None, archived=None, advertiserIds=None, pageToken=None, sortOrder=None, maxResults=None, excludedIds=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, sortField=None, atLeastOneOptimizationActivity=None)</a></code></p>
+<p class="firstline">Retrieves a list of campaigns, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing campaign. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing campaign.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one campaign by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Campaign ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, defaultLandingPageName, defaultLandingPageUrl, body)</code>
+  <pre>Inserts a new campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  defaultLandingPageName: string, Default landing page name for this new campaign. Must be less than 256 characters long. (required)
+  defaultLandingPageUrl: string, Default landing page URL for this new campaign. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, overriddenEventTagId=None, archived=None, advertiserIds=None, pageToken=None, sortOrder=None, maxResults=None, excludedIds=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, sortField=None, atLeastOneOptimizationActivity=None)</code>
+  <pre>Retrieves a list of campaigns, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  overriddenEventTagId: string, Select only campaigns that have overridden this event tag ID.
+  archived: boolean, Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.
+  advertiserIds: string, Select only campaigns that belong to these advertisers. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxResults: integer, Maximum number of results to return.
+  excludedIds: string, Exclude campaigns with these IDs. (repeated)
+  advertiserGroupIds: string, Select only campaigns whose advertisers belong to these advertiser groups. (repeated)
+  searchString: string, Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015" or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015" or simply "campaign".
+  subaccountId: string, Select only campaigns that belong to this subaccount.
+  ids: string, Select only campaigns with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  atLeastOneOptimizationActivity: boolean, Select only campaigns that have at least one optimization activity.
+
+Returns:
+  An object of the form:
+
+    { # Campaign List Response
+    "campaigns": [ # Campaign collection
+      { # Contains properties of a DCM campaign.
+          "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+          "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+          "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+          "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+            "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+            "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+          },
+          "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+            { # Event tag override information.
+              "enabled": True or False, # Whether this override is enabled.
+              "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+            },
+          ],
+          "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+            "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+              { # Creative optimization activity.
+                "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+                "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+                "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+              },
+            ],
+            "optimizationModel": "A String", # Optimization model for this configuration.
+            "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+            "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+          },
+          "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+          "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+          "traffickerEmails": [ # Campaign trafficker contact emails.
+            "A String",
+          ],
+          "archived": True or False, # Whether this campaign has been archived.
+          "externalId": "A String", # External ID for this campaign.
+          "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+          "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+          "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+            "A String",
+          ],
+          "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+            { # Creative optimization settings.
+              "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+                { # Creative optimization activity.
+                  "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+                  "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                    "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                    "value": "A String", # The value of the dimension.
+                    "dimensionName": "A String", # The name of the dimension.
+                    "etag": "A String", # The eTag of this response for caching purposes.
+                    "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                    "id": "A String", # The ID associated with the value if available.
+                  },
+                  "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+                },
+              ],
+              "optimizationModel": "A String", # Optimization model for this configuration.
+              "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+              "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+            },
+          ],
+          "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+            "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+            "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+          },
+          "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+          "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+            { # Audience Segment Group.
+              "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+                { # Audience Segment.
+                  "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+                  "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+                  "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+                },
+              ],
+              "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+            },
+          ],
+        },
+    ],
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#campaignsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing campaign. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.changeLogs.html b/docs/dyn/dfareporting_v2_0.changeLogs.html
new file mode 100644
index 0000000..d05b8e0
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.changeLogs.html
@@ -0,0 +1,228 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.changeLogs.html">changeLogs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one change log by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, objectType=None, maxChangeTime=None, pageToken=None, maxResults=None, action=None, minChangeTime=None, searchString=None, userProfileIds=None, ids=None, objectIds=None)</a></code></p>
+<p class="firstline">Retrieves a list of change logs.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one change log by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Change log ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Describes a change that a user has made to a resource.
+    "changeTime": "A String", # Time when the object was modified.
+    "kind": "dfareporting#changeLog", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLog".
+    "subaccountId": "A String", # Subaccount ID of the modified object.
+    "userProfileId": "A String", # ID of the user who modified the object.
+    "objectId": "A String", # ID of the object of this change log. The object could be a campaign, placement, ad, or other type.
+    "newValue": "A String", # New value of the object field.
+    "userProfileName": "A String", # User profile name of the user who modified the object.
+    "fieldName": "A String", # Field name of the object which changed.
+    "oldValue": "A String", # Old value of the object field.
+    "action": "A String", # Action which caused the change.
+    "transactionId": "A String", # Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.
+    "objectType": "A String", # Object type of the change log.
+    "id": "A String", # ID of this change log.
+    "accountId": "A String", # Account ID of the modified object.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, objectType=None, maxChangeTime=None, pageToken=None, maxResults=None, action=None, minChangeTime=None, searchString=None, userProfileIds=None, ids=None, objectIds=None)</code>
+  <pre>Retrieves a list of change logs.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  objectType: string, Select only change logs with the specified object type.
+    Allowed values
+      OBJECT_ACCOUNT - 
+      OBJECT_ACCOUNT_BILLING_FEATURE - 
+      OBJECT_AD - 
+      OBJECT_ADVERTISER - 
+      OBJECT_ADVERTISER_GROUP - 
+      OBJECT_BILLING_ACCOUNT_GROUP - 
+      OBJECT_BILLING_FEATURE - 
+      OBJECT_BILLING_MINIMUM_FEE - 
+      OBJECT_BILLING_PROFILE - 
+      OBJECT_CAMPAIGN - 
+      OBJECT_CONTENT_CATEGORY - 
+      OBJECT_CREATIVE - 
+      OBJECT_CREATIVE_ASSET - 
+      OBJECT_CREATIVE_BUNDLE - 
+      OBJECT_CREATIVE_FIELD - 
+      OBJECT_CREATIVE_GROUP - 
+      OBJECT_DFA_SITE - 
+      OBJECT_EVENT_TAG - 
+      OBJECT_FLOODLIGHT_ACTIVITY_GROUP - 
+      OBJECT_FLOODLIGHT_ACTVITY - 
+      OBJECT_FLOODLIGHT_CONFIGURATION - 
+      OBJECT_INSTREAM_CREATIVE - 
+      OBJECT_LANDING_PAGE - 
+      OBJECT_MEDIA_ORDER - 
+      OBJECT_PLACEMENT - 
+      OBJECT_PLACEMENT_STRATEGY - 
+      OBJECT_PROVIDED_LIST_CLIENT - 
+      OBJECT_RATE_CARD - 
+      OBJECT_REMARKETING_LIST - 
+      OBJECT_RICHMEDIA_CREATIVE - 
+      OBJECT_SD_SITE - 
+      OBJECT_SIZE - 
+      OBJECT_SUBACCOUNT - 
+      OBJECT_USER_PROFILE - 
+      OBJECT_USER_PROFILE_FILTER - 
+      OBJECT_USER_ROLE - 
+  maxChangeTime: string, Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  action: string, Select only change logs with the specified action.
+    Allowed values
+      ACTION_ADD - 
+      ACTION_ASSIGN - 
+      ACTION_ASSOCIATE - 
+      ACTION_CREATE - 
+      ACTION_DELETE - 
+      ACTION_DISABLE - 
+      ACTION_EMAIL_TAGS - 
+      ACTION_ENABLE - 
+      ACTION_LINK - 
+      ACTION_MARK_AS_DEFAULT - 
+      ACTION_PUSH - 
+      ACTION_REMOVE - 
+      ACTION_SEND - 
+      ACTION_UNASSIGN - 
+      ACTION_UNLINK - 
+      ACTION_UPDATE - 
+  minChangeTime: string, Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.
+  searchString: string, Select only change logs whose object ID, user name, old or new values match the search string.
+  userProfileIds: string, Select only change logs with these user profile IDs. (repeated)
+  ids: string, Select only change logs with these IDs. (repeated)
+  objectIds: string, Select only change logs with these object IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Change Log List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#changeLogsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLogsListResponse".
+    "changeLogs": [ # Change log collection
+      { # Describes a change that a user has made to a resource.
+        "changeTime": "A String", # Time when the object was modified.
+        "kind": "dfareporting#changeLog", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLog".
+        "subaccountId": "A String", # Subaccount ID of the modified object.
+        "userProfileId": "A String", # ID of the user who modified the object.
+        "objectId": "A String", # ID of the object of this change log. The object could be a campaign, placement, ad, or other type.
+        "newValue": "A String", # New value of the object field.
+        "userProfileName": "A String", # User profile name of the user who modified the object.
+        "fieldName": "A String", # Field name of the object which changed.
+        "oldValue": "A String", # Old value of the object field.
+        "action": "A String", # Action which caused the change.
+        "transactionId": "A String", # Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.
+        "objectType": "A String", # Object type of the change log.
+        "id": "A String", # ID of this change log.
+        "accountId": "A String", # Account ID of the modified object.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.cities.html b/docs/dyn/dfareporting_v2_0.cities.html
new file mode 100644
index 0000000..1fb2832
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.cities.html
@@ -0,0 +1,113 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.cities.html">cities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, dartIds=None, namePrefix=None, regionDartIds=None, countryDartIds=None)</a></code></p>
+<p class="firstline">Retrieves a list of cities, possibly filtered.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId, dartIds=None, namePrefix=None, regionDartIds=None, countryDartIds=None)</code>
+  <pre>Retrieves a list of cities, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  dartIds: string, Select only cities with these DART IDs. (repeated)
+  namePrefix: string, Select only cities with names starting with this prefix.
+  regionDartIds: string, Select only cities from these regions. (repeated)
+  countryDartIds: string, Select only cities from these countries. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # City List Response
+    "kind": "dfareporting#citiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#citiesListResponse".
+    "cities": [ # City collection
+      { # Contains information about a city that can be targeted by ads.
+        "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+        "countryDartId": "A String", # DART ID of the country to which this city belongs.
+        "name": "A String", # Name of this city.
+        "countryCode": "A String", # Country code of the country to which this city belongs.
+        "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+        "regionCode": "A String", # Region code of the region to which this city belongs.
+        "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+        "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+        "regionDartId": "A String", # DART ID of the region to which this city belongs.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.connectionTypes.html b/docs/dyn/dfareporting_v2_0.connectionTypes.html
new file mode 100644
index 0000000..5f7e477
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.connectionTypes.html
@@ -0,0 +1,103 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.connectionTypes.html">connectionTypes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of connection types.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of connection types.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Connection Type List Response
+    "kind": "dfareporting#connectionTypesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionTypesListResponse".
+    "connectionTypes": [ # Connection Type Collection.
+      { # Contains information about a connection type that can be targeted by ads.
+        "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+        "id": "A String", # ID of this connection type.
+        "name": "A String", # Name of this connection type.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.contentCategories.html b/docs/dyn/dfareporting_v2_0.contentCategories.html
new file mode 100644
index 0000000..38c655b
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.contentCategories.html
@@ -0,0 +1,271 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.contentCategories.html">contentCategories</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing content category.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one content category by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new content category.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of content categories, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing content category. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing content category.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one content category by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "description": "A String", # Description of this content category.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "description": "A String", # Description of this content category.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "description": "A String", # Description of this content category.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Retrieves a list of content categories, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015" or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015" or simply "contentcategory".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only content categories with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Content Category List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#contentCategoriesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategoriesListResponse".
+    "contentCategories": [ # Content category collection
+      { # Organizes placements according to the contents of their associated webpages.
+          "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+          "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+          "description": "A String", # Description of this content category.
+          "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+          "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing content category. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "description": "A String", # Description of this content category.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "description": "A String", # Description of this content category.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "description": "A String", # Description of this content category.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "description": "A String", # Description of this content category.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.countries.html b/docs/dyn/dfareporting_v2_0.countries.html
new file mode 100644
index 0000000..2b55179
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.countries.html
@@ -0,0 +1,128 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.countries.html">countries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, dartId)</a></code></p>
+<p class="firstline">Gets one country by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of countries.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, dartId)</code>
+  <pre>Gets one country by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  dartId: string, Country DART ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a country that can be targeted by ads.
+    "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+    "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+    "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+    "countryCode": "A String", # Country code.
+    "name": "A String", # Name of this country.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of countries.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Country List Response
+    "kind": "dfareporting#countriesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#countriesListResponse".
+    "countries": [ # Country collection
+      { # Contains information about a country that can be targeted by ads.
+        "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+        "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+        "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+        "countryCode": "A String", # Country code.
+        "name": "A String", # Name of this country.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.creativeAssets.html b/docs/dyn/dfareporting_v2_0.creativeAssets.html
new file mode 100644
index 0000000..7194e10
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.creativeAssets.html
@@ -0,0 +1,185 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.creativeAssets.html">creativeAssets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, advertiserId, body=None, media_body=None)</a></code></p>
+<p class="firstline">Inserts a new creative asset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(profileId, advertiserId, body=None, media_body=None)</code>
+  <pre>Inserts a new creative asset.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Advertiser ID of this creative. This is a required field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.
+    "warnedValidationRules": [ # Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.
+        # 
+        # Possible values are:
+        # - "CLICK_TAG_NON_TOP_LEVEL"
+        # - "CLICK_TAG_MISSING"
+        # - "CLICK_TAG_MORE_THAN_ONE"
+        # - "CLICK_TAG_INVALID"
+        # - "ORPHANED_ASSET"
+        # - "PRIMARY_HTML_MISSING"
+        # - "EXTERNAL_FILE_REFERENCED"
+        # - "MRAID_REFERENCED"
+        # - "ADMOB_REFERENCED"
+        # - "FILE_TYPE_INVALID"
+        # - "ZIP_INVALID"
+        # - "LINKED_FILE_NOT_FOUND"
+        # - "MAX_FLASH_VERSION_11"
+        # - "NOT_SSL_COMPLIANT"
+        # - "FILE_DETAIL_EMPTY"
+        # - "ASSET_INVALID"
+        # - "GWD_PROPERTIES_INVALID"
+        # - "ENABLER_UNSUPPORTED_METHOD_DCM"
+        # - "ASSET_FORMAT_UNSUPPORTED_DCM"
+        # - "COMPONENT_UNSUPPORTED_DCM"
+        # - "HTML5_FEATURE_UNSUPPORTED' "
+      "A String",
+    ],
+    "clickTags": [ # List of detected click tags for assets. This is a read-only auto-generated field.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "kind": "dfareporting#creativeAssetMetadata", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeAssetMetadata".
+    "assetIdentifier": { # Creative Asset ID. # ID of the creative asset. This is a required field.
+      "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+      "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+    },
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.
+      "warnedValidationRules": [ # Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.
+          #
+          # Possible values are:
+          # - "CLICK_TAG_NON_TOP_LEVEL"
+          # - "CLICK_TAG_MISSING"
+          # - "CLICK_TAG_MORE_THAN_ONE"
+          # - "CLICK_TAG_INVALID"
+          # - "ORPHANED_ASSET"
+          # - "PRIMARY_HTML_MISSING"
+          # - "EXTERNAL_FILE_REFERENCED"
+          # - "MRAID_REFERENCED"
+          # - "ADMOB_REFERENCED"
+          # - "FILE_TYPE_INVALID"
+          # - "ZIP_INVALID"
+          # - "LINKED_FILE_NOT_FOUND"
+          # - "MAX_FLASH_VERSION_11"
+          # - "NOT_SSL_COMPLIANT"
+          # - "FILE_DETAIL_EMPTY"
+          # - "ASSET_INVALID"
+          # - "GWD_PROPERTIES_INVALID"
+          # - "ENABLER_UNSUPPORTED_METHOD_DCM"
+          # - "ASSET_FORMAT_UNSUPPORTED_DCM"
+          # - "COMPONENT_UNSUPPORTED_DCM"
+          # - "HTML5_FEATURE_UNSUPPORTED' "
+        "A String",
+      ],
+      "clickTags": [ # List of detected click tags for assets. This is a read-only auto-generated field.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "kind": "dfareporting#creativeAssetMetadata", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeAssetMetadata".
+      "assetIdentifier": { # Creative Asset ID. # ID of the creative asset. This is a required field.
+        "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+        "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.creativeFieldValues.html b/docs/dyn/dfareporting_v2_0.creativeFieldValues.html
new file mode 100644
index 0000000..f260e30
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.creativeFieldValues.html
@@ -0,0 +1,261 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.creativeFieldValues.html">creativeFieldValues</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, creativeFieldId, id)</a></code></p>
+<p class="firstline">Deletes an existing creative field value.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, creativeFieldId, id)</a></code></p>
+<p class="firstline">Gets one creative field value by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, creativeFieldId, body)</a></code></p>
+<p class="firstline">Inserts a new creative field value.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, creativeFieldId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of creative field values, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, creativeFieldId, id, body)</a></code></p>
+<p class="firstline">Updates an existing creative field value. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, creativeFieldId, body)</a></code></p>
+<p class="firstline">Updates an existing creative field value.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, creativeFieldId, id)</code>
+  <pre>Deletes an existing creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, creativeFieldId, id)</code>
+  <pre>Gets one creative field value by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, creativeFieldId, body)</code>
+  <pre>Inserts a new creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, creativeFieldId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None)</code>
+  <pre>Retrieves a list of creative field values, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  searchString: string, Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      VALUE - 
+  ids: string, Select only creative field values with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Field Value List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#creativeFieldValuesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValuesListResponse".
+    "creativeFieldValues": [ # Creative field value collection
+      { # Contains properties of a creative field value.
+          "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+          "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+          "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, creativeFieldId, id, body)</code>
+  <pre>Updates an existing creative field value. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, creativeFieldId, body)</code>
+  <pre>Updates an existing creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.creativeFields.html b/docs/dyn/dfareporting_v2_0.creativeFields.html
new file mode 100644
index 0000000..7ece063
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.creativeFields.html
@@ -0,0 +1,344 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.creativeFields.html">creativeFields</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing creative field.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one creative field by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new creative field.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of creative fields, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing creative field. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing creative field.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one creative field by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Retrieves a list of creative fields, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015" or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015" or simply "creativefield".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  advertiserIds: string, Select only creative fields that belong to these advertisers. (repeated)
+  ids: string, Select only creative fields with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Field List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "creativeFields": [ # Creative field collection
+      { # Contains properties of a creative field.
+          "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+          "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+          "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#creativeFieldsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing creative field. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.creativeGroups.html b/docs/dyn/dfareporting_v2_0.creativeGroups.html
new file mode 100644
index 0000000..d57f10f
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.creativeGroups.html
@@ -0,0 +1,364 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.creativeGroups.html">creativeGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one creative group by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new creative group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, groupNumber=None, maxResults=None, ids=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of creative groups, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing creative group. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing creative group.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one creative group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new creative group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, groupNumber=None, maxResults=None, ids=None, sortOrder=None)</code>
+  <pre>Retrieves a list of creative groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015" or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015" or simply "creativegroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  advertiserIds: string, Select only creative groups that belong to these advertisers. (repeated)
+  groupNumber: integer, Select only creative groups that belong to this subgroup.
+  maxResults: integer, Maximum number of results to return.
+  ids: string, Select only creative groups with these IDs. (repeated)
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "creativeGroups": [ # Creative group collection
+      { # Contains properties of a creative group.
+          "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+          "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+          "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+              # Acceptable values are:
+              # - 1
+              # - 2
+          "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#creativeGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroupsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing creative group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing creative group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.creatives.html b/docs/dyn/dfareporting_v2_0.creatives.html
new file mode 100644
index 0000000..2564732
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.creatives.html
@@ -0,0 +1,2868 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.creatives.html">creatives</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one creative by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new creative.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, campaignId=None, advertiserId=None, sizeIds=None, archived=None, pageToken=None, sortOrder=None, renderingIds=None, maxResults=None, active=None, companionCreativeIds=None, types=None, searchString=None, ids=None, studioCreativeId=None, sortField=None, creativeFieldIds=None)</a></code></p>
+<p class="firstline">Retrieves a list of creatives, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing creative. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing creative.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one creative by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+      "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+      "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "active": True or False, # Whether the event is active.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "WEB"
+          # - "WEB_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new creative.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+    "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+    "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+    "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "WEB"
+        # - "WEB_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+      "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+      "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "active": True or False, # Whether the event is active.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "WEB"
+          # - "WEB_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, campaignId=None, advertiserId=None, sizeIds=None, archived=None, pageToken=None, sortOrder=None, renderingIds=None, maxResults=None, active=None, companionCreativeIds=None, types=None, searchString=None, ids=None, studioCreativeId=None, sortField=None, creativeFieldIds=None)</code>
+  <pre>Retrieves a list of creatives, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Select only creatives with this campaign ID.
+  advertiserId: string, Select only creatives with this advertiser ID.
+  sizeIds: string, Select only creatives with these size IDs. (repeated)
+  archived: boolean, Select only archived creatives. Leave blank to select archived and unarchived creatives.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  renderingIds: string, Select only creatives with these rendering IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active creatives. Leave blank to select active and inactive creatives.
+  companionCreativeIds: string, Select only in-stream video creatives with these companion IDs. (repeated)
+  types: string, Select only creatives with these creative types. (repeated)
+    Allowed values
+      BRAND_SAFE_DEFAULT_INSTREAM_VIDEO - 
+      CUSTOM_INPAGE - 
+      CUSTOM_INTERSTITIAL - 
+      ENHANCED_BANNER - 
+      ENHANCED_IMAGE - 
+      FLASH_INPAGE - 
+      HTML5_BANNER - 
+      IMAGE - 
+      INSTREAM_VIDEO - 
+      INTERNAL_REDIRECT - 
+      INTERSTITIAL_INTERNAL_REDIRECT - 
+      REDIRECT - 
+      RICH_MEDIA_EXPANDING - 
+      RICH_MEDIA_IM_EXPAND - 
+      RICH_MEDIA_INPAGE - 
+      RICH_MEDIA_INPAGE_FLOATING - 
+      RICH_MEDIA_INTERSTITIAL_FLOAT - 
+      RICH_MEDIA_MOBILE_IN_APP - 
+      RICH_MEDIA_MULTI_FLOATING - 
+      RICH_MEDIA_PEEL_DOWN - 
+      TRACKING_TEXT - 
+      VPAID_LINEAR - 
+      VPAID_NON_LINEAR - 
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015" or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015" or simply "creative".
+  ids: string, Select only creatives with these IDs. (repeated)
+  studioCreativeId: string, Select only creatives corresponding to this Studio creative ID.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  creativeFieldIds: string, Select only creatives with these creative field IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Creative List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#creativesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativesListResponse".
+    "creatives": [ # Creative collection
+      { # Contains properties of a Creative.
+          "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+          "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+          "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "active": True or False, # Whether the event is active.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+            "windowHeight": 42, # Height of the window.
+            "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+            "windowWidth": 42, # Width of the window.
+            "positionOption": "A String", # Position in the browser where the window will open.
+            "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+          },
+          "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+          "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+          "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+          "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+          "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            { # Third-party Tracking URL.
+              "url": "A String", # URL for the specified third-party URL type.
+              "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+            },
+          ],
+          "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+          "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "active": True or False, # Whether the event is active.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+          "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "active": True or False, # Whether the event is active.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+          "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+          "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+            { # Creative Field Assignment.
+              "creativeFieldId": "A String", # ID of the creative field.
+              "creativeFieldValueId": "A String", # ID of the creative field value.
+            },
+          ],
+          "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+          "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            "A String",
+          ],
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+          "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+          "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+            { # Creative Asset.
+              "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+              "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+              "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+              "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+                "A String",
+              ],
+              "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+              "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+              "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+              "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+              "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+                  # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+                  # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+                  # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+                  # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+                  # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+                  # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+                  # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+                  # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+              "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+              "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+              "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+              "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+              "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+              "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+              "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+              "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+              "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+                "targetType": "A String", # Target type used by the event.
+                "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+                "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+                "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+                  "showStatusBar": True or False, # Whether to display the browser status bar.
+                  "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                  "showAddressBar": True or False, # Whether to display the browser address bar.
+                  "showMenuBar": True or False, # Whether to display the browser menu bar.
+                  "title": "A String", # Title of popup window.
+                  "showToolBar": True or False, # Whether to display the browser tool bar.
+                  "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                  "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                    "top": 42, # Offset distance from top side of an asset or a window.
+                    "left": 42, # Offset distance from left side of an asset or a window.
+                  },
+                  "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                    "width": 42, # Width of this size.
+                    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                    "height": 42, # Height of this size.
+                  },
+                },
+                "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+                "active": True or False, # Whether the event is active.
+                "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+                "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+                "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+                "advertiserCustomEventName": "A String", # User-entered name for the event.
+              },
+              "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+              "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+              "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+                "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+                "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+              },
+              "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+              "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+            },
+          ],
+          "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+          "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+          "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+            { # Creative Click Tag.
+              "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+              "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+              "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+            },
+          ],
+          "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "active": True or False, # Whether the creative is active. Applicable to all creative types.
+          "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+              #
+              # Acceptable values are:
+              # - "APP"
+              # - "APP_INTERSTITIAL"
+              # - "IN_STREAM_VIDEO"
+              # - "WEB"
+              # - "WEB_INTERSTITIAL"
+            "A String",
+          ],
+          "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            "A String",
+          ],
+          "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+          "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+          "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+          "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+          "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+          "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+          "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+          "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "A String",
+          ],
+          "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+          "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+            "A String",
+          ],
+          "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+            "customHtml": "A String", # User-entered value.
+            "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+          },
+          "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing creative. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+    "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+    "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+    "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "WEB"
+        # - "WEB_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+      "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+      "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "active": True or False, # Whether the event is active.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "WEB"
+          # - "WEB_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing creative.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+    "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+    "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "active": True or False, # Whether the event is active.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+    "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "WEB"
+        # - "WEB_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA
+      "timerCustomEvents": [ # List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+      "exitCustomEvents": [ # List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "active": True or False, # Whether the event is active.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Wheter the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Reporting ID, used to differentiate multiple videos in a single creative.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media pop-up windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "active": True or False, # Whether the event is active.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "redirectUrl": "A String", # URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      "clickTags": [ # Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "WEB"
+          # - "WEB_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.dimensionValues.html b/docs/dyn/dfareporting_v2_0.dimensionValues.html
new file mode 100644
index 0000000..00e680b
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.dimensionValues.html
@@ -0,0 +1,144 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.dimensionValues.html">dimensionValues</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(profileId, body, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves list of report dimension values for a list of filters.</p>
+<p class="toc_element">
+  <code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(profileId, body, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves list of report dimension values for a list of filters.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a DimensionValuesRequest.
+    "dimensionName": "A String", # The name of the dimension for which values should be requested.
+    "startDate": "A String", # The start date of the date range for which to retrieve dimension values. A string of the format "yyyy-MM-dd".
+    "kind": "dfareporting#dimensionValueRequest", # The kind of request this is, in this case dfareporting#dimensionValueRequest.
+    "endDate": "A String", # The end date of the date range for which to retrieve dimension values. A string of the format "yyyy-MM-dd".
+    "filters": [ # The list of filters by which to filter values. The filters are ANDed.
+      { # Represents a dimension filter.
+        "dimensionName": "A String", # The name of the dimension to filter.
+        "kind": "dfareporting#dimensionFilter", # The kind of resource this is, in this case dfareporting#dimensionFilter.
+        "value": "A String", # The value of the dimension to filter.
+      },
+    ],
+  }
+
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of DimensionValue resources.
+    "nextPageToken": "A String", # Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The dimension values returned in this response.
+      { # Represents a DimensionValue resource.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+    ],
+    "kind": "dfareporting#dimensionValueList", # The kind of list this is, in this case dfareporting#dimensionValueList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="query_next">query_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.directorySiteContacts.html b/docs/dyn/dfareporting_v2_0.directorySiteContacts.html
new file mode 100644
index 0000000..3375768
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.directorySiteContacts.html
@@ -0,0 +1,163 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.directorySiteContacts.html">directorySiteContacts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one directory site contact by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, directorySiteIds=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of directory site contacts, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one directory site contact by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Directory site contact ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Site Directory contact.
+    "kind": "dfareporting#directorySiteContact", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContact".
+    "firstName": "A String", # First name of this directory site contact.
+    "lastName": "A String", # Last name of this directory site contact.
+    "id": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+    "role": "A String", # Directory site contact role.
+    "type": "A String", # Directory site contact type.
+    "email": "A String", # Email address of this directory site contact.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, directorySiteIds=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Retrieves a list of directory site contacts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015" or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015" or simply "directory site contact".
+  directorySiteIds: string, Select only directory site contacts with these directory site IDs. This is a required field. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only directory site contacts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Directory Site Contact List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "directorySiteContacts": [ # Directory site contact collection
+      { # Contains properties of a Site Directory contact.
+        "kind": "dfareporting#directorySiteContact", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContact".
+        "firstName": "A String", # First name of this directory site contact.
+        "lastName": "A String", # Last name of this directory site contact.
+        "id": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+        "role": "A String", # Directory site contact role.
+        "type": "A String", # Directory site contact type.
+        "email": "A String", # Email address of this directory site contact.
+      },
+    ],
+    "kind": "dfareporting#directorySiteContactsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContactsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.directorySites.html b/docs/dyn/dfareporting_v2_0.directorySites.html
new file mode 100644
index 0000000..ce0cc6e
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.directorySites.html
@@ -0,0 +1,339 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.directorySites.html">directorySites</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one directory site by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, countryId=None, acceptsInStreamVideoPlacements=None, pageToken=None, sortOrder=None, parentId=None, acceptsPublisherPaidPlacements=None, acceptsInterstitialPlacements=None, maxResults=None, active=None, searchString=None, sortField=None, ids=None, dfp_network_code=None)</a></code></p>
+<p class="firstline">Retrieves a list of directory sites, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one directory site by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Directory site ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+    "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+    "countryId": "A String", # Country ID of this directory site.
+    "description": "A String", # Description of this directory site.
+    "settings": { # Directory Site Settings # Directory site settings.
+      "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+      "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+      "dfp_settings": { # DFP Settings # Directory site DFP settings.
+        "publisherPortalOnly": True or False, # Whether this directory site is available only via Publisher Portal.
+        "dfp_network_name": "A String", # DFP network name for this directory site.
+        "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+        "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+        "dfp_network_code": "A String", # DFP network code for this directory site.
+      },
+      "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification tags.
+      "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+      "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+      "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+    },
+    "currencyId": "A String", # Currency ID of this directory site.
+        # Possible values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+    "inpageTagFormats": [ # Tag types for regular placements.
+        #
+        # Acceptable values are:
+        # - "STANDARD"
+        # - "IFRAME_JAVASCRIPT_INPAGE"
+        # - "INTERNAL_REDIRECT_INPAGE"
+        # - "JAVASCRIPT_INPAGE"
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "interstitialTagFormats": [ # Tag types for interstitial placements.
+        #
+        # Acceptable values are:
+        # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+        # - "INTERNAL_REDIRECT_INTERSTITIAL"
+        # - "JAVASCRIPT_INTERSTITIAL"
+      "A String",
+    ],
+    "contactAssignments": [ # Directory site contacts.
+      { # Directory Site Contact Assignment
+        "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+        "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+      },
+    ],
+    "url": "A String", # URL of this directory site.
+    "parentId": "A String", # Parent directory site ID.
+    "active": True or False, # Whether this directory site is active.
+    "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this directory site.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, countryId=None, acceptsInStreamVideoPlacements=None, pageToken=None, sortOrder=None, parentId=None, acceptsPublisherPaidPlacements=None, acceptsInterstitialPlacements=None, maxResults=None, active=None, searchString=None, sortField=None, ids=None, dfp_network_code=None)</code>
+  <pre>Retrieves a list of directory sites, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  countryId: string, Select only directory sites with this country ID.
+  acceptsInStreamVideoPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  parentId: string, Select only directory sites with this parent ID.
+  acceptsPublisherPaidPlacements: boolean, Select only directory sites that accept publisher paid placements. This field can be left blank.
+  acceptsInterstitialPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.
+  searchString: string, Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015" or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply "directory site".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only directory sites with these IDs. (repeated)
+  dfp_network_code: string, Select only directory sites with this DFP network code.
+
+Returns:
+  An object of the form:
+
+    { # Directory Site List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#directorySitesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySitesListResponse".
+    "directorySites": [ # Directory site collection
+      { # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+        "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+        "countryId": "A String", # Country ID of this directory site.
+        "description": "A String", # Description of this directory site.
+        "settings": { # Directory Site Settings # Directory site settings.
+          "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+          "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+          "dfp_settings": { # DFP Settings # Directory site DFP settings.
+            "publisherPortalOnly": True or False, # Whether this directory site is available only via Publisher Portal.
+            "dfp_network_name": "A String", # DFP network name for this directory site.
+            "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+            "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+            "dfp_network_code": "A String", # DFP network code for this directory site.
+          },
+          "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification tags.
+          "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+          "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+          "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+        },
+        "currencyId": "A String", # Currency ID of this directory site.
+            # Possible values are:
+            # - "1" for USD
+            # - "2" for GBP
+            # - "3" for ESP
+            # - "4" for SEK
+            # - "5" for CAD
+            # - "6" for JPY
+            # - "7" for DEM
+            # - "8" for AUD
+            # - "9" for FRF
+            # - "10" for ITL
+            # - "11" for DKK
+            # - "12" for NOK
+            # - "13" for FIM
+            # - "14" for ZAR
+            # - "15" for IEP
+            # - "16" for NLG
+            # - "17" for EUR
+            # - "18" for KRW
+            # - "19" for TWD
+            # - "20" for SGD
+            # - "21" for CNY
+            # - "22" for HKD
+            # - "23" for NZD
+            # - "24" for MYR
+            # - "25" for BRL
+            # - "26" for PTE
+            # - "27" for MXP
+            # - "28" for CLP
+            # - "29" for TRY
+            # - "30" for ARS
+            # - "31" for PEN
+            # - "32" for ILS
+            # - "33" for CHF
+            # - "34" for VEF
+            # - "35" for COP
+            # - "36" for GTQ
+        "inpageTagFormats": [ # Tag types for regular placements.
+            #
+            # Acceptable values are:
+            # - "STANDARD"
+            # - "IFRAME_JAVASCRIPT_INPAGE"
+            # - "INTERNAL_REDIRECT_INPAGE"
+            # - "JAVASCRIPT_INPAGE"
+          "A String",
+        ],
+        "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "interstitialTagFormats": [ # Tag types for interstitial placements.
+            #
+            # Acceptable values are:
+            # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+            # - "INTERNAL_REDIRECT_INTERSTITIAL"
+            # - "JAVASCRIPT_INTERSTITIAL"
+          "A String",
+        ],
+        "contactAssignments": [ # Directory site contacts.
+          { # Directory Site Contact Assignment
+            "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+            "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+          },
+        ],
+        "url": "A String", # URL of this directory site.
+        "parentId": "A String", # Parent directory site ID.
+        "active": True or False, # Whether this directory site is active.
+        "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this directory site.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.eventTags.html b/docs/dyn/dfareporting_v2_0.eventTags.html
new file mode 100644
index 0000000..627d0fe
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.eventTags.html
@@ -0,0 +1,485 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.eventTags.html">eventTags</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing event tag.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one event tag by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new event tag.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, campaignId=None, advertiserId=None, adId=None, sortOrder=None, definitionsOnly=None, eventTagTypes=None, searchString=None, sortField=None, enabled=None, ids=None)</a></code></p>
+<p class="firstline">Retrieves a list of event tags, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing event tag. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing event tag.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one event tag by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, campaignId=None, advertiserId=None, adId=None, sortOrder=None, definitionsOnly=None, eventTagTypes=None, searchString=None, sortField=None, enabled=None, ids=None)</code>
+  <pre>Retrieves a list of event tags, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Select only event tags that belong to this campaign.
+  advertiserId: string, Select only event tags that belong to this advertiser.
+  adId: string, Select only event tags that belong to this ad.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  definitionsOnly: boolean, Examine only the specified ad or campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign is examined as well. In addition, when set to false, the status field is examined as well along with the enabledByDefault field.
+  eventTagTypes: string, Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. (repeated)
+    Allowed values
+      CLICK_THROUGH_EVENT_TAG - 
+      IMPRESSION_IMAGE_EVENT_TAG - 
+      IMPRESSION_JAVASCRIPT_EVENT_TAG - 
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015" or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015" or simply "eventtag".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  enabled: boolean, Select only enabled event tags. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.
+  ids: string, Select only event tags with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Event Tag List Response
+    "eventTags": [ # Event tag collection
+      { # Contains properties of an event tag.
+          "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+          "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+          "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+          "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+          "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+          "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+          "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+          "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+          "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+            "A String",
+          ],
+          "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+          "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#eventTagsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTagsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing event tag. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.files.html b/docs/dyn/dfareporting_v2_0.files.html
new file mode 100644
index 0000000..ac497c1
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.files.html
@@ -0,0 +1,205 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
+<p class="firstline">Lists files for a user profile.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(reportId, fileId)</code>
+  <pre>Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(reportId, fileId)</code>
+  <pre>Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
+  <pre>Lists files for a user profile.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All files in account.
+      MINE - My files.
+      SHARED_WITH_ME - Files shared with me.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file.
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "fileName": "A String", # The filename of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The URLs where the completed report file can be downloaded.
+          "browserUrl": "A String", # The URL for downloading the report data through a browser.
+          "apiUrl": "A String", # The URL for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.floodlightActivities.html b/docs/dyn/dfareporting_v2_0.floodlightActivities.html
new file mode 100644
index 0000000..fdc0b29
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.floodlightActivities.html
@@ -0,0 +1,1045 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.floodlightActivities.html">floodlightActivities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing floodlight activity.</p>
+<p class="toc_element">
+  <code><a href="#generatetag">generatetag(profileId, floodlightActivityId=None)</a></code></p>
+<p class="firstline">Generates a tag for a floodlight activity.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one floodlight activity by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new floodlight activity.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, floodlightActivityGroupName=None, advertiserId=None, tagString=None, floodlightActivityGroupTagString=None, floodlightActivityGroupIds=None, pageToken=None, sortOrder=None, maxResults=None, searchString=None, sortField=None, floodlightConfigurationId=None, ids=None, floodlightActivityGroupType=None)</a></code></p>
+<p class="firstline">Retrieves a list of floodlight activities, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight activity. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight activity.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generatetag">generatetag(profileId, floodlightActivityId=None)</code>
+  <pre>Generates a tag for a floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  floodlightActivityId: string, Floodlight activity ID for which we want to generate a tag.
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity GenerateTag Response
+    "kind": "dfareporting#floodlightActivitiesGenerateTagResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesGenerateTagResponse".
+    "floodlightActivityTag": "A String", # Generated tag for this floodlight activity.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one floodlight activity by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, floodlightActivityGroupName=None, advertiserId=None, tagString=None, floodlightActivityGroupTagString=None, floodlightActivityGroupIds=None, pageToken=None, sortOrder=None, maxResults=None, searchString=None, sortField=None, floodlightConfigurationId=None, ids=None, floodlightActivityGroupType=None)</code>
+  <pre>Retrieves a list of floodlight activities, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  floodlightActivityGroupName: string, Select only floodlight activities with the specified floodlight activity group name.
+  advertiserId: string, Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  tagString: string, Select only floodlight activities with the specified tag string.
+  floodlightActivityGroupTagString: string, Select only floodlight activities with the specified floodlight activity group tag string.
+  floodlightActivityGroupIds: string, Select only floodlight activities with the specified floodlight activity group IDs. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxResults: integer, Maximum number of results to return.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015" or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015" or simply "floodlightactivity".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  floodlightConfigurationId: string, Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  ids: string, Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. (repeated)
+  floodlightActivityGroupType: string, Select only floodlight activities with the specified floodlight activity group type.
+    Allowed values
+      COUNTER - 
+      SALE - 
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#floodlightActivitiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesListResponse".
+    "floodlightActivities": [ # Floodlight activity collection
+      { # Contains properties of a Floodlight activity.
+          "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+          "secure": True or False, # Whether this tag should use SSL.
+          "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+          "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+          "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+          "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+          "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+          "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+          "publisherTags": [ # Publisher dynamic floodlight tags.
+            { # Publisher Dynamic Tag
+              "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+              "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+              "siteId": "A String", # Site ID of this dynamic tag.
+              "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+                "tag": "A String", # Tag code.
+                "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+                "name": "A String", # Name of this tag.
+              },
+              "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+              "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            },
+          ],
+          "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "hidden": True or False, # Whether this activity is archived.
+          "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+          "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+          "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+          "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+          "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+          "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+          "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+          "notes": "A String", # General notes or implementation instructions for the tag.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+          "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+              # Acceptable values are:
+              # - "U1"
+              # - "U2"
+              # - "U3"
+              # - "U4"
+              # - "U5"
+              # - "U6"
+              # - "U7"
+              # - "U8"
+              # - "U9"
+              # - "U10"
+              # - "U11"
+              # - "U12"
+              # - "U13"
+              # - "U14"
+              # - "U15"
+              # - "U16"
+              # - "U17"
+              # - "U18"
+              # - "U19"
+              # - "U20"
+            "A String",
+          ],
+          "defaultTags": [ # Dynamic floodlight tags.
+            { # Dynamic Tag
+              "tag": "A String", # Tag code.
+              "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this tag.
+            },
+          ],
+          "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+          "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing floodlight activity. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity.This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity.This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.floodlightActivityGroups.html b/docs/dyn/dfareporting_v2_0.floodlightActivityGroups.html
new file mode 100644
index 0000000..a8b6734
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.floodlightActivityGroups.html
@@ -0,0 +1,501 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.floodlightActivityGroups.html">floodlightActivityGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing floodlight activity group.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one floodlight activity group by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new floodlight activity group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, advertiserId=None, searchString=None, pageToken=None, sortField=None, floodlightConfigurationId=None, ids=None, maxResults=None, sortOrder=None, type=None)</a></code></p>
+<p class="firstline">Retrieves a list of floodlight activity groups, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight activity group. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight activity group.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing floodlight activity group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity Group ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one floodlight activity group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity Group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new floodlight activity group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, advertiserId=None, searchString=None, pageToken=None, sortField=None, floodlightConfigurationId=None, ids=None, maxResults=None, sortOrder=None, type=None)</code>
+  <pre>Retrieves a list of floodlight activity groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Select only floodlight activity groups with the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015" or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015" or simply "floodlightactivitygroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  floodlightConfigurationId: string, Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  ids: string, Select only floodlight activity groups with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  type: string, Select only floodlight activity groups with the specified floodlight activity group type.
+    Allowed values
+      COUNTER - 
+      SALE - 
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#floodlightActivityGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroupsListResponse".
+    "floodlightActivityGroups": [ # Floodlight activity group collection
+      { # Contains properties of a Floodlight activity group.
+          "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+          "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+          "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+          "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+          "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing floodlight activity group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity Group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing floodlight activity group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # The type of floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.floodlightConfigurations.html b/docs/dyn/dfareporting_v2_0.floodlightConfigurations.html
new file mode 100644
index 0000000..55d0da4
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.floodlightConfigurations.html
@@ -0,0 +1,478 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.floodlightConfigurations.html">floodlightConfigurations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one floodlight configuration by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, ids=None)</a></code></p>
+<p class="firstline">Retrieves a list of floodlight configurations, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight configuration. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing floodlight configuration.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one floodlight configuration by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight configuration ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, ids=None)</code>
+  <pre>Retrieves a list of floodlight configurations, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  ids: string, Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Configuration List Response
+    "floodlightConfigurations": [ # Floodlight configuration collection
+      { # Contains properties of a Floodlight configuration.
+          "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+          "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+          "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+            "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+            "imageTagEnabled": True or False, # Whether image tags are enabled.
+          },
+          "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+          "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+              #
+              # Acceptable values are:
+              # - "ORD"
+              # - "NUM"
+            "A String",
+          ],
+          "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+            "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+            "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+          },
+          "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+          "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+          "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+          "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+            { # User Defined Variable configuration.
+              "dataType": "A String", # Data type for the variable. This is a required field.
+              "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+              "variableType": "A String", # Variable name in the tag. This is a required field.
+            },
+          ],
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+          "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+          "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#floodlightConfigurationsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfigurationsListResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing floodlight configuration. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight configuration ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight configuration.
+    "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+    "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+    "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+      "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+      "imageTagEnabled": True or False, # Whether image tags are enabled.
+    },
+    "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+    "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+        # 
+        # Acceptable values are:
+        # - "ORD"
+        # - "NUM"
+      "A String",
+    ],
+    "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+      "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+      "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+    },
+    "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+    "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+    "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+    "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+      { # User Defined Variable configuration.
+        "dataType": "A String", # Data type for the variable. This is a required field.
+        "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+        "variableType": "A String", # Variable name in the tag. This is a required field.
+      },
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+    "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+    "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing floodlight configuration.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight configuration.
+    "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+    "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+    "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+      "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+      "imageTagEnabled": True or False, # Whether image tags are enabled.
+    },
+    "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+    "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+        # 
+        # Acceptable values are:
+        # - "ORD"
+        # - "NUM"
+      "A String",
+    ],
+    "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+      "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+      "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+    },
+    "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+    "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+    "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+    "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+      { # User Defined Variable configuration.
+        "dataType": "A String", # Data type for the variable. This is a required field.
+        "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+        "variableType": "A String", # Variable name in the tag. This is a required field.
+      },
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+    "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+    "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 65 characters long, and cannot contain the following characters: """.
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "sslRequired": True or False, # Whether floodlight activities owned by this configuration are required to be SSL-compliant.
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.html b/docs/dyn/dfareporting_v2_0.html
new file mode 100644
index 0000000..9189918
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.html
@@ -0,0 +1,317 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.accountActiveAdSummaries.html">accountActiveAdSummaries()</a></code>
+</p>
+<p class="firstline">Returns the accountActiveAdSummaries Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.accountPermissionGroups.html">accountPermissionGroups()</a></code>
+</p>
+<p class="firstline">Returns the accountPermissionGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.accountPermissions.html">accountPermissions()</a></code>
+</p>
+<p class="firstline">Returns the accountPermissions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.accountUserProfiles.html">accountUserProfiles()</a></code>
+</p>
+<p class="firstline">Returns the accountUserProfiles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.ads.html">ads()</a></code>
+</p>
+<p class="firstline">Returns the ads Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.advertiserGroups.html">advertiserGroups()</a></code>
+</p>
+<p class="firstline">Returns the advertiserGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.advertisers.html">advertisers()</a></code>
+</p>
+<p class="firstline">Returns the advertisers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.browsers.html">browsers()</a></code>
+</p>
+<p class="firstline">Returns the browsers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.campaignCreativeAssociations.html">campaignCreativeAssociations()</a></code>
+</p>
+<p class="firstline">Returns the campaignCreativeAssociations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.campaigns.html">campaigns()</a></code>
+</p>
+<p class="firstline">Returns the campaigns Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.changeLogs.html">changeLogs()</a></code>
+</p>
+<p class="firstline">Returns the changeLogs Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.cities.html">cities()</a></code>
+</p>
+<p class="firstline">Returns the cities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.connectionTypes.html">connectionTypes()</a></code>
+</p>
+<p class="firstline">Returns the connectionTypes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.contentCategories.html">contentCategories()</a></code>
+</p>
+<p class="firstline">Returns the contentCategories Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.countries.html">countries()</a></code>
+</p>
+<p class="firstline">Returns the countries Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.creativeAssets.html">creativeAssets()</a></code>
+</p>
+<p class="firstline">Returns the creativeAssets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.creativeFieldValues.html">creativeFieldValues()</a></code>
+</p>
+<p class="firstline">Returns the creativeFieldValues Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.creativeFields.html">creativeFields()</a></code>
+</p>
+<p class="firstline">Returns the creativeFields Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.creativeGroups.html">creativeGroups()</a></code>
+</p>
+<p class="firstline">Returns the creativeGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.creatives.html">creatives()</a></code>
+</p>
+<p class="firstline">Returns the creatives Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.dimensionValues.html">dimensionValues()</a></code>
+</p>
+<p class="firstline">Returns the dimensionValues Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.directorySiteContacts.html">directorySiteContacts()</a></code>
+</p>
+<p class="firstline">Returns the directorySiteContacts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.directorySites.html">directorySites()</a></code>
+</p>
+<p class="firstline">Returns the directorySites Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.eventTags.html">eventTags()</a></code>
+</p>
+<p class="firstline">Returns the eventTags Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.floodlightActivities.html">floodlightActivities()</a></code>
+</p>
+<p class="firstline">Returns the floodlightActivities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.floodlightActivityGroups.html">floodlightActivityGroups()</a></code>
+</p>
+<p class="firstline">Returns the floodlightActivityGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.floodlightConfigurations.html">floodlightConfigurations()</a></code>
+</p>
+<p class="firstline">Returns the floodlightConfigurations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.landingPages.html">landingPages()</a></code>
+</p>
+<p class="firstline">Returns the landingPages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.metros.html">metros()</a></code>
+</p>
+<p class="firstline">Returns the metros Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.mobileCarriers.html">mobileCarriers()</a></code>
+</p>
+<p class="firstline">Returns the mobileCarriers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.operatingSystemVersions.html">operatingSystemVersions()</a></code>
+</p>
+<p class="firstline">Returns the operatingSystemVersions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.operatingSystems.html">operatingSystems()</a></code>
+</p>
+<p class="firstline">Returns the operatingSystems Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.placementGroups.html">placementGroups()</a></code>
+</p>
+<p class="firstline">Returns the placementGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.placementStrategies.html">placementStrategies()</a></code>
+</p>
+<p class="firstline">Returns the placementStrategies Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.placements.html">placements()</a></code>
+</p>
+<p class="firstline">Returns the placements Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.platformTypes.html">platformTypes()</a></code>
+</p>
+<p class="firstline">Returns the platformTypes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.postalCodes.html">postalCodes()</a></code>
+</p>
+<p class="firstline">Returns the postalCodes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.regions.html">regions()</a></code>
+</p>
+<p class="firstline">Returns the regions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.sites.html">sites()</a></code>
+</p>
+<p class="firstline">Returns the sites Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.sizes.html">sizes()</a></code>
+</p>
+<p class="firstline">Returns the sizes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.subaccounts.html">subaccounts()</a></code>
+</p>
+<p class="firstline">Returns the subaccounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.userProfiles.html">userProfiles()</a></code>
+</p>
+<p class="firstline">Returns the userProfiles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.userRolePermissionGroups.html">userRolePermissionGroups()</a></code>
+</p>
+<p class="firstline">Returns the userRolePermissionGroups Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.userRolePermissions.html">userRolePermissions()</a></code>
+</p>
+<p class="firstline">Returns the userRolePermissions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.userRoles.html">userRoles()</a></code>
+</p>
+<p class="firstline">Returns the userRoles Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.landingPages.html b/docs/dyn/dfareporting_v2_0.landingPages.html
new file mode 100644
index 0000000..2e2cc47
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.landingPages.html
@@ -0,0 +1,247 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.landingPages.html">landingPages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, campaignId, id)</a></code></p>
+<p class="firstline">Deletes an existing campaign landing page.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, campaignId, id)</a></code></p>
+<p class="firstline">Gets one campaign landing page by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, campaignId, body)</a></code></p>
+<p class="firstline">Inserts a new landing page for the specified campaign.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, campaignId)</a></code></p>
+<p class="firstline">Retrieves the list of landing pages for the specified campaign.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, campaignId, id, body)</a></code></p>
+<p class="firstline">Updates an existing campaign landing page. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, campaignId, body)</a></code></p>
+<p class="firstline">Updates an existing campaign landing page.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, campaignId, id)</code>
+  <pre>Deletes an existing campaign landing page.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, campaignId, id)</code>
+  <pre>Gets one campaign landing page by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, campaignId, body)</code>
+  <pre>Inserts a new landing page for the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, campaignId)</code>
+  <pre>Retrieves the list of landing pages for the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Landing Page List Response
+    "kind": "dfareporting#landingPagesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPagesListResponse".
+    "landingPages": [ # Landing page collection
+      { # Contains information about where a user's browser is taken after the user clicks an ad.
+          "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+          "url": "A String", # URL of this landing page. This is a required field.
+          "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+          "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, campaignId, id, body)</code>
+  <pre>Updates an existing campaign landing page. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, campaignId, body)</code>
+  <pre>Updates an existing campaign landing page.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. Must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.metros.html b/docs/dyn/dfareporting_v2_0.metros.html
new file mode 100644
index 0000000..07b0735
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.metros.html
@@ -0,0 +1,107 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.metros.html">metros</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of metros.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of metros.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Metro List Response
+    "kind": "dfareporting#metrosListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metrosListResponse".
+    "metros": [ # Metro collection
+      { # Contains information about a metro region that can be targeted by ads.
+        "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+        "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+        "name": "A String", # Name of this metro region.
+        "countryCode": "A String", # Country code of the country to which this metro region belongs.
+        "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+        "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+        "dartId": "A String", # DART ID of this metro region.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.mobileCarriers.html b/docs/dyn/dfareporting_v2_0.mobileCarriers.html
new file mode 100644
index 0000000..5000458
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.mobileCarriers.html
@@ -0,0 +1,105 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.mobileCarriers.html">mobileCarriers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of mobile carriers.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of mobile carriers.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Mobile Carrier List Response
+    "kind": "dfareporting#mobileCarriersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarriersListResponse".
+    "mobileCarriers": [ # Mobile carrier collection
+      { # Contains information about a mobile carrier that can be targeted by ads.
+        "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+        "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+        "id": "A String", # ID of this mobile carrier.
+        "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+        "name": "A String", # Name of this mobile carrier.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.operatingSystemVersions.html b/docs/dyn/dfareporting_v2_0.operatingSystemVersions.html
new file mode 100644
index 0000000..a36e3a1
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.operatingSystemVersions.html
@@ -0,0 +1,112 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.operatingSystemVersions.html">operatingSystemVersions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of operating system versions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of operating system versions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Operating System Version List Response
+    "kind": "dfareporting#operatingSystemVersionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersionsListResponse".
+    "operatingSystemVersions": [ # Operating system version collection
+      { # Contains information about a particular version of an operating system that can be targeted by ads.
+        "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+        "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+        "name": "A String", # Name of this operating system version.
+        "id": "A String", # ID of this operating system version.
+        "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+        "minorVersion": "A String", # Minor version (number after first dot on the left) of this operating system version.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.operatingSystems.html b/docs/dyn/dfareporting_v2_0.operatingSystems.html
new file mode 100644
index 0000000..e11a18f
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.operatingSystems.html
@@ -0,0 +1,105 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.operatingSystems.html">operatingSystems</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of operating systems.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of operating systems.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Operating System List Response
+    "kind": "dfareporting#operatingSystemsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemsListResponse".
+    "operatingSystems": [ # Operating system collection
+      { # Contains information about an operating system that can be targeted by ads.
+        "mobile": True or False, # Whether this operating system is for mobile.
+        "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+        "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+        "name": "A String", # Name of this operating system.
+        "desktop": True or False, # Whether this operating system is for desktop.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.placementGroups.html b/docs/dyn/dfareporting_v2_0.placementGroups.html
new file mode 100644
index 0000000..b3d2bf6
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.placementGroups.html
@@ -0,0 +1,1068 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.placementGroups.html">placementGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one placement group by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new placement group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, siteIds=None, placementGroupType=None, pricingTypes=None, campaignIds=None, advertiserIds=None, pageToken=None, sortOrder=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, searchString=None, directorySiteIds=None, ids=None, sortField=None)</a></code></p>
+<p class="firstline">Retrieves a list of placement groups, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing placement group. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing placement group.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one placement group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+        "traffickerEmails": [ # Trafficker emails assigned to the placement.
+          "A String",
+        ],
+        "programmatic": True or False, # Whether programmatic is enabled.
+        "insertionOrderId": "A String", # Insertion order ID.
+        "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+        "adxDealIds": [ # Adx deal IDs assigned to the placement.
+          "A String",
+        ],
+        "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+      },
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new placement group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+      "traffickerEmails": [ # Trafficker emails assigned to the placement.
+        "A String",
+      ],
+      "programmatic": True or False, # Whether programmatic is enabled.
+      "insertionOrderId": "A String", # Insertion order ID.
+      "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+      "adxDealIds": [ # Adx deal IDs assigned to the placement.
+        "A String",
+      ],
+      "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+    },
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+        "traffickerEmails": [ # Trafficker emails assigned to the placement.
+          "A String",
+        ],
+        "programmatic": True or False, # Whether programmatic is enabled.
+        "insertionOrderId": "A String", # Insertion order ID.
+        "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+        "adxDealIds": [ # Adx deal IDs assigned to the placement.
+          "A String",
+        ],
+        "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+      },
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, siteIds=None, placementGroupType=None, pricingTypes=None, campaignIds=None, advertiserIds=None, pageToken=None, sortOrder=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, searchString=None, directorySiteIds=None, ids=None, sortField=None)</code>
+  <pre>Retrieves a list of placement groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  siteIds: string, Select only placement groups that are associated with these sites. (repeated)
+  placementGroupType: string, Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.
+    Allowed values
+      PLACEMENT_PACKAGE - 
+      PLACEMENT_ROADBLOCK - 
+  pricingTypes: string, Select only placement groups with these pricing types. (repeated)
+    Allowed values
+      PRICING_TYPE_CPA - 
+      PRICING_TYPE_CPC - 
+      PRICING_TYPE_CPM - 
+      PRICING_TYPE_FLAT_RATE_CLICKS - 
+      PRICING_TYPE_FLAT_RATE_IMPRESSIONS - 
+  campaignIds: string, Select only placement groups that belong to these campaigns. (repeated)
+  advertiserIds: string, Select only placement groups that belong to these advertisers. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  placementStrategyIds: string, Select only placement groups that are associated with these placement strategies. (repeated)
+  contentCategoryIds: string, Select only placement groups that are associated with these content categories. (repeated)
+  archived: boolean, Select only archived placements. Don't set this field to select both archived and non-archived placements.
+  maxResults: integer, Maximum number of results to return.
+  searchString: string, Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015" or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015" or simply "placementgroup".
+  directorySiteIds: string, Select only placement groups that are associated with these directory sites. (repeated)
+  ids: string, Select only placement groups with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # Placement Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroupsListResponse".
+    "placementGroups": [ # Placement group collection
+      { # Contains properties of a package or roadblock.
+          "comment": "A String", # Comments for this placement group.
+          "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+          "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+          "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+          "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+          "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+            "traffickerEmails": [ # Trafficker emails assigned to the placement.
+              "A String",
+            ],
+            "programmatic": True or False, # Whether programmatic is enabled.
+            "insertionOrderId": "A String", # Insertion order ID.
+            "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+            "adxDealIds": [ # Adx deal IDs assigned to the placement.
+              "A String",
+            ],
+            "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+          },
+          "archived": True or False, # Whether this placement group is archived.
+          "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+            "A String",
+          ],
+          "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+          "externalId": "A String", # External ID for this placement.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+          "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+          "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+            "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+            "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+            "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+            "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+            "capCostOption": "A String", # Placement cap cost option.
+            "pricingPeriods": [ # Pricing periods for this placement.
+              { # Pricing Period
+                "units": "A String", # Units of this pricing period.
+                "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+                "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+                "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+                "pricingComment": "A String", # Comments for this pricing period.
+              },
+            ],
+            "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+            "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+          },
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing placement group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+      "traffickerEmails": [ # Trafficker emails assigned to the placement.
+        "A String",
+      ],
+      "programmatic": True or False, # Whether programmatic is enabled.
+      "insertionOrderId": "A String", # Insertion order ID.
+      "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+      "adxDealIds": [ # Adx deal IDs assigned to the placement.
+        "A String",
+      ],
+      "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+    },
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+        "traffickerEmails": [ # Trafficker emails assigned to the placement.
+          "A String",
+        ],
+        "programmatic": True or False, # Whether programmatic is enabled.
+        "insertionOrderId": "A String", # Insertion order ID.
+        "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+        "adxDealIds": [ # Adx deal IDs assigned to the placement.
+          "A String",
+        ],
+        "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+      },
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing placement group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+      "traffickerEmails": [ # Trafficker emails assigned to the placement.
+        "A String",
+      ],
+      "programmatic": True or False, # Whether programmatic is enabled.
+      "insertionOrderId": "A String", # Insertion order ID.
+      "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+      "adxDealIds": [ # Adx deal IDs assigned to the placement.
+        "A String",
+      ],
+      "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+    },
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "programmaticSetting": { # Programmatic Setting # Settings for a programmatic placement.
+        "traffickerEmails": [ # Trafficker emails assigned to the placement.
+          "A String",
+        ],
+        "programmatic": True or False, # Whether programmatic is enabled.
+        "insertionOrderId": "A String", # Insertion order ID.
+        "insertionOrderIdStatus": True or False, # Whether insertion order ID has been placed in DFP. This is a read-only field.
+        "adxDealIds": [ # Adx deal IDs assigned to the placement.
+          "A String",
+        ],
+        "mediaCostNanos": "A String", # Media cost for the programmatic placement.
+      },
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.placementStrategies.html b/docs/dyn/dfareporting_v2_0.placementStrategies.html
new file mode 100644
index 0000000..e9a7a6e
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.placementStrategies.html
@@ -0,0 +1,263 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.placementStrategies.html">placementStrategies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing placement strategy.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one placement strategy by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new placement strategy.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Retrieves a list of placement strategies, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing placement strategy. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing placement strategy.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one placement strategy by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Retrieves a list of placement strategies, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015" or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015" or simply "placementstrategy".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only placement strategies with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Placement Strategy List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementStrategiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategiesListResponse".
+    "placementStrategies": [ # Placement strategy collection
+      { # Contains properties of a placement strategy.
+          "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+          "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+          "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing placement strategy. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. Must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.placements.html b/docs/dyn/dfareporting_v2_0.placements.html
new file mode 100644
index 0000000..83c060c
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.placements.html
@@ -0,0 +1,1350 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.placements.html">placements</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generatetags">generatetags(profileId, campaignId=None, tagFormats=None, placementIds=None)</a></code></p>
+<p class="firstline">Generates tags for a placement.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one placement by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new placement.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, siteIds=None, paymentSource=None, pricingTypes=None, campaignIds=None, sizeIds=None, advertiserIds=None, pageToken=None, sortOrder=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, compatibilities=None, searchString=None, directorySiteIds=None, ids=None, groupIds=None, sortField=None)</a></code></p>
+<p class="firstline">Retrieves a list of placements, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing placement. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing placement.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generatetags">generatetags(profileId, campaignId=None, tagFormats=None, placementIds=None)</code>
+  <pre>Generates tags for a placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Generate placements belonging to this campaign. This is a required field.
+  tagFormats: string, Tag formats to generate for these placements. (repeated)
+    Allowed values
+      PLACEMENT_TAG_CLICK_COMMANDS - 
+      PLACEMENT_TAG_IFRAME_ILAYER - 
+      PLACEMENT_TAG_IFRAME_JAVASCRIPT - 
+      PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH - 
+      PLACEMENT_TAG_INTERNAL_REDIRECT - 
+      PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT - 
+      PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT - 
+      PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT - 
+      PLACEMENT_TAG_JAVASCRIPT - 
+      PLACEMENT_TAG_STANDARD - 
+      PLACEMENT_TAG_TRACKING - 
+      PLACEMENT_TAG_TRACKING_IFRAME - 
+      PLACEMENT_TAG_TRACKING_JAVASCRIPT - 
+  placementIds: string, Generate tags for these placements. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Placement GenerateTags Response
+    "kind": "dfareporting#placementsGenerateTagsResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementsGenerateTagsResponse".
+    "placementTags": [ # Set of generated tags for the specified placements.
+      { # Placement Tag
+        "tagDatas": [ # Tags generated for this placement.
+          { # Placement Tag Data
+            "clickTag": "A String", # Tag string to record a click.
+            "impressionTag": "A String", # Tag string for serving an ad.
+            "creativeId": "A String", # Creative associated with this placement tag.
+            "adId": "A String", # Ad associated with this placement tag.
+            "format": "A String", # TagData tag format of this tag.
+          },
+        ],
+        "placementId": "A String", # Placement ID
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one placement by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, siteIds=None, paymentSource=None, pricingTypes=None, campaignIds=None, sizeIds=None, advertiserIds=None, pageToken=None, sortOrder=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, compatibilities=None, searchString=None, directorySiteIds=None, ids=None, groupIds=None, sortField=None)</code>
+  <pre>Retrieves a list of placements, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  siteIds: string, Select only placements that are associated with these sites. (repeated)
+  paymentSource: string, Select only placements with this payment source.
+    Allowed values
+      PLACEMENT_AGENCY_PAID - 
+      PLACEMENT_PUBLISHER_PAID - 
+  pricingTypes: string, Select only placements with these pricing types. (repeated)
+    Allowed values
+      PRICING_TYPE_CPA - 
+      PRICING_TYPE_CPC - 
+      PRICING_TYPE_CPM - 
+      PRICING_TYPE_FLAT_RATE_CLICKS - 
+      PRICING_TYPE_FLAT_RATE_IMPRESSIONS - 
+  campaignIds: string, Select only placements that belong to these campaigns. (repeated)
+  sizeIds: string, Select only placements that are associated with these sizes. (repeated)
+  advertiserIds: string, Select only placements that belong to these advertisers. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  placementStrategyIds: string, Select only placements that are associated with these placement strategies. (repeated)
+  contentCategoryIds: string, Select only placements that are associated with these content categories. (repeated)
+  archived: boolean, Select only archived placements. Don't set this field to select both archived and non-archived placements.
+  maxResults: integer, Maximum number of results to return.
+  compatibilities: string, Select only placements that are associated with these compatibilities. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. (repeated)
+    Allowed values
+      APP - 
+      APP_INTERSTITIAL - 
+      IN_STREAM_VIDEO - 
+      WEB - 
+      WEB_INTERSTITIAL - 
+  searchString: string, Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015" or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015" or simply "placement".
+  directorySiteIds: string, Select only placements that are associated with these directory sites. (repeated)
+  ids: string, Select only placements with these IDs. (repeated)
+  groupIds: string, Select only placements that belong to these placement groups. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # Placement List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementsListResponse".
+    "placements": [ # Placement collection
+      { # Contains properties of a placement.
+          "comment": "A String", # Comments for this placement.
+          "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+          "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+          "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+          "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this placement. This field can be left blank.
+          "archived": True or False, # Whether this placement is archived.
+          "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+              # Acceptable values are:
+              # - "PLACEMENT_TAG_STANDARD"
+              # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+              # - "PLACEMENT_TAG_IFRAME_ILAYER"
+              # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+              # - "PLACEMENT_TAG_JAVASCRIPT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+              # - "PLACEMENT_TAG_CLICK_COMMANDS"
+              # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+              # - "PLACEMENT_TAG_TRACKING"
+              # - "PLACEMENT_TAG_TRACKING_IFRAME"
+              # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+            "A String",
+          ],
+          "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+          "tagSetting": { # Tag Settings # Tag settings for this placement.
+            "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+            "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+            "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+            "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+          },
+          "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+          "externalId": "A String", # External ID for this placement.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+          "status": "A String", # Third-party placement status.
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+          "placementGroupId": "A String", # ID of this placement's group, if applicable.
+          "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+          "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+          "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+          "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+          "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+            "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+            "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+            "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+            "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+            "capCostOption": "A String", # Placement cap cost option.
+            "pricingPeriods": [ # Pricing periods for this placement.
+              { # Pricing Period
+                "units": "A String", # Units of this pricing period.
+                "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+                "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+                "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+                "pricingComment": "A String", # Comments for this pricing period.
+              },
+            ],
+            "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+            "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+          },
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing placement. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date cannot be earlier than the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than or be the same day as the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date cannot be earlier than the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than or be the same day as the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.platformTypes.html b/docs/dyn/dfareporting_v2_0.platformTypes.html
new file mode 100644
index 0000000..a400a7e
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.platformTypes.html
@@ -0,0 +1,103 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.platformTypes.html">platformTypes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of platform types.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of platform types.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Platform Type List Response
+    "kind": "dfareporting#platformTypesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformTypesListResponse".
+    "platformTypes": [ # Platform type collection
+      { # Contains information about a platform type that can be targeted by ads.
+        "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+        "id": "A String", # ID of this platform type.
+        "name": "A String", # Name of this platform type.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.postalCodes.html b/docs/dyn/dfareporting_v2_0.postalCodes.html
new file mode 100644
index 0000000..bff4968
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.postalCodes.html
@@ -0,0 +1,104 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.postalCodes.html">postalCodes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of postal codes.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of postal codes.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Postal Code List Response
+    "kind": "dfareporting#postalCodesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCodesListResponse".
+    "postalCodes": [ # Postal code collection
+      { # Contains information about a postal code that can be targeted by ads.
+        "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+        "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+        "id": "A String", # ID of this postal code.
+        "countryCode": "A String", # Country code of the country to which this postal code belongs.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.regions.html b/docs/dyn/dfareporting_v2_0.regions.html
new file mode 100644
index 0000000..8597624
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.regions.html
@@ -0,0 +1,106 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.regions.html">regions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Retrieves a list of regions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Retrieves a list of regions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Region List Response
+    "regions": [ # Region Collection.
+      { # Contains information about a region that can be targeted by ads.
+        "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+        "countryDartId": "A String", # DART ID of the country to which this region belongs.
+        "name": "A String", # Name of this region.
+        "countryCode": "A String", # Country code of the country to which this region belongs.
+        "regionCode": "A String", # Region code.
+        "dartId": "A String", # DART ID of this region.
+      },
+    ],
+    "kind": "dfareporting#regionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#regionsListResponse".
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.reports.compatibleFields.html b/docs/dyn/dfareporting_v2_0.reports.compatibleFields.html
new file mode 100644
index 0000000..e5c9e88
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.reports.compatibleFields.html
@@ -0,0 +1,551 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.reports.html">reports</a> . <a href="dfareporting_v2_0.reports.compatibleFields.html">compatibleFields</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(profileId, body)</a></code></p>
+<p class="firstline">Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(profileId, body)</code>
+  <pre>Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to the queryCompatibleFields method.
+    "kind": "dfareporting#compatibleFields", # The kind of resource this is, in this case dfareporting#compatibleFields.
+    "reachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "REACH". # Contains items that are compatible to be selected for a report of type "REACH".
+      "kind": "dfareporting#reachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "reachByFrequencyMetrics": [ # Metrics which are compatible to be selected in the "reachByFrequencyMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+    },
+    "pathToConversionReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "PATH_TO_CONVERSION". # Contains items that are compatible to be selected for a report of type "PATH_TO_CONVERSION".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "perInteractionDimensions": [ # Per-interaction dimensions which are compatible to be selected in the "perInteractionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "kind": "dfareporting#pathToConversionReportCompatibleFields", # The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.
+      "conversionDimensions": [ # Conversion dimensions which are compatible to be selected in the "conversionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "customFloodlightVariables": [ # Custom floodlight variables which are compatible to be selected in the "customFloodlightVariables" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "crossDimensionReachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH". # Contains items that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # Dimensions which are compatible to be selected in the "breakdown" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#crossDimensionReachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.
+      "overlapMetrics": [ # Metrics which are compatible to be selected in the "overlapMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "floodlightReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "FlOODLIGHT". # Contains items that are compatible to be selected for a report of type "FLOODLIGHT".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#floodlightReportCompatibleFields", # The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "reportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "STANDARD". # Contains items that are compatible to be selected for a report of type "STANDARD".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#reportCompatibleFields", # The kind of resource this is, in this case dfareporting#reportCompatibleFields.
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.reports.files.html b/docs/dyn/dfareporting_v2_0.reports.files.html
new file mode 100644
index 0000000..d5de9f4
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.reports.files.html
@@ -0,0 +1,203 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.reports.html">reports</a> . <a href="dfareporting_v2_0.reports.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(profileId, reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Lists files for a report.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, reportId, fileId)</code>
+  <pre>Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(profileId, reportId, fileId)</code>
+  <pre>Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
+  <pre>Lists files for a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the parent report. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file.
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "fileName": "A String", # The filename of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The URLs where the completed report file can be downloaded.
+          "browserUrl": "A String", # The URL for downloading the report data through a browser.
+          "apiUrl": "A String", # The URL for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.reports.html b/docs/dyn/dfareporting_v2_0.reports.html
new file mode 100644
index 0000000..58bedcb
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.reports.html
@@ -0,0 +1,2795 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.reports.compatibleFields.html">compatibleFields()</a></code>
+</p>
+<p class="firstline">Returns the compatibleFields Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v2_0.reports.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, reportId)</a></code></p>
+<p class="firstline">Deletes a report by its ID.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, reportId)</a></code></p>
+<p class="firstline">Retrieves a report by its ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Creates a report.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
+<p class="firstline">Retrieves list of reports.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, reportId, body)</a></code></p>
+<p class="firstline">Updates a report. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#run">run(profileId, reportId, synchronous=None)</a></code></p>
+<p class="firstline">Runs a report.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, reportId, body)</a></code></p>
+<p class="firstline">Updates a report.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, reportId)</code>
+  <pre>Deletes a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, reportId)</code>
+  <pre>Retrieves a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Creates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
+  <pre>Retrieves list of reports.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by report ID.
+      LAST_MODIFIED_TIME - Sort by 'lastModifiedTime' field.
+      NAME - Sort by name of reports.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All reports in account.
+      MINE - My reports.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of reports.
+    "nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The reports returned in this response.
+      { # Represents a Report resource.
+          "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+            "conversionDimensions": [ # The list of conversion dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "reportProperties": { # The properties of the report.
+              "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+              "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+              "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+              "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+              "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+            },
+            "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+          },
+          "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+          "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+          "name": "A String", # The name of the report.
+          "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+            "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+            "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+                # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+            "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+            "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+            "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+            "repeats": "A String", # The interval for which the report is repeated. Note:
+                # - "DAILY" also requires field "every" to be set.
+                # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+                # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+            "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+              "A String",
+            ],
+          },
+          "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+          "ownerProfileId": "A String", # The user profile id of the owner of this report.
+          "reachCriteria": { # The report criteria for a report of type "REACH".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+              "A String",
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+            "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+          },
+          "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reportProperties": { # The properties of the report.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+            },
+          },
+          "fileName": "A String", # The filename used when generating report files for this report.
+          "delivery": { # The report's email delivery settings.
+            "message": "A String", # The message to be sent with each email.
+            "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+            "recipients": [ # The list of recipients to which to email the report.
+              { # Represents a recipient.
+                "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+                "deliveryType": "A String", # The delivery type for the recipient.
+                "email": "A String", # The email address of the recipient.
+              },
+            ],
+            "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+          },
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "criteria": { # The report criteria for a report of type "STANDARD".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of standard dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range for which this report should be run.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+          },
+          "id": "A String", # The unique ID identifying this report resource.
+          "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+          "type": "A String", # The type of the report.
+          "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+            "breakdown": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+              "A String",
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+            "dimension": "A String", # The dimension option.
+          },
+          "accountId": "A String", # The account ID to which this report belongs.
+        },
+    ],
+    "kind": "dfareporting#reportList", # The kind of list this is, in this case dfareporting#reportList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, reportId, body)</code>
+  <pre>Updates a report. This method supports patch semantics.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="run">run(profileId, reportId, synchronous=None)</code>
+  <pre>Runs a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  synchronous: boolean, If set and true, tries to run the report synchronously.
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, reportId, body)</code>
+  <pre>Updates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.sites.html b/docs/dyn/dfareporting_v2_0.sites.html
new file mode 100644
index 0000000..76fff0e
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.sites.html
@@ -0,0 +1,643 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.sites.html">sites</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one site by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new site.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, unmappedSite=None, campaignIds=None, acceptsInStreamVideoPlacements=None, pageToken=None, acceptsPublisherPaidPlacements=None, sortOrder=None, acceptsInterstitialPlacements=None, maxResults=None, adWordsSite=None, approved=None, searchString=None, subaccountId=None, directorySiteIds=None, sortField=None, ids=None)</a></code></p>
+<p class="firstline">Retrieves a list of sites, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing site. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing site.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one site by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Site ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+          "lastName": "A String", # Last name of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "firstName": "A String", # First name of this site contact.
+          "contactType": "A String", # Site contact type.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new site.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        "lastName": "A String", # Last name of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "firstName": "A String", # First name of this site contact.
+        "contactType": "A String", # Site contact type.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+          "lastName": "A String", # Last name of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "firstName": "A String", # First name of this site contact.
+          "contactType": "A String", # Site contact type.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, unmappedSite=None, campaignIds=None, acceptsInStreamVideoPlacements=None, pageToken=None, acceptsPublisherPaidPlacements=None, sortOrder=None, acceptsInterstitialPlacements=None, maxResults=None, adWordsSite=None, approved=None, searchString=None, subaccountId=None, directorySiteIds=None, sortField=None, ids=None)</code>
+  <pre>Retrieves a list of sites, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  unmappedSite: boolean, Select only sites that have not been mapped to a directory site.
+  campaignIds: string, Select only sites with these campaign IDs. (repeated)
+  acceptsInStreamVideoPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  acceptsPublisherPaidPlacements: boolean, Select only sites that accept publisher paid placements.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  acceptsInterstitialPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  maxResults: integer, Maximum number of results to return.
+  adWordsSite: boolean, Select only AdWords sites.
+  approved: boolean, Select only approved sites.
+  searchString: string, Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015" or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015" or simply "site".
+  subaccountId: string, Select only sites with this subaccount ID.
+  directorySiteIds: string, Select only sites with these directory site IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only sites with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Site List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#sitesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#sitesListResponse".
+    "sites": [ # Site collection
+      { # Contains properties of a site.
+          "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+          "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteSettings": { # Site Settings # Site-wide settings.
+            "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+            "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+            "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+              "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+              "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            },
+            "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+            "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+              "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+              "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+              "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+              "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+            },
+            "creativeSettings": { # Creative Settings # Site-wide creative settings.
+              "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+              "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+            },
+          },
+          "approved": True or False, # Whether this site is approved.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteContacts": [ # Site contacts.
+            { # Site Contact
+              "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+              "lastName": "A String", # Last name of this site contact.
+              "email": "A String", # Email address of this site contact. This is a required field.
+              "firstName": "A String", # First name of this site contact.
+              "contactType": "A String", # Site contact type.
+            },
+          ],
+          "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+          "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+          "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing site. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Site ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        "lastName": "A String", # Last name of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "firstName": "A String", # First name of this site contact.
+        "contactType": "A String", # Site contact type.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+          "lastName": "A String", # Last name of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "firstName": "A String", # First name of this site contact.
+          "contactType": "A String", # Site contact type.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing site.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        "lastName": "A String", # Last name of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "firstName": "A String", # First name of this site contact.
+        "contactType": "A String", # Site contact type.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+          "lastName": "A String", # Last name of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "firstName": "A String", # First name of this site contact.
+          "contactType": "A String", # Site contact type.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.sizes.html b/docs/dyn/dfareporting_v2_0.sizes.html
new file mode 100644
index 0000000..d470ac9
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.sizes.html
@@ -0,0 +1,165 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.sizes.html">sizes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one size by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new size.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, iabStandard=None, width=None, ids=None, height=None)</a></code></p>
+<p class="firstline">Retrieves a list of sizes, possibly filtered.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one size by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Size ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents the dimensions of ads, placements, creatives, or creative assets.
+    "width": 42, # Width of this size.
+    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+    "height": 42, # Height of this size.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new size.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the dimensions of ads, placements, creatives, or creative assets.
+  "width": 42, # Width of this size.
+  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+  "height": 42, # Height of this size.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the dimensions of ads, placements, creatives, or creative assets.
+    "width": 42, # Width of this size.
+    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+    "height": 42, # Height of this size.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, iabStandard=None, width=None, ids=None, height=None)</code>
+  <pre>Retrieves a list of sizes, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  iabStandard: boolean, Select only IAB standard sizes.
+  width: integer, Select only sizes with this width.
+  ids: string, Select only sizes with these IDs. (repeated)
+  height: integer, Select only sizes with this height.
+
+Returns:
+  An object of the form:
+
+    { # Size List Response
+    "kind": "dfareporting#sizesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#sizesListResponse".
+    "sizes": [ # Size collection
+      { # Represents the dimensions of ads, placements, creatives, or creative assets.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.subaccounts.html b/docs/dyn/dfareporting_v2_0.subaccounts.html
new file mode 100644
index 0000000..7555d0f
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.subaccounts.html
@@ -0,0 +1,274 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.subaccounts.html">subaccounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one subaccount by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new subaccount.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Gets a list of subaccounts, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing subaccount. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing subaccount.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one subaccount by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Subaccount ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new subaccount.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)</code>
+  <pre>Gets a list of subaccounts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015" or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015" or simply "subaccount".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only subaccounts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Subaccount List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#subaccountsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccountsListResponse".
+    "subaccounts": [ # Subaccount collection
+      { # Contains properties of a DCM subaccount.
+          "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+          "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+            "A String",
+          ],
+          "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+          "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing subaccount. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Subaccount ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing subaccount.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.userProfiles.html b/docs/dyn/dfareporting_v2_0.userProfiles.html
new file mode 100644
index 0000000..de93b47
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.userProfiles.html
@@ -0,0 +1,133 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.userProfiles.html">userProfiles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId)</a></code></p>
+<p class="firstline">Gets one user profile by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves list of user profiles for a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId)</code>
+  <pre>Gets one user profile by ID.
+
+Args:
+  profileId: string, The user profile ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a UserProfile resource.
+    "userName": "A String", # The user name.
+    "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+    "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+    "accountName": "A String", # The account name this profile belongs to.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+    "profileId": "A String", # The unique ID of the user profile.
+    "accountId": "A String", # The account ID to which this profile belongs.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves list of user profiles for a user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of user profiles.
+    "items": [ # The user profiles returned in this response.
+      { # Represents a UserProfile resource.
+        "userName": "A String", # The user name.
+        "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+        "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+        "accountName": "A String", # The account name this profile belongs to.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+        "profileId": "A String", # The unique ID of the user profile.
+        "accountId": "A String", # The account ID to which this profile belongs.
+      },
+    ],
+    "kind": "dfareporting#userProfileList", # The kind of list this is, in this case dfareporting#userProfileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.userRolePermissionGroups.html b/docs/dyn/dfareporting_v2_0.userRolePermissionGroups.html
new file mode 100644
index 0000000..03814e9
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.userRolePermissionGroups.html
@@ -0,0 +1,124 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.userRolePermissionGroups.html">userRolePermissionGroups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one user role permission group by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId)</a></code></p>
+<p class="firstline">Gets a list of all supported user role permission groups.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one user role permission group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role permission group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a grouping of related user role permissions.
+    "kind": "dfareporting#userRolePermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroup".
+    "id": "A String", # ID of this user role permission.
+    "name": "A String", # Name of this user role permission group.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId)</code>
+  <pre>Gets a list of all supported user role permission groups.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # User Role Permission Group List Response
+    "userRolePermissionGroups": [ # User role permission group collection
+      { # Represents a grouping of related user role permissions.
+        "kind": "dfareporting#userRolePermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroup".
+        "id": "A String", # ID of this user role permission.
+        "name": "A String", # Name of this user role permission group.
+      },
+    ],
+    "kind": "dfareporting#userRolePermissionGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroupsListResponse".
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.userRolePermissions.html b/docs/dyn/dfareporting_v2_0.userRolePermissions.html
new file mode 100644
index 0000000..21294c0
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.userRolePermissions.html
@@ -0,0 +1,129 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.userRolePermissions.html">userRolePermissions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one user role permission by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, ids=None)</a></code></p>
+<p class="firstline">Gets a list of user role permissions, possibly filtered.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one user role permission by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role permission ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a user role permission.
+    "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+    "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+    "availability": "A String", # Levels of availability for a user role permission.
+    "name": "A String", # Name of this user role permission.
+    "id": "A String", # ID of this user role permission.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, ids=None)</code>
+  <pre>Gets a list of user role permissions, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  ids: string, Select only user role permissions with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # User Role Permission List Response
+    "userRolePermissions": [ # User role permission collection
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "kind": "dfareporting#userRolePermissionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionsListResponse".
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v2_0.userRoles.html b/docs/dyn/dfareporting_v2_0.userRoles.html
new file mode 100644
index 0000000..a551e09
--- /dev/null
+++ b/docs/dyn/dfareporting_v2_0.userRoles.html
@@ -0,0 +1,361 @@
+<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="dfareporting_v2_0.html">DCM/DFA Reporting And Trafficking API</a> . <a href="dfareporting_v2_0.userRoles.html">userRoles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, id)</a></code></p>
+<p class="firstline">Deletes an existing user role.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, id)</a></code></p>
+<p class="firstline">Gets one user role by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Inserts a new user role.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, searchString=None, subaccountId=None, pageToken=None, ids=None, maxResults=None, accountUserRoleOnly=None, sortOrder=None, sortField=None)</a></code></p>
+<p class="firstline">Retrieves a list of user roles, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(profileId, id, body)</a></code></p>
+<p class="firstline">Updates an existing user role. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, body)</a></code></p>
+<p class="firstline">Updates an existing user role.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, id)</code>
+  <pre>Deletes an existing user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, id)</code>
+  <pre>Gets one user role by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Inserts a new user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, searchString=None, subaccountId=None, pageToken=None, ids=None, maxResults=None, accountUserRoleOnly=None, sortOrder=None, sortField=None)</code>
+  <pre>Retrieves a list of user roles, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015" or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015" or simply "userrole".
+  subaccountId: string, Select only user roles that belong to this subaccount.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  ids: string, Select only user roles with the specified IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  accountUserRoleOnly: boolean, Select only account level user roles not associated with any specific subaccount.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # User Role List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#userRolesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolesListResponse".
+    "userRoles": [ # User role collection
+      { # Contains properties of auser role, which is used to manage user access.
+          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+          "permissions": [ # List of permissions associated with this user role.
+            { # Contains properties of a user role permission.
+              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+              "availability": "A String", # Levels of availability for a user role permission.
+              "name": "A String", # Name of this user role permission.
+              "id": "A String", # ID of this user role permission.
+            },
+          ],
+          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(profileId, id, body)</code>
+  <pre>Updates an existing user role. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, body)</code>
+  <pre>Updates an existing user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dns_v1beta1.managedZones.html b/docs/dyn/dns_v1beta1.managedZones.html
index 3a6ef99..33d6b28 100644
--- a/docs/dyn/dns_v1beta1.managedZones.html
+++ b/docs/dyn/dns_v1beta1.managedZones.html
@@ -106,9 +106,10 @@
       "A String",
     ],
     "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+    "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
     "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
     "id": "A String", # Unique identifier for the resource; defined by the server (output only)
-    "name": "A String", # User assigned name for this resource. Must be unique within the project.
+    "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-32 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
   }
 
 
@@ -122,9 +123,10 @@
         "A String",
       ],
       "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+      "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
       "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
       "id": "A String", # Unique identifier for the resource; defined by the server (output only)
-      "name": "A String", # User assigned name for this resource. Must be unique within the project.
+      "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-32 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
     }</pre>
 </div>
 
@@ -156,9 +158,10 @@
         "A String",
       ],
       "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+      "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
       "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
       "id": "A String", # Unique identifier for the resource; defined by the server (output only)
-      "name": "A String", # User assigned name for this resource. Must be unique within the project.
+      "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-32 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
     }</pre>
 </div>
 
@@ -187,9 +190,10 @@
             "A String",
           ],
           "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+          "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
           "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
           "id": "A String", # Unique identifier for the resource; defined by the server (output only)
-          "name": "A String", # User assigned name for this resource. Must be unique within the project.
+          "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-32 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
         },
     ],
   }</pre>
diff --git a/docs/dyn/doubleclickbidmanager_v1.queries.html b/docs/dyn/doubleclickbidmanager_v1.queries.html
index b37081e..98d789c 100644
--- a/docs/dyn/doubleclickbidmanager_v1.queries.html
+++ b/docs/dyn/doubleclickbidmanager_v1.queries.html
@@ -104,7 +104,7 @@
     "endTimeMs": "A String", # Datetime to periodically run the query until.
     "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
     "frequency": "A String", # How often the query is run.
-    "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+    "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
   },
   "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
   "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
@@ -130,6 +130,9 @@
     "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
     "dataRange": "A String", # Range of report data.
     "format": "A String", # Format of the generated report.
+    "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
+        #
+        # An locale string not in the list above will generate reports in English.
     "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
     "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
     "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
@@ -152,7 +155,7 @@
       "endTimeMs": "A String", # Datetime to periodically run the query until.
       "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
       "frequency": "A String", # How often the query is run.
-      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
     },
     "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
     "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
@@ -178,6 +181,9 @@
       "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
       "dataRange": "A String", # Range of report data.
       "format": "A String", # Format of the generated report.
+      "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
+          #
+          # An locale string not in the list above will generate reports in English.
       "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
       "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
       "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
@@ -216,7 +222,7 @@
       "endTimeMs": "A String", # Datetime to periodically run the query until.
       "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
       "frequency": "A String", # How often the query is run.
-      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
     },
     "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
     "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
@@ -242,6 +248,9 @@
       "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
       "dataRange": "A String", # Range of report data.
       "format": "A String", # Format of the generated report.
+      "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
+          #
+          # An locale string not in the list above will generate reports in English.
       "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
       "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
       "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
@@ -273,7 +282,7 @@
           "endTimeMs": "A String", # Datetime to periodically run the query until.
           "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
           "frequency": "A String", # How often the query is run.
-          "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+          "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
         },
         "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
         "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
@@ -299,6 +308,9 @@
           "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
           "dataRange": "A String", # Range of report data.
           "format": "A String", # Format of the generated report.
+          "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
+              #
+              # An locale string not in the list above will generate reports in English.
           "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
           "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
           "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
diff --git a/docs/dyn/doubleclicksearch_v2.conversion.html b/docs/dyn/doubleclicksearch_v2.conversion.html
index 02ed825..bda7540 100644
--- a/docs/dyn/doubleclicksearch_v2.conversion.html
+++ b/docs/dyn/doubleclicksearch_v2.conversion.html
@@ -120,15 +120,16 @@
             },
           ],
           "adGroupId": "A String", # DS ad group ID.
-          "dsConversionId": "A String", # DS conversion ID.
+          "attributionModel": "A String", # Attribution model name.
           "campaignId": "A String", # DS campaign ID.
           "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
           "advertiserId": "A String", # DS advertiser ID.
+          "countMillis": "A String", # Conversion count in millis.
           "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
           "clickId": "A String", # DS click ID for the conversion.
-          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "dsConversionId": "A String", # DS conversion ID.
           "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
           "adId": "A String", # DS ad ID.
           "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
           "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -136,6 +137,7 @@
           "agencyId": "A String", # DS agency ID.
           "quantityMillis": "A String", # The quantity of this conversion, in millis.
           "criterionId": "A String", # DS criterion (keyword) ID.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
           "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
           "customMetric": [ # Custom metrics for the conversion.
             { # A message containing the custome metric.
@@ -170,15 +172,16 @@
           },
         ],
         "adGroupId": "A String", # DS ad group ID.
-        "dsConversionId": "A String", # DS conversion ID.
+        "attributionModel": "A String", # Attribution model name.
         "campaignId": "A String", # DS campaign ID.
         "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
         "advertiserId": "A String", # DS advertiser ID.
+        "countMillis": "A String", # Conversion count in millis.
         "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
         "clickId": "A String", # DS click ID for the conversion.
-        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "dsConversionId": "A String", # DS conversion ID.
         "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
         "adId": "A String", # DS ad ID.
         "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
         "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -186,6 +189,7 @@
         "agencyId": "A String", # DS agency ID.
         "quantityMillis": "A String", # The quantity of this conversion, in millis.
         "criterionId": "A String", # DS criterion (keyword) ID.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
         "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
         "customMetric": [ # Custom metrics for the conversion.
           { # A message containing the custome metric.
@@ -215,15 +219,16 @@
             },
           ],
           "adGroupId": "A String", # DS ad group ID.
-          "dsConversionId": "A String", # DS conversion ID.
+          "attributionModel": "A String", # Attribution model name.
           "campaignId": "A String", # DS campaign ID.
           "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
           "advertiserId": "A String", # DS advertiser ID.
+          "countMillis": "A String", # Conversion count in millis.
           "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
           "clickId": "A String", # DS click ID for the conversion.
-          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "dsConversionId": "A String", # DS conversion ID.
           "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
           "adId": "A String", # DS ad ID.
           "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
           "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -231,6 +236,7 @@
           "agencyId": "A String", # DS agency ID.
           "quantityMillis": "A String", # The quantity of this conversion, in millis.
           "criterionId": "A String", # DS criterion (keyword) ID.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
           "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
           "customMetric": [ # Custom metrics for the conversion.
             { # A message containing the custome metric.
@@ -272,15 +278,16 @@
           },
         ],
         "adGroupId": "A String", # DS ad group ID.
-        "dsConversionId": "A String", # DS conversion ID.
+        "attributionModel": "A String", # Attribution model name.
         "campaignId": "A String", # DS campaign ID.
         "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
         "advertiserId": "A String", # DS advertiser ID.
+        "countMillis": "A String", # Conversion count in millis.
         "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
         "clickId": "A String", # DS click ID for the conversion.
-        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "dsConversionId": "A String", # DS conversion ID.
         "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
         "adId": "A String", # DS ad ID.
         "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
         "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -288,6 +295,7 @@
         "agencyId": "A String", # DS agency ID.
         "quantityMillis": "A String", # The quantity of this conversion, in millis.
         "criterionId": "A String", # DS criterion (keyword) ID.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
         "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
         "customMetric": [ # Custom metrics for the conversion.
           { # A message containing the custome metric.
@@ -317,15 +325,16 @@
             },
           ],
           "adGroupId": "A String", # DS ad group ID.
-          "dsConversionId": "A String", # DS conversion ID.
+          "attributionModel": "A String", # Attribution model name.
           "campaignId": "A String", # DS campaign ID.
           "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
           "advertiserId": "A String", # DS advertiser ID.
+          "countMillis": "A String", # Conversion count in millis.
           "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
           "clickId": "A String", # DS click ID for the conversion.
-          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "dsConversionId": "A String", # DS conversion ID.
           "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
           "adId": "A String", # DS ad ID.
           "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
           "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -333,6 +342,7 @@
           "agencyId": "A String", # DS agency ID.
           "quantityMillis": "A String", # The quantity of this conversion, in millis.
           "criterionId": "A String", # DS criterion (keyword) ID.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
           "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
           "customMetric": [ # Custom metrics for the conversion.
             { # A message containing the custome metric.
@@ -367,15 +377,16 @@
           },
         ],
         "adGroupId": "A String", # DS ad group ID.
-        "dsConversionId": "A String", # DS conversion ID.
+        "attributionModel": "A String", # Attribution model name.
         "campaignId": "A String", # DS campaign ID.
         "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
         "advertiserId": "A String", # DS advertiser ID.
+        "countMillis": "A String", # Conversion count in millis.
         "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
         "clickId": "A String", # DS click ID for the conversion.
-        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "dsConversionId": "A String", # DS conversion ID.
         "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
         "adId": "A String", # DS ad ID.
         "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
         "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -383,6 +394,7 @@
         "agencyId": "A String", # DS agency ID.
         "quantityMillis": "A String", # The quantity of this conversion, in millis.
         "criterionId": "A String", # DS criterion (keyword) ID.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
         "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
         "customMetric": [ # Custom metrics for the conversion.
           { # A message containing the custome metric.
@@ -412,15 +424,16 @@
             },
           ],
           "adGroupId": "A String", # DS ad group ID.
-          "dsConversionId": "A String", # DS conversion ID.
+          "attributionModel": "A String", # Attribution model name.
           "campaignId": "A String", # DS campaign ID.
           "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
           "advertiserId": "A String", # DS advertiser ID.
+          "countMillis": "A String", # Conversion count in millis.
           "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
           "clickId": "A String", # DS click ID for the conversion.
-          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "dsConversionId": "A String", # DS conversion ID.
           "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
-          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state DELETED is deprecated.
           "adId": "A String", # DS ad ID.
           "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
           "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
@@ -428,6 +441,7 @@
           "agencyId": "A String", # DS agency ID.
           "quantityMillis": "A String", # The quantity of this conversion, in millis.
           "criterionId": "A String", # DS criterion (keyword) ID.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
           "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
           "customMetric": [ # Custom metrics for the conversion.
             { # A message containing the custome metric.
diff --git a/docs/dyn/doubleclicksearch_v2.reports.html b/docs/dyn/doubleclicksearch_v2.reports.html
index e7f8bea..46ed40a 100644
--- a/docs/dyn/doubleclicksearch_v2.reports.html
+++ b/docs/dyn/doubleclicksearch_v2.reports.html
@@ -111,7 +111,7 @@
           "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
           "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
           "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-          "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+          "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
         },
         "sortOrder": "A String", # The sort direction, which is either ascending or descending.
       },
@@ -149,7 +149,7 @@
           "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
           "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
           "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-          "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+          "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
         },
         "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
         "values": [ # A list of values to filter the column value against.
@@ -170,7 +170,7 @@
         "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
         "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
         "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-        "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+        "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
       },
     ],
     "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
@@ -206,7 +206,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "sortOrder": "A String", # The sort direction, which is either ascending or descending.
           },
@@ -244,7 +244,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
             "values": [ # A list of values to filter the column value against.
@@ -265,7 +265,7 @@
             "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
             "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
             "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-            "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+            "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
           },
         ],
         "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
@@ -314,7 +314,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "sortOrder": "A String", # The sort direction, which is either ascending or descending.
           },
@@ -352,7 +352,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
             "values": [ # A list of values to filter the column value against.
@@ -373,7 +373,7 @@
             "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
             "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
             "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-            "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+            "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
           },
         ],
         "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
@@ -427,7 +427,7 @@
           "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
           "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
           "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-          "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+          "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
         },
         "sortOrder": "A String", # The sort direction, which is either ascending or descending.
       },
@@ -465,7 +465,7 @@
           "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
           "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
           "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-          "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+          "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
         },
         "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
         "values": [ # A list of values to filter the column value against.
@@ -486,7 +486,7 @@
         "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
         "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
         "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-        "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+        "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
       },
     ],
     "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
@@ -522,7 +522,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "sortOrder": "A String", # The sort direction, which is either ascending or descending.
           },
@@ -560,7 +560,7 @@
               "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
               "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
               "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-              "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+              "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
             },
             "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
             "values": [ # A list of values to filter the column value against.
@@ -581,7 +581,7 @@
             "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
             "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
             "platformSource": "A String", # The platform that is used to provide data for the custom dimension. Acceptable values are "Floodlight".
-            "customMetricName": "A String", # Reports on the provided custom metric. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
+            "customMetricName": "A String", # Name of a custom metric to include in the report. The report must be scoped to an advertiser or lower, and the custom metric must already be set up in DoubleClick Search. The custom metric name, which appears in DoubleClick Search, is case sensitive.
           },
         ],
         "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
diff --git a/docs/dyn/drive_v2.about.html b/docs/dyn/drive_v2.about.html
index 0735fb3..8be3517 100644
--- a/docs/dyn/drive_v2.about.html
+++ b/docs/dyn/drive_v2.about.html
@@ -104,6 +104,9 @@
         "featureRate": 3.14, # The request limit rate for this feature, in queries per second.
       },
     ],
+    "folderColorPalette": [ # The palette of allowable folder colors as RGB hex strings.
+      "A String",
+    ],
     "quotaBytesUsedAggregate": "A String", # The number of quota bytes used by all Google apps (Drive, Picasa, etc.).
     "permissionId": "A String", # The current user's ID as visible in the permissions collection.
     "etag": "A String", # The ETag of the item.
diff --git a/docs/dyn/drive_v2.changes.html b/docs/dyn/drive_v2.changes.html
index f28db83..4557d70 100644
--- a/docs/dyn/drive_v2.changes.html
+++ b/docs/dyn/drive_v2.changes.html
@@ -158,6 +158,7 @@
         "emailAddress": "A String", # The email address of the user.
       },
       "copyable": True or False, # Whether the file can be copied by the current user.
+      "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
       "ownerNames": [ # Name(s) of the owner(s) of this file.
         "A String",
       ],
@@ -188,7 +189,7 @@
           "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
           "authKey": "A String", # The authkey parameter required for this permission.
           "etag": "A String", # The ETag of the permission.
-          "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+          "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
           "photoLink": "A String", # A link to the profile photo, if available.
           "role": "A String", # The primary role for this user. Allowed values are:
               # - owner
@@ -274,7 +275,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -382,6 +383,7 @@
             "emailAddress": "A String", # The email address of the user.
           },
           "copyable": True or False, # Whether the file can be copied by the current user.
+          "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
           "ownerNames": [ # Name(s) of the owner(s) of this file.
             "A String",
           ],
@@ -412,7 +414,7 @@
               "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
               "authKey": "A String", # The authkey parameter required for this permission.
               "etag": "A String", # The ETag of the permission.
-              "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+              "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
               "photoLink": "A String", # A link to the profile photo, if available.
               "role": "A String", # The primary role for this user. Allowed values are:
                   # - owner
@@ -498,7 +500,7 @@
             "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
             "authKey": "A String", # The authkey parameter required for this permission.
             "etag": "A String", # The ETag of the permission.
-            "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+            "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
             "photoLink": "A String", # A link to the profile photo, if available.
             "role": "A String", # The primary role for this user. Allowed values are:
                 # - owner
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
index 2ac0001..84af4ee 100644
--- a/docs/dyn/drive_v2.files.html
+++ b/docs/dyn/drive_v2.files.html
@@ -84,7 +84,10 @@
   <code><a href="#emptyTrash">emptyTrash()</a></code></p>
 <p class="firstline">Permanently deletes all of the user's trashed files.</p>
 <p class="toc_element">
-  <code><a href="#get">get(fileId, projection=None, updateViewedDate=None)</a></code></p>
+  <code><a href="#get">get(fileId, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</a></code></p>
+<p class="firstline">Gets a file's metadata by ID.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(fileId, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</a></code></p>
 <p class="firstline">Gets a file's metadata by ID.</p>
 <p class="toc_element">
   <code><a href="#insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</a></code></p>
@@ -111,7 +114,10 @@
   <code><a href="#update">update(fileId, body=None, newRevision=None, media_body=None, ocrLanguage=None, ocr=None, pinned=None, addParents=None, removeParents=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</a></code></p>
 <p class="firstline">Updates file metadata and/or content.</p>
 <p class="toc_element">
-  <code><a href="#watch">watch(fileId, body, projection=None, updateViewedDate=None)</a></code></p>
+  <code><a href="#watch">watch(fileId, body, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</a></code></p>
+<p class="firstline">Subscribe to changes on a file</p>
+<p class="toc_element">
+  <code><a href="#watch_media">watch_media(fileId, body, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</a></code></p>
 <p class="firstline">Subscribe to changes on a file</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -181,6 +187,7 @@
     "emailAddress": "A String", # The email address of the user.
   },
   "copyable": True or False, # Whether the file can be copied by the current user.
+  "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
@@ -211,7 +218,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -297,7 +304,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -392,6 +399,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -422,7 +430,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -508,7 +516,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -550,7 +558,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(fileId, projection=None, updateViewedDate=None)</code>
+    <code class="details" id="get">get(fileId, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</code>
   <pre>Gets a file's metadata by ID.
 
 Args:
@@ -559,6 +567,7 @@
     Allowed values
       BASIC - Deprecated
       FULL - Deprecated
+  acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files.
   updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
 
 Returns:
@@ -622,6 +631,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -652,7 +662,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -738,7 +748,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -763,6 +773,25 @@
 </div>
 
 <div class="method">
+    <code class="details" id="get_media">get_media(fileId, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</code>
+  <pre>Gets a file's metadata by ID.
+
+Args:
+  fileId: string, The ID for the file in question. (required)
+  projection: string, This parameter is deprecated and has no function.
+    Allowed values
+      BASIC - Deprecated
+      FULL - Deprecated
+  acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files.
+  updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
     <code class="details" id="insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</code>
   <pre>Insert a new file.
 
@@ -828,6 +857,7 @@
     "emailAddress": "A String", # The email address of the user.
   },
   "copyable": True or False, # Whether the file can be copied by the current user.
+  "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
@@ -858,7 +888,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -944,7 +974,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -1041,6 +1071,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -1071,7 +1102,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -1157,7 +1188,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -1263,6 +1294,7 @@
           "emailAddress": "A String", # The email address of the user.
         },
         "copyable": True or False, # Whether the file can be copied by the current user.
+        "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
         "ownerNames": [ # Name(s) of the owner(s) of this file.
           "A String",
         ],
@@ -1293,7 +1325,7 @@
             "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
             "authKey": "A String", # The authkey parameter required for this permission.
             "etag": "A String", # The ETag of the permission.
-            "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+            "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
             "photoLink": "A String", # A link to the profile photo, if available.
             "role": "A String", # The primary role for this user. Allowed values are:
                 # - owner
@@ -1379,7 +1411,7 @@
           "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
           "authKey": "A String", # The authkey parameter required for this permission.
           "etag": "A String", # The ETag of the permission.
-          "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+          "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
           "photoLink": "A String", # A link to the profile photo, if available.
           "role": "A String", # The primary role for this user. Allowed values are:
               # - owner
@@ -1489,6 +1521,7 @@
     "emailAddress": "A String", # The email address of the user.
   },
   "copyable": True or False, # Whether the file can be copied by the current user.
+  "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
@@ -1519,7 +1552,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -1605,7 +1638,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -1702,6 +1735,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -1732,7 +1766,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -1818,7 +1852,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -1910,6 +1944,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -1940,7 +1975,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -2026,7 +2061,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -2118,6 +2153,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -2148,7 +2184,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -2234,7 +2270,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -2326,6 +2362,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -2356,7 +2393,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -2442,7 +2479,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -2533,6 +2570,7 @@
     "emailAddress": "A String", # The email address of the user.
   },
   "copyable": True or False, # Whether the file can be copied by the current user.
+  "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
@@ -2563,7 +2601,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -2649,7 +2687,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -2747,6 +2785,7 @@
       "emailAddress": "A String", # The email address of the user.
     },
     "copyable": True or False, # Whether the file can be copied by the current user.
+    "folderColorRgb": "A String", # Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
@@ -2777,7 +2816,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -2863,7 +2902,7 @@
       "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
-      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+      "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
       "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
@@ -2888,7 +2927,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="watch">watch(fileId, body, projection=None, updateViewedDate=None)</code>
+    <code class="details" id="watch">watch(fileId, body, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</code>
   <pre>Subscribe to changes on a file
 
 Args:
@@ -2915,6 +2954,7 @@
     Allowed values
       BASIC - Deprecated
       FULL - Deprecated
+  acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files.
   updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
 
 Returns:
@@ -2936,4 +2976,41 @@
     }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="watch_media">watch_media(fileId, body, projection=None, acknowledgeAbuse=None, updateViewedDate=None)</code>
+  <pre>Subscribe to changes on a file
+
+Args:
+  fileId: string, The ID for the file in question. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+  projection: string, This parameter is deprecated and has no function.
+    Allowed values
+      BASIC - Deprecated
+      FULL - Deprecated
+  acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files.
+  updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.permissions.html b/docs/dyn/drive_v2.permissions.html
index 1984c2c..5adfb64 100644
--- a/docs/dyn/drive_v2.permissions.html
+++ b/docs/dyn/drive_v2.permissions.html
@@ -126,7 +126,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -178,7 +178,7 @@
   "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
   "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
@@ -210,7 +210,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -249,7 +249,7 @@
         "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
-        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+        "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
         "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
@@ -291,7 +291,7 @@
   "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
   "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
@@ -322,7 +322,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
@@ -359,7 +359,7 @@
   "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
-  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+  "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
   "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
@@ -390,7 +390,7 @@
     "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
-    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is present when the permission type is user.
+    "emailAddress": "A String", # The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group.
     "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
diff --git a/docs/dyn/fitness_v1.html b/docs/dyn/fitness_v1.html
new file mode 100644
index 0000000..6f20544
--- /dev/null
+++ b/docs/dyn/fitness_v1.html
@@ -0,0 +1,82 @@
+<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="fitness_v1.html">Fitness</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="fitness_v1.users.html">users()</a></code>
+</p>
+<p class="firstline">Returns the users Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fitness_v1.users.dataSources.datasets.html b/docs/dyn/fitness_v1.users.dataSources.datasets.html
new file mode 100644
index 0000000..ca6a6fc
--- /dev/null
+++ b/docs/dyn/fitness_v1.users.dataSources.datasets.html
@@ -0,0 +1,245 @@
+<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="fitness_v1.html">Fitness</a> . <a href="fitness_v1.users.html">users</a> . <a href="fitness_v1.users.dataSources.html">dataSources</a> . <a href="fitness_v1.users.dataSources.datasets.html">datasets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(userId, dataSourceId, datasetId, modifiedTimeMillis=None, currentTimeMillis=None)</a></code></p>
+<p class="firstline">Performs an inclusive delete of all data points whose start and end times have any overlap with the time range specified by the dataset ID. For most data types, the entire data point will be deleted. For data types where the time span represents a consistent value (such as com.google.activity.segment), and a data point straddles either end point of the dataset, only the overlapping portion of the data point will be deleted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(userId, dataSourceId, datasetId, pageToken=None, limit=None)</a></code></p>
+<p class="firstline">Returns a dataset containing all data points whose start and end times overlap with the specified range of the dataset minimum start time and maximum end time. Specifically, any data point whose start time is less than or equal to the dataset end time and whose end time is greater than or equal to the dataset start time.</p>
+<p class="toc_element">
+  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(userId, dataSourceId, datasetId, body, currentTimeMillis=None)</a></code></p>
+<p class="firstline">Adds data points to a dataset. The dataset need not be previously created. All points within the given dataset will be returned with subsquent calls to retrieve this dataset. Data points can belong to more than one dataset. This method does not use patch semantics.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(userId, dataSourceId, datasetId, modifiedTimeMillis=None, currentTimeMillis=None)</code>
+  <pre>Performs an inclusive delete of all data points whose start and end times have any overlap with the time range specified by the dataset ID. For most data types, the entire data point will be deleted. For data types where the time span represents a consistent value (such as com.google.activity.segment), and a data point straddles either end point of the dataset, only the overlapping portion of the data point will be deleted.
+
+Args:
+  userId: string, Delete a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source that created the dataset. (required)
+  datasetId: string, Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. (required)
+  modifiedTimeMillis: string, When the operation was performed on the client.
+  currentTimeMillis: string, The client's current time in milliseconds since epoch.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(userId, dataSourceId, datasetId, pageToken=None, limit=None)</code>
+  <pre>Returns a dataset containing all data points whose start and end times overlap with the specified range of the dataset minimum start time and maximum end time. Specifically, any data point whose start time is less than or equal to the dataset end time and whose end time is greater than or equal to the dataset start time.
+
+Args:
+  userId: string, Retrieve a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source that created the dataset. (required)
+  datasetId: string, Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. (required)
+  pageToken: string, The continuation token, which is used to page through large datasets. To get the next page of a dataset, set this parameter to the value of nextPageToken from the previous response. Each subsequent call will yield a partial dataset with data point end timestamps that are strictly smaller than those in the previous partial response.
+  limit: integer, If specified, no more than this many data points will be included in the dataset. If the there are more data points in the dataset, nextPageToken will be set in the dataset response.
+
+Returns:
+  An object of the form:
+
+    { # A dataset represents a projection container for data points. They do not carry any info of their own. Datasets represent a set of data points from a particular data source. A data point can be found in more than one dataset.
+      "minStartTimeNs": "A String", # The smallest start time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+      "nextPageToken": "A String", # This token will be set when a dataset is received in response to a GET request and the dataset is too large to be included in a single response. Provide this value in a subsequent GET request to return the next page of data points within this dataset.
+      "maxEndTimeNs": "A String", # The largest end time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+      "dataSourceId": "A String", # The data stream ID of the data source that created the points in this dataset.
+      "point": [ # A partial list of data points contained in the dataset, ordered by largest endTimeNanos first. This list is considered complete when retrieving a small dataset and partial when patching a dataset or retrieving a dataset that is too large to include in a single response.
+        { # Represents a single data point, generated by a particular data source. A data point holds a value for each field, an end timestamp and an optional start time. The exact semantics of each of these attributes are specified in the documentation for the particular data type.
+            #
+            # A data point can represent an instantaneous measurement, reading or input observation, as well as averages or aggregates over a time interval. Check the data type documentation to determine which is the case for a particular data type.
+            #
+            # Data points always contain one value for each field of the data type.
+          "modifiedTimeMillis": "A String", # Indicates the last time this data point was modified. Useful only in contexts where we are listing the data changes, rather than representing the current state of the data.
+          "startTimeNanos": "A String", # The start time of the interval represented by this data point, in nanoseconds since epoch.
+          "dataTypeName": "A String", # The data type defining the format of the values in this data point.
+          "endTimeNanos": "A String", # The end time of the interval represented by this data point, in nanoseconds since epoch.
+          "value": [ # Values of each data type field for the data point. It is expected that each value corresponding to a data type field will occur in the same order that the field is listed with in the data type specified in a data source.
+              #
+              # Only one of integer and floating point fields will be populated, depending on the format enum value within data source's type field.
+            { # Holder object for the value of a single field in a data point.
+                #
+                # A field value has a particular format and is only ever set to one of an integer or a floating point value.
+              "fpVal": 3.14, # Floating point value. When this is set, intVal must not be set.
+              "intVal": 42, # Integer value. When this is set, fpVal must not be set.
+            },
+          ],
+          "computationTimeMillis": "A String", # Used for version checking during transformation; that is, a datapoint can only replace another datapoint that has an older computation time stamp.
+          "originDataSourceId": "A String", # If the data point is contained in a dataset for a derived data source, this field will be populated with the data source stream ID that created the data point originally.
+          "rawTimestampNanos": "A String", # The raw timestamp from the original SensorEvent.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_next">get_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(userId, dataSourceId, datasetId, body, currentTimeMillis=None)</code>
+  <pre>Adds data points to a dataset. The dataset need not be previously created. All points within the given dataset will be returned with subsquent calls to retrieve this dataset. Data points can belong to more than one dataset. This method does not use patch semantics.
+
+Args:
+  userId: string, Patch a dataset for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source that created the dataset. (required)
+  datasetId: string, Dataset identifier that is a composite of the minimum data point start time and maximum data point end time represented as nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" where startTime and endTime are 64 bit integers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A dataset represents a projection container for data points. They do not carry any info of their own. Datasets represent a set of data points from a particular data source. A data point can be found in more than one dataset.
+    "minStartTimeNs": "A String", # The smallest start time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+    "nextPageToken": "A String", # This token will be set when a dataset is received in response to a GET request and the dataset is too large to be included in a single response. Provide this value in a subsequent GET request to return the next page of data points within this dataset.
+    "maxEndTimeNs": "A String", # The largest end time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+    "dataSourceId": "A String", # The data stream ID of the data source that created the points in this dataset.
+    "point": [ # A partial list of data points contained in the dataset, ordered by largest endTimeNanos first. This list is considered complete when retrieving a small dataset and partial when patching a dataset or retrieving a dataset that is too large to include in a single response.
+      { # Represents a single data point, generated by a particular data source. A data point holds a value for each field, an end timestamp and an optional start time. The exact semantics of each of these attributes are specified in the documentation for the particular data type.
+          #
+          # A data point can represent an instantaneous measurement, reading or input observation, as well as averages or aggregates over a time interval. Check the data type documentation to determine which is the case for a particular data type.
+          #
+          # Data points always contain one value for each field of the data type.
+        "modifiedTimeMillis": "A String", # Indicates the last time this data point was modified. Useful only in contexts where we are listing the data changes, rather than representing the current state of the data.
+        "startTimeNanos": "A String", # The start time of the interval represented by this data point, in nanoseconds since epoch.
+        "dataTypeName": "A String", # The data type defining the format of the values in this data point.
+        "endTimeNanos": "A String", # The end time of the interval represented by this data point, in nanoseconds since epoch.
+        "value": [ # Values of each data type field for the data point. It is expected that each value corresponding to a data type field will occur in the same order that the field is listed with in the data type specified in a data source.
+            #
+            # Only one of integer and floating point fields will be populated, depending on the format enum value within data source's type field.
+          { # Holder object for the value of a single field in a data point.
+              #
+              # A field value has a particular format and is only ever set to one of an integer or a floating point value.
+            "fpVal": 3.14, # Floating point value. When this is set, intVal must not be set.
+            "intVal": 42, # Integer value. When this is set, fpVal must not be set.
+          },
+        ],
+        "computationTimeMillis": "A String", # Used for version checking during transformation; that is, a datapoint can only replace another datapoint that has an older computation time stamp.
+        "originDataSourceId": "A String", # If the data point is contained in a dataset for a derived data source, this field will be populated with the data source stream ID that created the data point originally.
+        "rawTimestampNanos": "A String", # The raw timestamp from the original SensorEvent.
+      },
+    ],
+  }
+
+  currentTimeMillis: string, The client's current time in milliseconds since epoch. Note that the minStartTimeNs and maxEndTimeNs properties in the request body are in nanoseconds instead of milliseconds.
+
+Returns:
+  An object of the form:
+
+    { # A dataset represents a projection container for data points. They do not carry any info of their own. Datasets represent a set of data points from a particular data source. A data point can be found in more than one dataset.
+      "minStartTimeNs": "A String", # The smallest start time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+      "nextPageToken": "A String", # This token will be set when a dataset is received in response to a GET request and the dataset is too large to be included in a single response. Provide this value in a subsequent GET request to return the next page of data points within this dataset.
+      "maxEndTimeNs": "A String", # The largest end time of all data points in this possibly partial representation of the dataset. Time is in nanoseconds from epoch. This should also match the first part of the dataset identifier.
+      "dataSourceId": "A String", # The data stream ID of the data source that created the points in this dataset.
+      "point": [ # A partial list of data points contained in the dataset, ordered by largest endTimeNanos first. This list is considered complete when retrieving a small dataset and partial when patching a dataset or retrieving a dataset that is too large to include in a single response.
+        { # Represents a single data point, generated by a particular data source. A data point holds a value for each field, an end timestamp and an optional start time. The exact semantics of each of these attributes are specified in the documentation for the particular data type.
+            #
+            # A data point can represent an instantaneous measurement, reading or input observation, as well as averages or aggregates over a time interval. Check the data type documentation to determine which is the case for a particular data type.
+            #
+            # Data points always contain one value for each field of the data type.
+          "modifiedTimeMillis": "A String", # Indicates the last time this data point was modified. Useful only in contexts where we are listing the data changes, rather than representing the current state of the data.
+          "startTimeNanos": "A String", # The start time of the interval represented by this data point, in nanoseconds since epoch.
+          "dataTypeName": "A String", # The data type defining the format of the values in this data point.
+          "endTimeNanos": "A String", # The end time of the interval represented by this data point, in nanoseconds since epoch.
+          "value": [ # Values of each data type field for the data point. It is expected that each value corresponding to a data type field will occur in the same order that the field is listed with in the data type specified in a data source.
+              #
+              # Only one of integer and floating point fields will be populated, depending on the format enum value within data source's type field.
+            { # Holder object for the value of a single field in a data point.
+                #
+                # A field value has a particular format and is only ever set to one of an integer or a floating point value.
+              "fpVal": 3.14, # Floating point value. When this is set, intVal must not be set.
+              "intVal": 42, # Integer value. When this is set, fpVal must not be set.
+            },
+          ],
+          "computationTimeMillis": "A String", # Used for version checking during transformation; that is, a datapoint can only replace another datapoint that has an older computation time stamp.
+          "originDataSourceId": "A String", # If the data point is contained in a dataset for a derived data source, this field will be populated with the data source stream ID that created the data point originally.
+          "rawTimestampNanos": "A String", # The raw timestamp from the original SensorEvent.
+        },
+      ],
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fitness_v1.users.dataSources.html b/docs/dyn/fitness_v1.users.dataSources.html
new file mode 100644
index 0000000..5e0c888
--- /dev/null
+++ b/docs/dyn/fitness_v1.users.dataSources.html
@@ -0,0 +1,622 @@
+<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="fitness_v1.html">Fitness</a> . <a href="fitness_v1.users.html">users</a> . <a href="fitness_v1.users.dataSources.html">dataSources</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="fitness_v1.users.dataSources.datasets.html">datasets()</a></code>
+</p>
+<p class="firstline">Returns the datasets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(userId, body)</a></code></p>
+<p class="firstline">Creates a new data source that is unique across all data sources belonging to this user. The data stream ID field can be omitted and will be generated by the server with the correct format. The data stream ID is an ordered combination of some fields from the data source. In addition to the data source fields reflected into the data source ID, the developer project number that is authenticated when creating the data source is included. This developer project number is obfuscated when read by any other developer reading public data types.</p>
+<p class="toc_element">
+  <code><a href="#get">get(userId, dataSourceId)</a></code></p>
+<p class="firstline">Returns a data source identified by a data stream ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, dataTypeName=None)</a></code></p>
+<p class="firstline">Lists all data sources that are visible to the developer, using the OAuth scopes provided. The list is not exhaustive: the user may have private data sources that are only visible to other developers or calls using other scopes.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(userId, dataSourceId, body)</a></code></p>
+<p class="firstline">Updates a given data source. It is an error to modify the data source's data stream ID, data type, type, stream name or device information apart from the device version. Changing these fields would require a new unique data stream ID and separate data source.</p>
+<p class="toc_element">
+  <code><a href="#update">update(userId, dataSourceId, body)</a></code></p>
+<p class="firstline">Updates a given data source. It is an error to modify the data source's data stream ID, data type, type, stream name or device information apart from the device version. Changing these fields would require a new unique data stream ID and separate data source.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(userId, body)</code>
+  <pre>Creates a new data source that is unique across all data sources belonging to this user. The data stream ID field can be omitted and will be generated by the server with the correct format. The data stream ID is an ordered combination of some fields from the data source. In addition to the data source fields reflected into the data source ID, the developer project number that is authenticated when creating the data source is included. This developer project number is obfuscated when read by any other developer reading public data types.
+
+Args:
+  userId: string, Create the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+      # 
+      # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+      # 
+      # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+    "name": "A String", # An end-user visible name for this data source.
+    "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+    "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+      "field": [ # A field represents one dimension of a data type.
+        { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+            #
+            # This message is only instantiated in code and not used for wire comms or stored in any way.
+          "optional": True or False,
+          "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+          "format": "A String", # The different supported formats for each field in a data type.
+        },
+      ],
+      "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+    },
+    "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+      "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+      "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+      "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+      "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+    },
+    "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+        #
+        # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+        # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+        # - Display the source of data to the user (by using the device make / model)
+        # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+        # - Build different analysis models for each device/version.
+      "model": "A String", # End-user visible model name for the device.
+      "version": "A String", # Version string for the device hardware/software.
+      "type": "A String", # A constant representing the type of the device.
+      "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+      "manufacturer": "A String", # Manufacturer of the product/hardware.
+    },
+    "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+        # 
+        # 
+        # - The physical device's manufacturer, model, and serial number (UID).
+        # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+        # - The data source's type.
+        # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+        # 
+        # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+        # 
+        # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+    "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+        #
+        # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+        #
+        # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+      "name": "A String", # An end-user visible name for this data source.
+      "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+      "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+        "field": [ # A field represents one dimension of a data type.
+          { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+              #
+              # This message is only instantiated in code and not used for wire comms or stored in any way.
+            "optional": True or False,
+            "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+            "format": "A String", # The different supported formats for each field in a data type.
+          },
+        ],
+        "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+      },
+      "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+        "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+        "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+        "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+        "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+      },
+      "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+          #
+          # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+          # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+          # - Display the source of data to the user (by using the device make / model)
+          # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+          # - Build different analysis models for each device/version.
+        "model": "A String", # End-user visible model name for the device.
+        "version": "A String", # Version string for the device hardware/software.
+        "type": "A String", # A constant representing the type of the device.
+        "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+        "manufacturer": "A String", # Manufacturer of the product/hardware.
+      },
+      "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+          #
+          #
+          # - The physical device's manufacturer, model, and serial number (UID).
+          # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+          # - The data source's type.
+          # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+          #
+          # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+          #
+          # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+      "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(userId, dataSourceId)</code>
+  <pre>Returns a data source identified by a data stream ID.
+
+Args:
+  userId: string, Retrieve a data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+        #
+        # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+        #
+        # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+      "name": "A String", # An end-user visible name for this data source.
+      "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+      "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+        "field": [ # A field represents one dimension of a data type.
+          { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+              #
+              # This message is only instantiated in code and not used for wire comms or stored in any way.
+            "optional": True or False,
+            "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+            "format": "A String", # The different supported formats for each field in a data type.
+          },
+        ],
+        "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+      },
+      "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+        "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+        "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+        "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+        "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+      },
+      "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+          #
+          # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+          # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+          # - Display the source of data to the user (by using the device make / model)
+          # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+          # - Build different analysis models for each device/version.
+        "model": "A String", # End-user visible model name for the device.
+        "version": "A String", # Version string for the device hardware/software.
+        "type": "A String", # A constant representing the type of the device.
+        "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+        "manufacturer": "A String", # Manufacturer of the product/hardware.
+      },
+      "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+          #
+          #
+          # - The physical device's manufacturer, model, and serial number (UID).
+          # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+          # - The data source's type.
+          # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+          #
+          # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+          #
+          # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+      "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, dataTypeName=None)</code>
+  <pre>Lists all data sources that are visible to the developer, using the OAuth scopes provided. The list is not exhaustive: the user may have private data sources that are only visible to other developers or calls using other scopes.
+
+Args:
+  userId: string, List data sources for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataTypeName: string, The names of data types to include in the list. If not specified, all data sources will be returned. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "dataSource": [ # A previously created data source.
+      { # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+            #
+            # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+            #
+            # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+          "name": "A String", # An end-user visible name for this data source.
+          "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+          "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+            "field": [ # A field represents one dimension of a data type.
+              { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+                  #
+                  # This message is only instantiated in code and not used for wire comms or stored in any way.
+                "optional": True or False,
+                "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+                "format": "A String", # The different supported formats for each field in a data type.
+              },
+            ],
+            "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+          },
+          "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+            "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+            "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+            "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+            "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+          },
+          "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+              #
+              # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+              # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+              # - Display the source of data to the user (by using the device make / model)
+              # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+              # - Build different analysis models for each device/version.
+            "model": "A String", # End-user visible model name for the device.
+            "version": "A String", # Version string for the device hardware/software.
+            "type": "A String", # A constant representing the type of the device.
+            "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+            "manufacturer": "A String", # Manufacturer of the product/hardware.
+          },
+          "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+              #
+              #
+              # - The physical device's manufacturer, model, and serial number (UID).
+              # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+              # - The data source's type.
+              # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+              #
+              # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+              #
+              # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+              #
+              # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+              #
+              # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+          "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(userId, dataSourceId, body)</code>
+  <pre>Updates a given data source. It is an error to modify the data source's data stream ID, data type, type, stream name or device information apart from the device version. Changing these fields would require a new unique data stream ID and separate data source.
+
+Data sources are identified by their data stream ID. This method supports patch semantics.
+
+Args:
+  userId: string, Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+      # 
+      # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+      # 
+      # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+    "name": "A String", # An end-user visible name for this data source.
+    "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+    "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+      "field": [ # A field represents one dimension of a data type.
+        { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+            #
+            # This message is only instantiated in code and not used for wire comms or stored in any way.
+          "optional": True or False,
+          "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+          "format": "A String", # The different supported formats for each field in a data type.
+        },
+      ],
+      "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+    },
+    "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+      "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+      "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+      "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+      "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+    },
+    "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+        #
+        # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+        # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+        # - Display the source of data to the user (by using the device make / model)
+        # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+        # - Build different analysis models for each device/version.
+      "model": "A String", # End-user visible model name for the device.
+      "version": "A String", # Version string for the device hardware/software.
+      "type": "A String", # A constant representing the type of the device.
+      "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+      "manufacturer": "A String", # Manufacturer of the product/hardware.
+    },
+    "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+        # 
+        # 
+        # - The physical device's manufacturer, model, and serial number (UID).
+        # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+        # - The data source's type.
+        # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+        # 
+        # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+        # 
+        # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+    "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+        #
+        # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+        #
+        # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+      "name": "A String", # An end-user visible name for this data source.
+      "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+      "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+        "field": [ # A field represents one dimension of a data type.
+          { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+              #
+              # This message is only instantiated in code and not used for wire comms or stored in any way.
+            "optional": True or False,
+            "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+            "format": "A String", # The different supported formats for each field in a data type.
+          },
+        ],
+        "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+      },
+      "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+        "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+        "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+        "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+        "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+      },
+      "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+          #
+          # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+          # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+          # - Display the source of data to the user (by using the device make / model)
+          # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+          # - Build different analysis models for each device/version.
+        "model": "A String", # End-user visible model name for the device.
+        "version": "A String", # Version string for the device hardware/software.
+        "type": "A String", # A constant representing the type of the device.
+        "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+        "manufacturer": "A String", # Manufacturer of the product/hardware.
+      },
+      "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+          #
+          #
+          # - The physical device's manufacturer, model, and serial number (UID).
+          # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+          # - The data source's type.
+          # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+          #
+          # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+          #
+          # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+      "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(userId, dataSourceId, body)</code>
+  <pre>Updates a given data source. It is an error to modify the data source's data stream ID, data type, type, stream name or device information apart from the device version. Changing these fields would require a new unique data stream ID and separate data source.
+
+Data sources are identified by their data stream ID.
+
+Args:
+  userId: string, Update the data source for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  dataSourceId: string, The data stream ID of the data source to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+      # 
+      # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+      # 
+      # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+    "name": "A String", # An end-user visible name for this data source.
+    "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+    "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+      "field": [ # A field represents one dimension of a data type.
+        { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+            #
+            # This message is only instantiated in code and not used for wire comms or stored in any way.
+          "optional": True or False,
+          "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+          "format": "A String", # The different supported formats for each field in a data type.
+        },
+      ],
+      "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+    },
+    "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+      "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+      "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+      "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+      "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+    },
+    "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+        #
+        # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+        # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+        # - Display the source of data to the user (by using the device make / model)
+        # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+        # - Build different analysis models for each device/version.
+      "model": "A String", # End-user visible model name for the device.
+      "version": "A String", # Version string for the device hardware/software.
+      "type": "A String", # A constant representing the type of the device.
+      "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+      "manufacturer": "A String", # Manufacturer of the product/hardware.
+    },
+    "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+        # 
+        # 
+        # - The physical device's manufacturer, model, and serial number (UID).
+        # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+        # - The data source's type.
+        # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+        # 
+        # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+        # 
+        # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+        # 
+        # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+    "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source.
+        #
+        # The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type.
+        #
+        # Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
+      "name": "A String", # An end-user visible name for this data source.
+      "dataStreamName": "A String", # The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer. Setting the stream name is optional, but should be done whenever an application exposes two streams for the same data type, or when a device has two equivalent sensors.
+      "dataType": { # See: google3/java/com/google/android/apps/heart/platform/api/DataType.java # The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
+        "field": [ # A field represents one dimension of a data type.
+          { # In case of multi-dimensional data (such as an accelerometer with x, y, and z axes) each field represents one dimension. Each data type field has a unique name which identifies it. The field also defines the format of the data (int, float, etc.).
+              #
+              # This message is only instantiated in code and not used for wire comms or stored in any way.
+            "optional": True or False,
+            "name": "A String", # Defines the name and format of data. Unlike data type names, field names are not namespaced, and only need to be unique within the data type.
+            "format": "A String", # The different supported formats for each field in a data type.
+          },
+        ],
+        "name": "A String", # Each data type has a unique, namespaced, name. All data types in the com.google namespace are shared as part of the platform.
+      },
+      "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # Information about an application which feeds sensor data into the platform.
+        "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+        "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+        "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+        "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+      },
+      "device": { # Representation of an integrated device (such as a phone or a wearable) that can hold sensors. Each sensor is exposed as a data source. # Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
+          #
+          # The main purpose of the device information contained in this class is to identify the hardware of a particular data source. This can be useful in different ways, including:
+          # - Distinguishing two similar sensors on different devices (the step counter on two nexus 5 phones, for instance)
+          # - Display the source of data to the user (by using the device make / model)
+          # - Treat data differently depending on sensor type (accelerometers on a watch may give different patterns than those on a phone)
+          # - Build different analysis models for each device/version.
+        "model": "A String", # End-user visible model name for the device.
+        "version": "A String", # Version string for the device hardware/software.
+        "type": "A String", # A constant representing the type of the device.
+        "uid": "A String", # The serial number or other unique ID for the hardware. This field is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the uid field in clear and normal form.
+        "manufacturer": "A String", # Manufacturer of the product/hardware.
+      },
+      "dataStreamId": "A String", # A unique identifier for the data stream produced by this data source. The identifier includes:
+          #
+          #
+          # - The physical device's manufacturer, model, and serial number (UID).
+          # - The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client.
+          # - The data source's type.
+          # - The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.
+          #
+          # The exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # The exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName
+          #
+          # When any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number
+          #
+          # Finally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.
+      "type": "A String", # A constant describing the type of this data source. Indicates whether this data source produces raw or derived data.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fitness_v1.users.html b/docs/dyn/fitness_v1.users.html
new file mode 100644
index 0000000..463a3b8
--- /dev/null
+++ b/docs/dyn/fitness_v1.users.html
@@ -0,0 +1,87 @@
+<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="fitness_v1.html">Fitness</a> . <a href="fitness_v1.users.html">users</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="fitness_v1.users.dataSources.html">dataSources()</a></code>
+</p>
+<p class="firstline">Returns the dataSources Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fitness_v1.users.sessions.html">sessions()</a></code>
+</p>
+<p class="firstline">Returns the sessions Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fitness_v1.users.sessions.html b/docs/dyn/fitness_v1.users.sessions.html
new file mode 100644
index 0000000..27afc3d
--- /dev/null
+++ b/docs/dyn/fitness_v1.users.sessions.html
@@ -0,0 +1,216 @@
+<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="fitness_v1.html">Fitness</a> . <a href="fitness_v1.users.html">users</a> . <a href="fitness_v1.users.sessions.html">sessions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(userId, sessionId, currentTimeMillis=None)</a></code></p>
+<p class="firstline">Deletes a session specified by the given session ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, includeDeleted=None, pageToken=None, startTime=None, endTime=None)</a></code></p>
+<p class="firstline">Lists sessions previously created.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#update">update(userId, sessionId, body, currentTimeMillis=None)</a></code></p>
+<p class="firstline">Updates or insert a given session.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(userId, sessionId, currentTimeMillis=None)</code>
+  <pre>Deletes a session specified by the given session ID.
+
+Args:
+  userId: string, Delete a session for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  sessionId: string, The ID of the session to be deleted. (required)
+  currentTimeMillis: string, The client's current time in milliseconds since epoch.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, includeDeleted=None, pageToken=None, startTime=None, endTime=None)</code>
+  <pre>Lists sessions previously created.
+
+Args:
+  userId: string, List sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  includeDeleted: boolean, If true, deleted sessions will be returned. When set to true, sessions returned in this response will only have an ID and will not have any other fields.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  startTime: string, An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.
+  endTime: string, An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "deletedSession": [ # If includeDeleted is set to true in the request, this list will contain sessions deleted with original end times that are within the startTime and endTime frame.
+      { # Sessions contain metadata, such as a user-friendly name and time interval information.
+        "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
+        "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
+        "description": "A String", # A description for this session.
+        "activityType": 42, # The type of activity this session represents.
+        "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
+          "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+          "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+          "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+          "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+        },
+        "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
+        "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
+        "name": "A String", # A human readable name of the session.
+      },
+    ],
+    "session": [ # Sessions with an end time that is between startTime and endTime of the request.
+      { # Sessions contain metadata, such as a user-friendly name and time interval information.
+        "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
+        "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
+        "description": "A String", # A description for this session.
+        "activityType": 42, # The type of activity this session represents.
+        "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
+          "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+          "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+          "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+          "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+        },
+        "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
+        "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
+        "name": "A String", # A human readable name of the session.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(userId, sessionId, body, currentTimeMillis=None)</code>
+  <pre>Updates or insert a given session.
+
+Args:
+  userId: string, Create sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
+  sessionId: string, The ID of the session to be created. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Sessions contain metadata, such as a user-friendly name and time interval information.
+  "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
+  "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
+  "description": "A String", # A description for this session.
+  "activityType": 42, # The type of activity this session represents.
+  "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
+    "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+    "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+    "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+    "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+  },
+  "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
+  "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
+  "name": "A String", # A human readable name of the session.
+}
+
+  currentTimeMillis: string, The client's current time in milliseconds since epoch.
+
+Returns:
+  An object of the form:
+
+    { # Sessions contain metadata, such as a user-friendly name and time interval information.
+    "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
+    "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
+    "description": "A String", # A description for this session.
+    "activityType": 42, # The type of activity this session represents.
+    "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
+      "packageName": "A String", # Package name for this application. This is used as a unique identifier when created by Android applications, but cannot be specified by REST clients. REST clients will have their developer project number reflected into the Data Source data stream IDs, instead of the packageName.
+      "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
+      "name": "A String", # The name of this application. This is required for REST clients, but we do not enforce uniqueness of this name. It is provided as a matter of convenience for other developers who would like to identify which REST created an Application or Data Source.
+      "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
+    },
+    "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
+    "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
+    "name": "A String", # A human readable name of the session.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.column.html b/docs/dyn/fusiontables_v2.column.html
new file mode 100644
index 0000000..6fc0a8a
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.column.html
@@ -0,0 +1,375 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.column.html">column</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, columnId)</a></code></p>
+<p class="firstline">Deletes the column.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, columnId)</a></code></p>
+<p class="firstline">Retrieves a specific column by its id.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Adds a new column to the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of columns.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(tableId, columnId, body)</a></code></p>
+<p class="firstline">Updates the name or type of an existing column. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, columnId, body)</a></code></p>
+<p class="firstline">Updates the name or type of an existing column.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, columnId)</code>
+  <pre>Deletes the column.
+
+Args:
+  tableId: string, Table from which the column is being deleted. (required)
+  columnId: string, Name or identifier for the column being deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, columnId)</code>
+  <pre>Retrieves a specific column by its id.
+
+Args:
+  tableId: string, Table to which the column belongs. (required)
+  columnId: string, Name or identifier for the column that is being requested. (required)
+
+Returns:
+  An object of the form:
+
+    { # Specifies the details of a column in a table.
+      "graphPredicate": "A String", # Column graph predicate.
+          # Used to map table to graph data model (subject,predicate,object)
+          # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+      "kind": "fusiontables#column", # Type name: a template for an individual column.
+      "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+        "A String",
+      ],
+      "description": "A String", # Column description.
+      "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+        "columnId": 42, # The id of the column in the base table from which this column is derived.
+      },
+      "name": "A String", # Name of the column.
+      "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+      "formatPattern": "A String", # Format pattern.
+      "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+      "type": "A String", # Type of the column.
+      "validateData": True or False, # If true, data entered via the web application is validated.
+      "columnId": 42, # Identifier for the column.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Adds a new column to the table.
+
+Args:
+  tableId: string, Table for which a new column is being added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Specifies the details of a column in a table.
+    "graphPredicate": "A String", # Column graph predicate.
+        # Used to map table to graph data model (subject,predicate,object)
+        # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+    "kind": "fusiontables#column", # Type name: a template for an individual column.
+    "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+      "A String",
+    ],
+    "description": "A String", # Column description.
+    "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+      "columnId": 42, # The id of the column in the base table from which this column is derived.
+    },
+    "name": "A String", # Name of the column.
+    "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+    "formatPattern": "A String", # Format pattern.
+    "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+    "type": "A String", # Type of the column.
+    "validateData": True or False, # If true, data entered via the web application is validated.
+    "columnId": 42, # Identifier for the column.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Specifies the details of a column in a table.
+      "graphPredicate": "A String", # Column graph predicate.
+          # Used to map table to graph data model (subject,predicate,object)
+          # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+      "kind": "fusiontables#column", # Type name: a template for an individual column.
+      "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+        "A String",
+      ],
+      "description": "A String", # Column description.
+      "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+        "columnId": 42, # The id of the column in the base table from which this column is derived.
+      },
+      "name": "A String", # Name of the column.
+      "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+      "formatPattern": "A String", # Format pattern.
+      "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+      "type": "A String", # Type of the column.
+      "validateData": True or False, # If true, data entered via the web application is validated.
+      "columnId": 42, # Identifier for the column.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of columns.
+
+Args:
+  tableId: string, Table whose columns are being listed. (required)
+  pageToken: string, Continuation token specifying which result page to return.
+  maxResults: integer, Maximum number of columns to return. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of columns in a table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested columns.
+      { # Specifies the details of a column in a table.
+          "graphPredicate": "A String", # Column graph predicate.
+              # Used to map table to graph data model (subject,predicate,object)
+              # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+          "kind": "fusiontables#column", # Type name: a template for an individual column.
+          "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+            "A String",
+          ],
+          "description": "A String", # Column description.
+          "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+            "columnId": 42, # The id of the column in the base table from which this column is derived.
+          },
+          "name": "A String", # Name of the column.
+          "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+          "formatPattern": "A String", # Format pattern.
+          "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+          "type": "A String", # Type of the column.
+          "validateData": True or False, # If true, data entered via the web application is validated.
+          "columnId": 42, # Identifier for the column.
+        },
+    ],
+    "kind": "fusiontables#columnList", # Type name: a list of all columns.
+    "totalItems": 42, # Total number of columns for the table.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(tableId, columnId, body)</code>
+  <pre>Updates the name or type of an existing column. This method supports patch semantics.
+
+Args:
+  tableId: string, Table for which the column is being updated. (required)
+  columnId: string, Name or identifier for the column that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Specifies the details of a column in a table.
+    "graphPredicate": "A String", # Column graph predicate.
+        # Used to map table to graph data model (subject,predicate,object)
+        # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+    "kind": "fusiontables#column", # Type name: a template for an individual column.
+    "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+      "A String",
+    ],
+    "description": "A String", # Column description.
+    "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+      "columnId": 42, # The id of the column in the base table from which this column is derived.
+    },
+    "name": "A String", # Name of the column.
+    "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+    "formatPattern": "A String", # Format pattern.
+    "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+    "type": "A String", # Type of the column.
+    "validateData": True or False, # If true, data entered via the web application is validated.
+    "columnId": 42, # Identifier for the column.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Specifies the details of a column in a table.
+      "graphPredicate": "A String", # Column graph predicate.
+          # Used to map table to graph data model (subject,predicate,object)
+          # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+      "kind": "fusiontables#column", # Type name: a template for an individual column.
+      "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+        "A String",
+      ],
+      "description": "A String", # Column description.
+      "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+        "columnId": 42, # The id of the column in the base table from which this column is derived.
+      },
+      "name": "A String", # Name of the column.
+      "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+      "formatPattern": "A String", # Format pattern.
+      "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+      "type": "A String", # Type of the column.
+      "validateData": True or False, # If true, data entered via the web application is validated.
+      "columnId": 42, # Identifier for the column.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, columnId, body)</code>
+  <pre>Updates the name or type of an existing column.
+
+Args:
+  tableId: string, Table for which the column is being updated. (required)
+  columnId: string, Name or identifier for the column that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Specifies the details of a column in a table.
+    "graphPredicate": "A String", # Column graph predicate.
+        # Used to map table to graph data model (subject,predicate,object)
+        # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+    "kind": "fusiontables#column", # Type name: a template for an individual column.
+    "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+      "A String",
+    ],
+    "description": "A String", # Column description.
+    "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+      "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+      "columnId": 42, # The id of the column in the base table from which this column is derived.
+    },
+    "name": "A String", # Name of the column.
+    "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+    "formatPattern": "A String", # Format pattern.
+    "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+    "type": "A String", # Type of the column.
+    "validateData": True or False, # If true, data entered via the web application is validated.
+    "columnId": 42, # Identifier for the column.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Specifies the details of a column in a table.
+      "graphPredicate": "A String", # Column graph predicate.
+          # Used to map table to graph data model (subject,predicate,object)
+          # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+      "kind": "fusiontables#column", # Type name: a template for an individual column.
+      "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+        "A String",
+      ],
+      "description": "A String", # Column description.
+      "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+        "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+        "columnId": 42, # The id of the column in the base table from which this column is derived.
+      },
+      "name": "A String", # Name of the column.
+      "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+      "formatPattern": "A String", # Format pattern.
+      "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+      "type": "A String", # Type of the column.
+      "validateData": True or False, # If true, data entered via the web application is validated.
+      "columnId": 42, # Identifier for the column.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.html b/docs/dyn/fusiontables_v2.html
new file mode 100644
index 0000000..7930899
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.html
@@ -0,0 +1,107 @@
+<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="fusiontables_v2.html">Fusion Tables API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="fusiontables_v2.column.html">column()</a></code>
+</p>
+<p class="firstline">Returns the column Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v2.query.html">query()</a></code>
+</p>
+<p class="firstline">Returns the query Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v2.style.html">style()</a></code>
+</p>
+<p class="firstline">Returns the style Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v2.table.html">table()</a></code>
+</p>
+<p class="firstline">Returns the table Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v2.task.html">task()</a></code>
+</p>
+<p class="firstline">Returns the task Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v2.template.html">template()</a></code>
+</p>
+<p class="firstline">Returns the template Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.query.html b/docs/dyn/fusiontables_v2.query.html
new file mode 100644
index 0000000..aa3b393
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.query.html
@@ -0,0 +1,170 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.query.html">query</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#sql">sql(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.</p>
+<p class="toc_element">
+  <code><a href="#sqlGet">sqlGet(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/SHOW/DESCRIBE statement.</p>
+<p class="toc_element">
+  <code><a href="#sqlGet_media">sqlGet_media(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/SHOW/DESCRIBE statement.</p>
+<p class="toc_element">
+  <code><a href="#sql_media">sql_media(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="sql">sql(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to an sql statement.
+    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
+    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
+      [
+        "",
+      ],
+    ],
+    "columns": [ # Columns in the table.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sqlGet">sqlGet(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/SHOW/DESCRIBE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to an sql statement.
+    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
+    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
+      [
+        "",
+      ],
+    ],
+    "columns": [ # Columns in the table.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sqlGet_media">sqlGet_media(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/SHOW/DESCRIBE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sql_media">sql_media(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.style.html b/docs/dyn/fusiontables_v2.style.html
new file mode 100644
index 0000000..e23b5e6
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.style.html
@@ -0,0 +1,1527 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.style.html">style</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, styleId)</a></code></p>
+<p class="firstline">Deletes a style.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, styleId)</a></code></p>
+<p class="firstline">Gets a specific style.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Adds a new style for the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of styles.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(tableId, styleId, body)</a></code></p>
+<p class="firstline">Updates an existing style. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, styleId, body)</a></code></p>
+<p class="firstline">Updates an existing style.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, styleId)</code>
+  <pre>Deletes a style.
+
+Args:
+  tableId: string, Table from which the style is being deleted (required)
+  styleId: integer, Identifier (within a table) for the style being deleted (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, styleId)</code>
+  <pre>Gets a specific style.
+
+Args:
+  tableId: string, Table to which the requested style belongs (required)
+  styleId: integer, Identifier (integer) for a specific style in a table (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Adds a new style for the table.
+
+Args:
+  tableId: string, Table for which a new style is being added (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of styles.
+
+Args:
+  tableId: string, Table whose styles are being listed (required)
+  pageToken: string, Continuation token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of styles for a given table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more styles left.
+    "items": [ # All requested style settings.
+      { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+          "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+            "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+          },
+          "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+          "name": "A String", # Optional name for the style setting.
+          "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "strokeWeight": 42, # Width of the polyon border in pixels.
+            "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+            "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+            "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+          },
+          "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+            "strokeWeight": 42, # Width of the line in pixels.
+            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "strokeColor": "A String", # Color of the line in #RRGGBB format.
+            "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+          },
+          "tableId": "A String", # Identifier for the table.
+          "styleId": 42, # Identifier for the style setting (unique only within tables).
+        },
+    ],
+    "kind": "fusiontables#styleSettingList", # Type name: in this case, a list of style settings.
+    "totalItems": 42, # Total number of styles for the table.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(tableId, styleId, body)</code>
+  <pre>Updates an existing style. This method supports patch semantics.
+
+Args:
+  tableId: string, Table whose style is being updated. (required)
+  styleId: integer, Identifier (within a table) for the style being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, styleId, body)</code>
+  <pre>Updates an existing style.
+
+Args:
+  tableId: string, Table whose style is being updated. (required)
+  styleId: integer, Identifier (within a table) for the style being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.table.html b/docs/dyn/fusiontables_v2.table.html
new file mode 100644
index 0000000..9be0397
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.table.html
@@ -0,0 +1,679 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.table.html">table</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#copy">copy(tableId, copyPresentation=None)</a></code></p>
+<p class="firstline">Copies a table.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId)</a></code></p>
+<p class="firstline">Deletes a table.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId)</a></code></p>
+<p class="firstline">Retrieves a specific table by its id.</p>
+<p class="toc_element">
+  <code><a href="#importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</a></code></p>
+<p class="firstline">Import more rows into a table.</p>
+<p class="toc_element">
+  <code><a href="#importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</a></code></p>
+<p class="firstline">Import a new table.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a new table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of tables a user owns.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(tableId, body, replaceViewDefinition=None)</a></code></p>
+<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#replaceRows">replaceRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</a></code></p>
+<p class="firstline">Replaces rows of an existing table. Current rows remain visible until all replacement rows are ready.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, body, replaceViewDefinition=None)</a></code></p>
+<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="copy">copy(tableId, copyPresentation=None)</code>
+  <pre>Copies a table.
+
+Args:
+  tableId: string, ID of the table that is being copied. (required)
+  copyPresentation: boolean, Whether to also copy tabs, styles, and templates. Default is false.
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(tableId)</code>
+  <pre>Deletes a table.
+
+Args:
+  tableId: string, ID of the table that is being deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId)</code>
+  <pre>Retrieves a specific table by its id.
+
+Args:
+  tableId: string, Identifier(ID) for the table being requested. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</code>
+  <pre>Import more rows into a table.
+
+Args:
+  tableId: string, The table into which new rows are being imported. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  startLine: integer, The index of the first line from which to start importing, inclusive. Default is 0.
+  isStrict: boolean, Whether the CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true.
+  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
+  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
+  endLine: integer, The index of the last line from which to start importing, exclusive. Thus, the number of imported lines is endLine - startLine. If this parameter is not provided, the file will be imported until the last line of the file. If endLine is negative, then the imported content will exclude the last endLine lines. That is, if endline is negative, no line will be imported whose index is greater than N + endLine where N is the number of lines in the file, and the number of imported lines will be N + endLine - startLine.
+
+Returns:
+  An object of the form:
+
+    { # Represents an import request.
+    "numRowsReceived": "A String", # The number of rows received from the import request.
+    "kind": "fusiontables#import", # Type name: a template for an import request.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</code>
+  <pre>Import a new table.
+
+Args:
+  name: string, The name to be assigned to the new table. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
+  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a new table.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a table.
+    "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+    "kind": "fusiontables#table", # Type name: a template for an individual table.
+    "attribution": "A String", # Attribution assigned to the table.
+    "description": "A String", # Description assigned to the table.
+    "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+    "isExportable": True or False, # Variable for whether table is exportable.
+    "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+      "A String",
+    ],
+    "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+    "attributionLink": "A String", # Optional link for attribution.
+    "sql": "A String", # SQL that encodes the table definition for derived tables.
+    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+    "columns": [ # Columns in the table.
+      { # Specifies the details of a column in a table.
+          "graphPredicate": "A String", # Column graph predicate.
+              # Used to map table to graph data model (subject,predicate,object)
+              # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+          "kind": "fusiontables#column", # Type name: a template for an individual column.
+          "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+            "A String",
+          ],
+          "description": "A String", # Column description.
+          "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+            "columnId": 42, # The id of the column in the base table from which this column is derived.
+          },
+          "name": "A String", # Name of the column.
+          "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+          "formatPattern": "A String", # Format pattern.
+          "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+          "type": "A String", # Type of the column.
+          "validateData": True or False, # If true, data entered via the web application is validated.
+          "columnId": 42, # Identifier for the column.
+        },
+    ],
+    "name": "A String", # Name assigned to a table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of tables a user owns.
+
+Args:
+  pageToken: string, Continuation token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of tables.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested tables.
+      { # Represents a table.
+          "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+          "kind": "fusiontables#table", # Type name: a template for an individual table.
+          "attribution": "A String", # Attribution assigned to the table.
+          "description": "A String", # Description assigned to the table.
+          "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+          "isExportable": True or False, # Variable for whether table is exportable.
+          "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+            "A String",
+          ],
+          "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+          "attributionLink": "A String", # Optional link for attribution.
+          "sql": "A String", # SQL that encodes the table definition for derived tables.
+          "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+          "columns": [ # Columns in the table.
+            { # Specifies the details of a column in a table.
+                "graphPredicate": "A String", # Column graph predicate.
+                    # Used to map table to graph data model (subject,predicate,object)
+                    # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+                "kind": "fusiontables#column", # Type name: a template for an individual column.
+                "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+                  "A String",
+                ],
+                "description": "A String", # Column description.
+                "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+                  "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+                  "columnId": 42, # The id of the column in the base table from which this column is derived.
+                },
+                "name": "A String", # Name of the column.
+                "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+                "formatPattern": "A String", # Format pattern.
+                "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+                "type": "A String", # Type of the column.
+                "validateData": True or False, # If true, data entered via the web application is validated.
+                "columnId": 42, # Identifier for the column.
+              },
+          ],
+          "name": "A String", # Name assigned to a table.
+        },
+    ],
+    "kind": "fusiontables#tableList", # Type name: a list of all tables.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(tableId, body, replaceViewDefinition=None)</code>
+  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.
+
+Args:
+  tableId: string, ID of the table that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a table.
+    "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+    "kind": "fusiontables#table", # Type name: a template for an individual table.
+    "attribution": "A String", # Attribution assigned to the table.
+    "description": "A String", # Description assigned to the table.
+    "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+    "isExportable": True or False, # Variable for whether table is exportable.
+    "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+      "A String",
+    ],
+    "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+    "attributionLink": "A String", # Optional link for attribution.
+    "sql": "A String", # SQL that encodes the table definition for derived tables.
+    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+    "columns": [ # Columns in the table.
+      { # Specifies the details of a column in a table.
+          "graphPredicate": "A String", # Column graph predicate.
+              # Used to map table to graph data model (subject,predicate,object)
+              # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+          "kind": "fusiontables#column", # Type name: a template for an individual column.
+          "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+            "A String",
+          ],
+          "description": "A String", # Column description.
+          "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+            "columnId": 42, # The id of the column in the base table from which this column is derived.
+          },
+          "name": "A String", # Name of the column.
+          "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+          "formatPattern": "A String", # Format pattern.
+          "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+          "type": "A String", # Type of the column.
+          "validateData": True or False, # If true, data entered via the web application is validated.
+          "columnId": 42, # Identifier for the column.
+        },
+    ],
+    "name": "A String", # Name assigned to a table.
+  }
+
+  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="replaceRows">replaceRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</code>
+  <pre>Replaces rows of an existing table. Current rows remain visible until all replacement rows are ready.
+
+Args:
+  tableId: string, Table whose rows will be replaced. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  startLine: integer, The index of the first line from which to start importing, inclusive. Default is 0.
+  isStrict: boolean, Whether the CSV must have the same number of column values for each row. If true, throws an exception if the CSV does not not have the same number of columns. If false, rows with fewer column values will be padded with empty values. Default is true.
+  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
+  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
+  endLine: integer, The index of the last line to import, exclusive. 'endLine - startLine' rows will be imported. Default is to import through the end of the file. If endLine is negative, it is an offset from the end of the file; the imported content will exclude the last endLine lines.
+
+Returns:
+  An object of the form:
+
+    { # A background task on a table, initiated for time and or resource consuming operations such as a column type change or delete all rows operation.
+    "started": True or False, # True if the task is in progress, its progress indicator will indicated where it is, and it can't be deleted.
+    "progress": "A String", # Task percentage completion.
+    "kind": "fusiontables#task", # Type name: a template for an individual task.
+    "type": "A String", # The type of task being executed in the background.
+    "taskId": "A String", # Identifier for the task.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, body, replaceViewDefinition=None)</code>
+  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.
+
+Args:
+  tableId: string, ID of the table that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a table.
+    "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+    "kind": "fusiontables#table", # Type name: a template for an individual table.
+    "attribution": "A String", # Attribution assigned to the table.
+    "description": "A String", # Description assigned to the table.
+    "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+    "isExportable": True or False, # Variable for whether table is exportable.
+    "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+      "A String",
+    ],
+    "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+    "attributionLink": "A String", # Optional link for attribution.
+    "sql": "A String", # SQL that encodes the table definition for derived tables.
+    "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+    "columns": [ # Columns in the table.
+      { # Specifies the details of a column in a table.
+          "graphPredicate": "A String", # Column graph predicate.
+              # Used to map table to graph data model (subject,predicate,object)
+              # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+          "kind": "fusiontables#column", # Type name: a template for an individual column.
+          "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+            "A String",
+          ],
+          "description": "A String", # Column description.
+          "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+            "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+            "columnId": 42, # The id of the column in the base table from which this column is derived.
+          },
+          "name": "A String", # Name of the column.
+          "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+          "formatPattern": "A String", # Format pattern.
+          "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+          "type": "A String", # Type of the column.
+          "validateData": True or False, # If true, data entered via the web application is validated.
+          "columnId": 42, # Identifier for the column.
+        },
+    ],
+    "name": "A String", # Name assigned to a table.
+  }
+
+  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+
+Returns:
+  An object of the form:
+
+    { # Represents a table.
+      "tablePropertiesJsonSchema": "A String", # JSON schema for validating the JSON table properties.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Attribution assigned to the table.
+      "description": "A String", # Description assigned to the table.
+      "columnPropertiesJsonSchema": "A String", # Default JSON schema for validating all JSON column properties.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "tablePropertiesJson": "A String", # JSON object containing custom table properties.
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # SQL that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the details of a column in a table.
+            "graphPredicate": "A String", # Column graph predicate.
+                # Used to map table to graph data model (subject,predicate,object)
+                # See http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#data-model
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "validValues": [ # List of valid values used to validate data and supply a drop-down list of values in the web application.
+              "A String",
+            ],
+            "description": "A String", # Column description.
+            "baseColumn": { # Identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+            "name": "A String", # Name of the column.
+            "columnPropertiesJson": "A String", # JSON object containing custom column properties.
+            "formatPattern": "A String", # Format pattern.
+            "columnJsonSchema": "A String", # JSON schema for interpreting JSON in this column.
+            "type": "A String", # Type of the column.
+            "validateData": True or False, # If true, data entered via the web application is validated.
+            "columnId": 42, # Identifier for the column.
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.task.html b/docs/dyn/fusiontables_v2.task.html
new file mode 100644
index 0000000..2884501
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.task.html
@@ -0,0 +1,163 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.task.html">task</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, taskId)</a></code></p>
+<p class="firstline">Deletes the task, unless already started.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, taskId)</a></code></p>
+<p class="firstline">Retrieves a specific task by its id.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None, startIndex=None)</a></code></p>
+<p class="firstline">Retrieves a list of tasks.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, taskId)</code>
+  <pre>Deletes the task, unless already started.
+
+Args:
+  tableId: string, Table from which the task is being deleted. (required)
+  taskId: string, A parameter (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, taskId)</code>
+  <pre>Retrieves a specific task by its id.
+
+Args:
+  tableId: string, Table to which the task belongs. (required)
+  taskId: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    { # A background task on a table, initiated for time and or resource consuming operations such as a column type change or delete all rows operation.
+    "started": True or False, # True if the task is in progress, its progress indicator will indicated where it is, and it can't be deleted.
+    "progress": "A String", # Task percentage completion.
+    "kind": "fusiontables#task", # Type name: a template for an individual task.
+    "type": "A String", # The type of task being executed in the background.
+    "taskId": "A String", # Identifier for the task.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None, startIndex=None)</code>
+  <pre>Retrieves a list of tasks.
+
+Args:
+  tableId: string, Table whose tasks are being listed. (required)
+  pageToken: string, Continuation token specifying which result page to return.
+  maxResults: integer, Maximum number of tasks to return. Default is 5.
+  startIndex: integer, Index of the first result returned in the current page.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of tasks in a table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested tasks.
+      { # A background task on a table, initiated for time and or resource consuming operations such as a column type change or delete all rows operation.
+        "started": True or False, # True if the task is in progress, its progress indicator will indicated where it is, and it can't be deleted.
+        "progress": "A String", # Task percentage completion.
+        "kind": "fusiontables#task", # Type name: a template for an individual task.
+        "type": "A String", # The type of task being executed in the background.
+        "taskId": "A String", # Identifier for the task.
+      },
+    ],
+    "kind": "fusiontables#taskList", # Type name: a list of all tasks.
+    "totalItems": 42, # Total number of tasks for the table.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v2.template.html b/docs/dyn/fusiontables_v2.template.html
new file mode 100644
index 0000000..7652798
--- /dev/null
+++ b/docs/dyn/fusiontables_v2.template.html
@@ -0,0 +1,287 @@
+<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="fusiontables_v2.html">Fusion Tables API</a> . <a href="fusiontables_v2.template.html">template</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, templateId)</a></code></p>
+<p class="firstline">Deletes a template</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, templateId)</a></code></p>
+<p class="firstline">Retrieves a specific template by its id</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Creates a new template for the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of templates.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(tableId, templateId, body)</a></code></p>
+<p class="firstline">Updates an existing template. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, templateId, body)</a></code></p>
+<p class="firstline">Updates an existing template</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, templateId)</code>
+  <pre>Deletes a template
+
+Args:
+  tableId: string, Table from which the template is being deleted (required)
+  templateId: integer, Identifier for the template which is being deleted (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, templateId)</code>
+  <pre>Retrieves a specific template by its id
+
+Args:
+  tableId: string, Table to which the template belongs (required)
+  templateId: integer, Identifier for the template that is being requested (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Creates a new template for the table.
+
+Args:
+  tableId: string, Table for which a new template is being created (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of templates.
+
+Args:
+  tableId: string, Identifier for the table whose templates are being requested (required)
+  pageToken: string, Continuation token specifying which results page to return. Optional.
+  maxResults: integer, Maximum number of templates to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of templates for a given table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested templates.
+      { # Represents the contents of InfoWindow templates.
+          "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+          "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+          "name": "A String", # Optional name assigned to a template.
+          "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+            "A String",
+          ],
+          "tableId": "A String", # Identifier for the table for which the template is defined.
+          "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+        },
+    ],
+    "kind": "fusiontables#templateList", # Type name: a list of all templates.
+    "totalItems": 42, # Total number of templates for the table.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(tableId, templateId, body)</code>
+  <pre>Updates an existing template. This method supports patch semantics.
+
+Args:
+  tableId: string, Table to which the updated template belongs (required)
+  templateId: integer, Identifier for the template that is being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, templateId, body)</code>
+  <pre>Updates an existing template
+
+Args:
+  tableId: string, Table to which the updated template belongs (required)
+  templateId: integer, Identifier for the template that is being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesConfiguration_v1configuration.achievementConfigurations.html b/docs/dyn/gamesConfiguration_v1configuration.achievementConfigurations.html
new file mode 100644
index 0000000..3519bf4
--- /dev/null
+++ b/docs/dyn/gamesConfiguration_v1configuration.achievementConfigurations.html
@@ -0,0 +1,738 @@
+<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="gamesConfiguration_v1configuration.html">Google Play Game Services Publishing API</a> . <a href="gamesConfiguration_v1configuration.achievementConfigurations.html">achievementConfigurations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(achievementId)</a></code></p>
+<p class="firstline">Delete the achievement configuration with the given ID.</p>
+<p class="toc_element">
+  <code><a href="#get">get(achievementId)</a></code></p>
+<p class="firstline">Retrieves the metadata of the achievement configuration with the given ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(applicationId, body)</a></code></p>
+<p class="firstline">Insert a new achievement configuration in this application.</p>
+<p class="toc_element">
+  <code><a href="#list">list(applicationId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Returns a list of the achievement configurations in this application.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(achievementId, body)</a></code></p>
+<p class="firstline">Update the metadata of the achievement configuration with the given ID. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(achievementId, body)</a></code></p>
+<p class="firstline">Update the metadata of the achievement configuration with the given ID.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(achievementId)</code>
+  <pre>Delete the achievement configuration with the given ID.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(achievementId)</code>
+  <pre>Retrieves the metadata of the achievement configuration with the given ID.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement configuration resource.
+      "achievementType": "A String", # The type of the achievement.
+          # Possible values are:
+          # - "STANDARD" - Achievement is either locked or unlocked.
+          # - "INCREMENTAL" - Achievement is incremental.
+      "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+      "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+      "initialState": "A String", # The initial state of the achievement.
+          # Possible values are:
+          # - "HIDDEN" - Achievement is hidden.
+          # - "REVEALED" - Achievement is revealed.
+          # - "UNLOCKED" - Achievement is unlocked.
+      "token": "A String", # The token for this resource.
+      "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The ID of the achievement.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(applicationId, body)</code>
+  <pre>Insert a new achievement configuration in this application.
+
+Args:
+  applicationId: string, The application ID from the Google Play developer console. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an achievement configuration resource.
+    "achievementType": "A String", # The type of the achievement.
+        # Possible values are:
+        # - "STANDARD" - Achievement is either locked or unlocked.
+        # - "INCREMENTAL" - Achievement is incremental.
+    "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+    "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+    "initialState": "A String", # The initial state of the achievement.
+        # Possible values are:
+        # - "HIDDEN" - Achievement is hidden.
+        # - "REVEALED" - Achievement is revealed.
+        # - "UNLOCKED" - Achievement is unlocked.
+    "token": "A String", # The token for this resource.
+    "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The ID of the achievement.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement configuration resource.
+      "achievementType": "A String", # The type of the achievement.
+          # Possible values are:
+          # - "STANDARD" - Achievement is either locked or unlocked.
+          # - "INCREMENTAL" - Achievement is incremental.
+      "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+      "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+      "initialState": "A String", # The initial state of the achievement.
+          # Possible values are:
+          # - "HIDDEN" - Achievement is hidden.
+          # - "REVEALED" - Achievement is revealed.
+          # - "UNLOCKED" - Achievement is unlocked.
+      "token": "A String", # The token for this resource.
+      "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The ID of the achievement.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(applicationId, pageToken=None, maxResults=None)</code>
+  <pre>Returns a list of the achievement configurations in this application.
+
+Args:
+  applicationId: string, The application ID from the Google Play developer console. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a ListConfigurations response.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The achievement configurations.
+      { # This is a JSON template for an achievement configuration resource.
+          "achievementType": "A String", # The type of the achievement.
+              # Possible values are:
+              # - "STANDARD" - Achievement is either locked or unlocked.
+              # - "INCREMENTAL" - Achievement is incremental.
+          "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+          "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+          "initialState": "A String", # The initial state of the achievement.
+              # Possible values are:
+              # - "HIDDEN" - Achievement is hidden.
+              # - "REVEALED" - Achievement is revealed.
+              # - "UNLOCKED" - Achievement is unlocked.
+          "token": "A String", # The token for this resource.
+          "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+            "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+            "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+            "pointValue": 42, # Point value for the achievement.
+            "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+          "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+            "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+            "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+            "pointValue": 42, # Point value for the achievement.
+            "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+          "id": "A String", # The ID of the achievement.
+        },
+    ],
+    "kind": "gamesConfiguration#achievementConfigurationListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementConfigurationListResponse.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(achievementId, body)</code>
+  <pre>Update the metadata of the achievement configuration with the given ID. This method supports patch semantics.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an achievement configuration resource.
+    "achievementType": "A String", # The type of the achievement.
+        # Possible values are:
+        # - "STANDARD" - Achievement is either locked or unlocked.
+        # - "INCREMENTAL" - Achievement is incremental.
+    "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+    "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+    "initialState": "A String", # The initial state of the achievement.
+        # Possible values are:
+        # - "HIDDEN" - Achievement is hidden.
+        # - "REVEALED" - Achievement is revealed.
+        # - "UNLOCKED" - Achievement is unlocked.
+    "token": "A String", # The token for this resource.
+    "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The ID of the achievement.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement configuration resource.
+      "achievementType": "A String", # The type of the achievement.
+          # Possible values are:
+          # - "STANDARD" - Achievement is either locked or unlocked.
+          # - "INCREMENTAL" - Achievement is incremental.
+      "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+      "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+      "initialState": "A String", # The initial state of the achievement.
+          # Possible values are:
+          # - "HIDDEN" - Achievement is hidden.
+          # - "REVEALED" - Achievement is revealed.
+          # - "UNLOCKED" - Achievement is unlocked.
+      "token": "A String", # The token for this resource.
+      "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The ID of the achievement.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(achievementId, body)</code>
+  <pre>Update the metadata of the achievement configuration with the given ID.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an achievement configuration resource.
+    "achievementType": "A String", # The type of the achievement.
+        # Possible values are:
+        # - "STANDARD" - Achievement is either locked or unlocked.
+        # - "INCREMENTAL" - Achievement is incremental.
+    "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+    "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+    "initialState": "A String", # The initial state of the achievement.
+        # Possible values are:
+        # - "HIDDEN" - Achievement is hidden.
+        # - "REVEALED" - Achievement is revealed.
+        # - "UNLOCKED" - Achievement is unlocked.
+    "token": "A String", # The token for this resource.
+    "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+      "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+      "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+      "pointValue": 42, # Point value for the achievement.
+      "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The ID of the achievement.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement configuration resource.
+      "achievementType": "A String", # The type of the achievement.
+          # Possible values are:
+          # - "STANDARD" - Achievement is either locked or unlocked.
+          # - "INCREMENTAL" - Achievement is incremental.
+      "stepsToUnlock": 42, # Steps to unlock. Only applicable to incremental achievements.
+      "kind": "gamesConfiguration#achievementConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfiguration.
+      "initialState": "A String", # The initial state of the achievement.
+          # Possible values are:
+          # - "HIDDEN" - Achievement is hidden.
+          # - "REVEALED" - Achievement is revealed.
+          # - "UNLOCKED" - Achievement is unlocked.
+      "token": "A String", # The token for this resource.
+      "draft": { # This is a JSON template for an achievement configuration detail. # The draft data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "published": { # This is a JSON template for an achievement configuration detail. # The read-only published data of the achievement.
+        "kind": "gamesConfiguration#achievementConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#achievementConfigurationDetail.
+        "description": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement description.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "iconUrl": "A String", # The icon url of this achievement. Writes to this field are ignored.
+        "pointValue": 42, # Point value for the achievement.
+        "sortRank": 42, # The sort rank of this achievement. Writes to this field are ignored.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the achievement name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The ID of the achievement.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesConfiguration_v1configuration.html b/docs/dyn/gamesConfiguration_v1configuration.html
new file mode 100644
index 0000000..e8926f2
--- /dev/null
+++ b/docs/dyn/gamesConfiguration_v1configuration.html
@@ -0,0 +1,92 @@
+<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="gamesConfiguration_v1configuration.html">Google Play Game Services Publishing API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="gamesConfiguration_v1configuration.achievementConfigurations.html">achievementConfigurations()</a></code>
+</p>
+<p class="firstline">Returns the achievementConfigurations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesConfiguration_v1configuration.imageConfigurations.html">imageConfigurations()</a></code>
+</p>
+<p class="firstline">Returns the imageConfigurations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesConfiguration_v1configuration.leaderboardConfigurations.html">leaderboardConfigurations()</a></code>
+</p>
+<p class="firstline">Returns the leaderboardConfigurations Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesConfiguration_v1configuration.imageConfigurations.html b/docs/dyn/gamesConfiguration_v1configuration.imageConfigurations.html
new file mode 100644
index 0000000..05d8a8a
--- /dev/null
+++ b/docs/dyn/gamesConfiguration_v1configuration.imageConfigurations.html
@@ -0,0 +1,104 @@
+<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="gamesConfiguration_v1configuration.html">Google Play Game Services Publishing API</a> . <a href="gamesConfiguration_v1configuration.imageConfigurations.html">imageConfigurations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#upload">upload(resourceId, imageType, media_body=None)</a></code></p>
+<p class="firstline">Uploads an image for a resource with the given ID and image type.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="upload">upload(resourceId, imageType, media_body=None)</code>
+  <pre>Uploads an image for a resource with the given ID and image type.
+
+Args:
+  resourceId: string, The ID of the resource used by this method. (required)
+  imageType: string, Selects which image in a resource for this method. (required)
+    Allowed values
+      ACHIEVEMENT_ICON - The icon image for an achievement resource.
+      LEADERBOARD_ICON - The icon image for a leaderboard resource.
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an image configuration resource.
+    "url": "A String", # The url for this image.
+    "resourceId": "A String", # The resource ID of resource which the image belongs to.
+    "kind": "gamesConfiguration#imageConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#imageConfiguration.
+    "imageType": "A String", # The image type for the image.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesConfiguration_v1configuration.leaderboardConfigurations.html b/docs/dyn/gamesConfiguration_v1configuration.leaderboardConfigurations.html
new file mode 100644
index 0000000..dc2f067
--- /dev/null
+++ b/docs/dyn/gamesConfiguration_v1configuration.leaderboardConfigurations.html
@@ -0,0 +1,1666 @@
+<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="gamesConfiguration_v1configuration.html">Google Play Game Services Publishing API</a> . <a href="gamesConfiguration_v1configuration.leaderboardConfigurations.html">leaderboardConfigurations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(leaderboardId)</a></code></p>
+<p class="firstline">Delete the leaderboard configuration with the given ID.</p>
+<p class="toc_element">
+  <code><a href="#get">get(leaderboardId)</a></code></p>
+<p class="firstline">Retrieves the metadata of the leaderboard configuration with the given ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(applicationId, body)</a></code></p>
+<p class="firstline">Insert a new leaderboard configuration in this application.</p>
+<p class="toc_element">
+  <code><a href="#list">list(applicationId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Returns a list of the leaderboard configurations in this application.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(leaderboardId, body)</a></code></p>
+<p class="firstline">Update the metadata of the leaderboard configuration with the given ID. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(leaderboardId, body)</a></code></p>
+<p class="firstline">Update the metadata of the leaderboard configuration with the given ID.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(leaderboardId)</code>
+  <pre>Delete the leaderboard configuration with the given ID.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(leaderboardId)</code>
+  <pre>Retrieves the metadata of the leaderboard configuration with the given ID.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an leaderboard configuration resource.
+      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+      "scoreOrder": "A String", # The type of the leaderboard.
+          # Possible values are:
+          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+      "token": "A String", # The token for this resource.
+      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "id": "A String", # The ID of the leaderboard.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(applicationId, body)</code>
+  <pre>Insert a new leaderboard configuration in this application.
+
+Args:
+  applicationId: string, The application ID from the Google Play developer console. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an leaderboard configuration resource.
+    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+    "scoreOrder": "A String", # The type of the leaderboard.
+        # Possible values are:
+        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+    "token": "A String", # The token for this resource.
+    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "id": "A String", # The ID of the leaderboard.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an leaderboard configuration resource.
+      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+      "scoreOrder": "A String", # The type of the leaderboard.
+          # Possible values are:
+          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+      "token": "A String", # The token for this resource.
+      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "id": "A String", # The ID of the leaderboard.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(applicationId, pageToken=None, maxResults=None)</code>
+  <pre>Returns a list of the leaderboard configurations in this application.
+
+Args:
+  applicationId: string, The application ID from the Google Play developer console. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a ListConfigurations response.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The leaderboard configurations.
+      { # This is a JSON template for an leaderboard configuration resource.
+          "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+          "scoreOrder": "A String", # The type of the leaderboard.
+              # Possible values are:
+              # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+              # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+          "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+          "token": "A String", # The token for this resource.
+          "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+          "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+            "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+              "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+              "numberFormatType": "A String", # The formatting for the number.
+                  # Possible values are:
+                  # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+                  # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+                  # - "CURRENCY" - Numbers are formatted to currency according to locale.
+              "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+              "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+                "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+              },
+            },
+            "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+            "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+          },
+          "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+            "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+              "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+              "numberFormatType": "A String", # The formatting for the number.
+                  # Possible values are:
+                  # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+                  # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+                  # - "CURRENCY" - Numbers are formatted to currency according to locale.
+              "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+              "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+                "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+                "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+                  "translations": [ # The locale strings.
+                    { # This is a JSON template for a localized string resource.
+                      "locale": "A String", # The locale string.
+                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                      "value": "A String", # The string value.
+                    },
+                  ],
+                },
+              },
+            },
+            "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+            "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+          },
+          "id": "A String", # The ID of the leaderboard.
+        },
+    ],
+    "kind": "gamesConfiguration#leaderboardConfigurationListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardConfigurationListResponse.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(leaderboardId, body)</code>
+  <pre>Update the metadata of the leaderboard configuration with the given ID. This method supports patch semantics.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an leaderboard configuration resource.
+    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+    "scoreOrder": "A String", # The type of the leaderboard.
+        # Possible values are:
+        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+    "token": "A String", # The token for this resource.
+    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "id": "A String", # The ID of the leaderboard.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an leaderboard configuration resource.
+      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+      "scoreOrder": "A String", # The type of the leaderboard.
+          # Possible values are:
+          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+      "token": "A String", # The token for this resource.
+      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "id": "A String", # The ID of the leaderboard.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(leaderboardId, body)</code>
+  <pre>Update the metadata of the leaderboard configuration with the given ID.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an leaderboard configuration resource.
+    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+    "scoreOrder": "A String", # The type of the leaderboard.
+        # Possible values are:
+        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+    "token": "A String", # The token for this resource.
+    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+        "numberFormatType": "A String", # The formatting for the number.
+            # Possible values are:
+            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+            # - "CURRENCY" - Numbers are formatted to currency according to locale.
+        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+            "translations": [ # The locale strings.
+              { # This is a JSON template for a localized string resource.
+                "locale": "A String", # The locale string.
+                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                "value": "A String", # The string value.
+              },
+            ],
+          },
+        },
+      },
+      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+        "translations": [ # The locale strings.
+          { # This is a JSON template for a localized string resource.
+            "locale": "A String", # The locale string.
+            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+            "value": "A String", # The string value.
+          },
+        ],
+      },
+      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+    },
+    "id": "A String", # The ID of the leaderboard.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an leaderboard configuration resource.
+      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
+      "scoreOrder": "A String", # The type of the leaderboard.
+          # Possible values are:
+          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
+      "token": "A String", # The token for this resource.
+      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
+      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
+        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
+          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
+          "numberFormatType": "A String", # The formatting for the number.
+              # Possible values are:
+              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
+              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+              # - "CURRENCY" - Numbers are formatted to currency according to locale.
+          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
+          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
+            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
+              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+              "translations": [ # The locale strings.
+                { # This is a JSON template for a localized string resource.
+                  "locale": "A String", # The locale string.
+                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+                  "value": "A String", # The string value.
+                },
+              ],
+            },
+          },
+        },
+        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
+        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
+        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
+          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
+          "translations": [ # The locale strings.
+            { # This is a JSON template for a localized string resource.
+              "locale": "A String", # The locale string.
+              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
+              "value": "A String", # The string value.
+            },
+          ],
+        },
+        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
+      },
+      "id": "A String", # The ID of the leaderboard.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.achievements.html b/docs/dyn/gamesManagement_v1management.achievements.html
index c55ff1c..9894183 100644
--- a/docs/dyn/gamesManagement_v1management.achievements.html
+++ b/docs/dyn/gamesManagement_v1management.achievements.html
@@ -88,7 +88,7 @@
 <p class="firstline">Resets the achievement with the given ID for all players. This method is only available to user accounts for your developer console. Only draft achievements can be reset.</p>
 <p class="toc_element">
   <code><a href="#resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</a></code></p>
-<p class="firstline">Resets the achievement with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.</p>
+<p class="firstline">Resets achievements with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset(achievementId)</code>
@@ -157,7 +157,7 @@
 
 <div class="method">
     <code class="details" id="resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</code>
-  <pre>Resets the achievement with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.
+  <pre>Resets achievements with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft achievements may be reset.
 
 Args:
   body: object, The request body. (required)
diff --git a/docs/dyn/gamesManagement_v1management.applications.html b/docs/dyn/gamesManagement_v1management.applications.html
index 0145489..c0f79d5 100644
--- a/docs/dyn/gamesManagement_v1management.applications.html
+++ b/docs/dyn/gamesManagement_v1management.applications.html
@@ -86,7 +86,7 @@
   <pre>Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.
 
 Args:
-  applicationId: string, The application being requested. (required)
+  applicationId: string, The application ID from the Google Play developer console. (required)
   pageToken: string, The token returned by the previous request.
   maxResults: integer, The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults.
 
diff --git a/docs/dyn/gamesManagement_v1management.events.html b/docs/dyn/gamesManagement_v1management.events.html
index cdcd478..13ed9a2 100644
--- a/docs/dyn/gamesManagement_v1management.events.html
+++ b/docs/dyn/gamesManagement_v1management.events.html
@@ -76,17 +76,23 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#reset">reset(eventId)</a></code></p>
-<p class="firstline">Reset all player progress on the event for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All resources that use the event will also be reset.</p>
+<p class="firstline">Resets all player progress on the event with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All quests for this player that use the event will also be reset.</p>
 <p class="toc_element">
   <code><a href="#resetAll">resetAll()</a></code></p>
-<p class="firstline">Reset all player progress on all unpublished events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All resources that use the events will also be reset.</p>
+<p class="firstline">Resets all player progress on all events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All quests for this player will also be reset.</p>
+<p class="toc_element">
+  <code><a href="#resetAllForAllPlayers">resetAllForAllPlayers()</a></code></p>
+<p class="firstline">Resets all draft events for all players. This method is only available to user accounts for your developer console. All quests that use any of these events will also be reset.</p>
 <p class="toc_element">
   <code><a href="#resetForAllPlayers">resetForAllPlayers(eventId)</a></code></p>
-<p class="firstline">Reset all player progress on the event for all players. This method is only available to user accounts for your developer console. Only draft events can be reset. All resources that use the event will also be reset.</p>
+<p class="firstline">Resets the event with the given ID for all players. This method is only available to user accounts for your developer console. Only draft events can be reset. All quests that use the event will also be reset.</p>
+<p class="toc_element">
+  <code><a href="#resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</a></code></p>
+<p class="firstline">Resets events with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft events may be reset. All quests that use any of the events will also be reset.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset(eventId)</code>
-  <pre>Reset all player progress on the event for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All resources that use the event will also be reset.
+  <pre>Resets all player progress on the event with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All quests for this player that use the event will also be reset.
 
 Args:
   eventId: string, The ID of the event. (required)
@@ -95,7 +101,15 @@
 
 <div class="method">
     <code class="details" id="resetAll">resetAll()</code>
-  <pre>Reset all player progress on all unpublished events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All resources that use the events will also be reset.
+  <pre>Resets all player progress on all events for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application. All quests for this player will also be reset.
+
+Args:
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetAllForAllPlayers">resetAllForAllPlayers()</code>
+  <pre>Resets all draft events for all players. This method is only available to user accounts for your developer console. All quests that use any of these events will also be reset.
 
 Args:
 </pre>
@@ -103,11 +117,29 @@
 
 <div class="method">
     <code class="details" id="resetForAllPlayers">resetForAllPlayers(eventId)</code>
-  <pre>Reset all player progress on the event for all players. This method is only available to user accounts for your developer console. Only draft events can be reset. All resources that use the event will also be reset.
+  <pre>Resets the event with the given ID for all players. This method is only available to user accounts for your developer console. Only draft events can be reset. All quests that use the event will also be reset.
 
 Args:
   eventId: string, The ID of the event. (required)
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</code>
+  <pre>Resets events with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft events may be reset. All quests that use any of the events will also be reset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for multiple events reset all request.
+    "event_ids": [ # The IDs of events to reset.
+      "A String",
+    ],
+    "kind": "gamesManagement#eventsResetMultipleForAllRequest", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#eventsResetMultipleForAllRequest.
+  }
+
+</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.players.html b/docs/dyn/gamesManagement_v1management.players.html
index 01976b6..ec82375 100644
--- a/docs/dyn/gamesManagement_v1management.players.html
+++ b/docs/dyn/gamesManagement_v1management.players.html
@@ -86,7 +86,7 @@
   <pre>Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
 
 Args:
-  applicationId: string, The application being requested. (required)
+  applicationId: string, The application ID from the Google Play developer console. (required)
   playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
 </pre>
 </div>
@@ -96,7 +96,7 @@
   <pre>Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
 
 Args:
-  applicationId: string, The application being requested. (required)
+  applicationId: string, The application ID from the Google Play developer console. (required)
   playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
 </pre>
 </div>
diff --git a/docs/dyn/gamesManagement_v1management.quests.html b/docs/dyn/gamesManagement_v1management.quests.html
index 0af9b0d..9aeda04 100644
--- a/docs/dyn/gamesManagement_v1management.quests.html
+++ b/docs/dyn/gamesManagement_v1management.quests.html
@@ -76,15 +76,70 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#reset">reset(questId)</a></code></p>
-<p class="firstline">Reset all player progress on the quest for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="firstline">Resets all player progress on the quest with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetAll">resetAll()</a></code></p>
+<p class="firstline">Resets all player progress on all quests for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetAllForAllPlayers">resetAllForAllPlayers()</a></code></p>
+<p class="firstline">Resets all draft quests for all players. This method is only available to user accounts for your developer console.</p>
+<p class="toc_element">
+  <code><a href="#resetForAllPlayers">resetForAllPlayers(questId)</a></code></p>
+<p class="firstline">Resets all player progress on the quest with the given ID for all players. This method is only available to user accounts for your developer console. Only draft quests can be reset.</p>
+<p class="toc_element">
+  <code><a href="#resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</a></code></p>
+<p class="firstline">Resets quests with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft quests may be reset.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset(questId)</code>
-  <pre>Reset all player progress on the quest for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.
+  <pre>Resets all player progress on the quest with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.
 
 Args:
   questId: string, The ID of the quest. (required)
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="resetAll">resetAll()</code>
+  <pre>Resets all player progress on all quests for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetAllForAllPlayers">resetAllForAllPlayers()</code>
+  <pre>Resets all draft quests for all players. This method is only available to user accounts for your developer console.
+
+Args:
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetForAllPlayers">resetForAllPlayers(questId)</code>
+  <pre>Resets all player progress on the quest with the given ID for all players. This method is only available to user accounts for your developer console. Only draft quests can be reset.
+
+Args:
+  questId: string, The ID of the quest. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</code>
+  <pre>Resets quests with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft quests may be reset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for multiple quests reset all request.
+    "quest_ids": [ # The IDs of quests to reset.
+      "A String",
+    ],
+    "kind": "gamesManagement#questsResetMultipleForAllRequest", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#questsResetMultipleForAllRequest.
+  }
+
+</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.rooms.html b/docs/dyn/gamesManagement_v1management.rooms.html
index 1670f3f..ad6f16e 100644
--- a/docs/dyn/gamesManagement_v1management.rooms.html
+++ b/docs/dyn/gamesManagement_v1management.rooms.html
@@ -77,6 +77,9 @@
 <p class="toc_element">
   <code><a href="#reset">reset()</a></code></p>
 <p class="firstline">Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetForAllPlayers">resetForAllPlayers()</a></code></p>
+<p class="firstline">Deletes rooms where the only room participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset()</code>
@@ -86,4 +89,12 @@
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="resetForAllPlayers">resetForAllPlayers()</code>
+  <pre>Deletes rooms where the only room participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.
+
+Args:
+</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.scores.html b/docs/dyn/gamesManagement_v1management.scores.html
index 9ad957f..ef40c78 100644
--- a/docs/dyn/gamesManagement_v1management.scores.html
+++ b/docs/dyn/gamesManagement_v1management.scores.html
@@ -76,14 +76,23 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#reset">reset(leaderboardId)</a></code></p>
-<p class="firstline">Reset scores for the specified leaderboard for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="firstline">Resets scores for the leaderboard with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetAll">resetAll()</a></code></p>
+<p class="firstline">Resets all scores for all leaderboards for the currently authenticated players. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetAllForAllPlayers">resetAllForAllPlayers()</a></code></p>
+<p class="firstline">Resets scores for all draft leaderboards for all players. This method is only available to user accounts for your developer console.</p>
 <p class="toc_element">
   <code><a href="#resetForAllPlayers">resetForAllPlayers(leaderboardId)</a></code></p>
-<p class="firstline">Reset scores for the specified leaderboard for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.</p>
+<p class="firstline">Resets scores for the leaderboard with the given ID for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.</p>
+<p class="toc_element">
+  <code><a href="#resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</a></code></p>
+<p class="firstline">Resets scores for the leaderboards with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft leaderboards may be reset.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset(leaderboardId)</code>
-  <pre>Reset scores for the specified leaderboard for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.
+  <pre>Resets scores for the leaderboard with the given ID for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.
 
 Args:
   leaderboardId: string, The ID of the leaderboard. (required)
@@ -92,6 +101,7 @@
   An object of the form:
 
     { # This is a JSON template for a list of reset leaderboard entry resources.
+    "definitionId": "A String", # The ID of an leaderboard for which player state has been updated.
     "kind": "gamesManagement#playerScoreResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.
     "resetScoreTimeSpans": [ # The time spans of the updated score.
         # Possible values are:
@@ -104,12 +114,65 @@
 </div>
 
 <div class="method">
+    <code class="details" id="resetAll">resetAll()</code>
+  <pre>Resets all scores for all leaderboards for the currently authenticated players. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of leaderboard reset resources.
+    "kind": "gamesManagement#playerScoreResetAllResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.
+    "results": [ # The leaderboard reset results.
+      { # This is a JSON template for a list of reset leaderboard entry resources.
+        "definitionId": "A String", # The ID of an leaderboard for which player state has been updated.
+        "kind": "gamesManagement#playerScoreResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.
+        "resetScoreTimeSpans": [ # The time spans of the updated score.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time score.
+            # - "WEEKLY" - The score is a weekly score.
+            # - "DAILY" - The score is a daily score.
+          "A String",
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetAllForAllPlayers">resetAllForAllPlayers()</code>
+  <pre>Resets scores for all draft leaderboards for all players. This method is only available to user accounts for your developer console.
+
+Args:
+</pre>
+</div>
+
+<div class="method">
     <code class="details" id="resetForAllPlayers">resetForAllPlayers(leaderboardId)</code>
-  <pre>Reset scores for the specified leaderboard for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.
+  <pre>Resets scores for the leaderboard with the given ID for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.
 
 Args:
   leaderboardId: string, The ID of the leaderboard. (required)
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="resetMultipleForAllPlayers">resetMultipleForAllPlayers(body)</code>
+  <pre>Resets scores for the leaderboards with the given IDs for all players. This method is only available to user accounts for your developer console. Only draft leaderboards may be reset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for multiple scores reset all request.
+    "leaderboard_ids": [ # The IDs of leaderboards to reset.
+      "A String",
+    ],
+    "kind": "gamesManagement#scoresResetMultipleForAllRequest", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#scoresResetMultipleForAllRequest.
+  }
+
+</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.turnBasedMatches.html b/docs/dyn/gamesManagement_v1management.turnBasedMatches.html
index e2d1ddb..8ae6074 100644
--- a/docs/dyn/gamesManagement_v1management.turnBasedMatches.html
+++ b/docs/dyn/gamesManagement_v1management.turnBasedMatches.html
@@ -77,6 +77,9 @@
 <p class="toc_element">
   <code><a href="#reset">reset()</a></code></p>
 <p class="firstline">Reset all turn-based match data for a user. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetForAllPlayers">resetForAllPlayers()</a></code></p>
+<p class="firstline">Deletes turn-based matches where the only match participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="reset">reset()</code>
@@ -86,4 +89,12 @@
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="resetForAllPlayers">resetForAllPlayers()</code>
+  <pre>Deletes turn-based matches where the only match participants are from whitelisted tester accounts for your application. This method is only available to user accounts for your developer console.
+
+Args:
+</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.applications.html b/docs/dyn/games_v1.applications.html
index 768203c..d311595 100644
--- a/docs/dyn/games_v1.applications.html
+++ b/docs/dyn/games_v1.applications.html
@@ -86,7 +86,7 @@
   <pre>Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.
 
 Args:
-  applicationId: string, The application being requested. (required)
+  applicationId: string, The application ID from the Google Play developer console. (required)
   language: string, The preferred language to use for strings returned by this method.
   platformType: string, Restrict application details returned to the specific platform.
     Allowed values
diff --git a/docs/dyn/games_v1.snapshots.html b/docs/dyn/games_v1.snapshots.html
index ab054bd..0d4a346 100644
--- a/docs/dyn/games_v1.snapshots.html
+++ b/docs/dyn/games_v1.snapshots.html
@@ -107,6 +107,7 @@
       "height": 42, # The height of the image.
     },
     "lastModifiedMillis": "A String", # The timestamp (in millis since Unix epoch) of the last modification to this snapshot.
+    "progressValue": "A String", # The progress value (64-bit integer set by developer) associated with this snapshot.
     "driveId": "A String", # The ID of the file underlying this snapshot in the Drive API. Only present if the snapshot is a view on a Drive file and the file is owned by the caller.
     "durationMillis": "A String", # The duration associated with this snapshot, in millis.
     "uniqueName": "A String", # The unique name provided when the snapshot was created.
@@ -145,6 +146,7 @@
           "height": 42, # The height of the image.
         },
         "lastModifiedMillis": "A String", # The timestamp (in millis since Unix epoch) of the last modification to this snapshot.
+        "progressValue": "A String", # The progress value (64-bit integer set by developer) associated with this snapshot.
         "driveId": "A String", # The ID of the file underlying this snapshot in the Drive API. Only present if the snapshot is a view on a Drive file and the file is owned by the caller.
         "durationMillis": "A String", # The duration associated with this snapshot, in millis.
         "uniqueName": "A String", # The unique name provided when the snapshot was created.
diff --git a/docs/dyn/genomics_v1beta2.annotationSets.html b/docs/dyn/genomics_v1beta2.annotationSets.html
new file mode 100644
index 0000000..2667900
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.annotationSets.html
@@ -0,0 +1,300 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.annotationSets.html">annotationSets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new annotation set. Caller must have WRITE permission for the associated dataset.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(annotationSetId)</a></code></p>
+<p class="firstline">Deletes an annotation set. Caller must have WRITE permission for the associated annotation set.</p>
+<p class="toc_element">
+  <code><a href="#get">get(annotationSetId)</a></code></p>
+<p class="firstline">Gets an annotation set. Caller must have READ permission for the associated dataset.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(annotationSetId, body)</a></code></p>
+<p class="firstline">Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Searches for annotation sets which match the given criteria. Results are returned in a deterministic order. Caller must have READ permission for the queried datasets.</p>
+<p class="toc_element">
+  <code><a href="#update">update(annotationSetId, body)</a></code></p>
+<p class="firstline">Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new annotation set. Caller must have WRITE permission for the associated dataset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+  "info": { # A map of additional data for this annotation set.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name for this annotation set.
+  "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+  "type": "A String", # The type of annotations contained within this set.
+  "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+  "id": "A String", # The generated unique ID for this annotation set.
+  "datasetId": "A String", # The ID of the containing dataset.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+    "info": { # A map of additional data for this annotation set.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "type": "A String", # The type of annotations contained within this set.
+    "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+    "id": "A String", # The generated unique ID for this annotation set.
+    "datasetId": "A String", # The ID of the containing dataset.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(annotationSetId)</code>
+  <pre>Deletes an annotation set. Caller must have WRITE permission for the associated annotation set.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(annotationSetId)</code>
+  <pre>Gets an annotation set. Caller must have READ permission for the associated dataset.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be retrieved. (required)
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+    "info": { # A map of additional data for this annotation set.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "type": "A String", # The type of annotations contained within this set.
+    "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+    "id": "A String", # The generated unique ID for this annotation set.
+    "datasetId": "A String", # The ID of the containing dataset.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(annotationSetId, body)</code>
+  <pre>Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+  "info": { # A map of additional data for this annotation set.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name for this annotation set.
+  "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+  "type": "A String", # The type of annotations contained within this set.
+  "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+  "id": "A String", # The generated unique ID for this annotation set.
+  "datasetId": "A String", # The ID of the containing dataset.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+    "info": { # A map of additional data for this annotation set.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "type": "A String", # The type of annotations contained within this set.
+    "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+    "id": "A String", # The generated unique ID for this annotation set.
+    "datasetId": "A String", # The ID of the containing dataset.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Searches for annotation sets which match the given criteria. Results are returned in a deterministic order. Caller must have READ permission for the queried datasets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "name": "A String", # Only return annotations sets for which a substring of the name matches this string (case insensitive).
+    "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 128. The maximum value is 1024.
+    "datasetIds": [ # The dataset IDs to search within. Caller must have READ access to these datasets.
+      "A String",
+    ],
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "referenceSetId": "A String", # If specified, only annotation sets associated with the given reference set are returned.
+    "types": [ # If specified, only annotation sets which have any of these types are returned.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "annotationSets": [ # The matching annotation sets.
+      { # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+        "info": { # A map of additional data for this annotation set.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "name": "A String", # The display name for this annotation set.
+        "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+        "type": "A String", # The type of annotations contained within this set.
+        "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+        "id": "A String", # The generated unique ID for this annotation set.
+        "datasetId": "A String", # The ID of the containing dataset.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(annotationSetId, body)</code>
+  <pre>Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+  "info": { # A map of additional data for this annotation set.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name for this annotation set.
+  "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+  "type": "A String", # The type of annotations contained within this set.
+  "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+  "id": "A String", # The generated unique ID for this annotation set.
+  "datasetId": "A String", # The ID of the containing dataset.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations which share consistent type information and provenance. An example would be 'all genes from refseq', or 'all variant annotations from ClinVar'.
+    "info": { # A map of additional data for this annotation set.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "type": "A String", # The type of annotations contained within this set.
+    "referenceSetId": "A String", # The ID of the reference set which defines the coordinate-space for this set's annotations.
+    "id": "A String", # The generated unique ID for this annotation set.
+    "datasetId": "A String", # The ID of the containing dataset.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.annotations.html b/docs/dyn/genomics_v1beta2.annotations.html
new file mode 100644
index 0000000..4926994
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.annotations.html
@@ -0,0 +1,952 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.annotations.html">annotations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchCreate">batchCreate(body)</a></code></p>
+<p class="firstline">Creates one or more new annotations atomically. All annotations must belong to the same annotation set. Caller must have WRITE permission for this annotation set. For optimal performance, batch positionally adjacent annotations together.</p>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new annotation. Caller must have WRITE permission for the associated annotation set.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(annotationId)</a></code></p>
+<p class="firstline">Deletes an annotation. Caller must have WRITE permission for the associated annotation set.</p>
+<p class="toc_element">
+  <code><a href="#get">get(annotationId)</a></code></p>
+<p class="firstline">Gets an annotation. Caller must have READ permission for the associated annotation set.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(annotationId, body)</a></code></p>
+<p class="firstline">Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Searches for annotations which match the given criteria. Results are returned ordered by start position. Annotations which have matching start positions are ordered deterministically. Caller must have READ permission for the queried annotation sets.</p>
+<p class="toc_element">
+  <code><a href="#update">update(annotationId, body)</a></code></p>
+<p class="firstline">Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchCreate">batchCreate(body)</code>
+  <pre>Creates one or more new annotations atomically. All annotations must belong to the same annotation set. Caller must have WRITE permission for this annotation set. For optimal performance, batch positionally adjacent annotations together.
+
+
+If the request has a systemic issue, such as an attempt to write to an inaccessible annotation set, the entire RPC will fail accordingly. For lesser data issues, when possible an error will be isolated to the corresponding batch entry in the response; the remaining well formed annotations will be created normally.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "annotations": [ # The annotations to be created. At most 4096 can be specified in a single request.
+      { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+        "info": { # A map of additional data for this annotation.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "name": "A String", # The display name of this annotation.
+        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+        "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+          "effect": "A String", # Effect of the variant on the coding sequence.
+          "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+            "A String",
+          ],
+          "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+          "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+            {
+              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+              "externalIds": [ # The set of external ids for this condition.
+                {
+                  "sourceName": "A String", # The name of the source of this data.
+                  "id": "A String", # The id used by the source of this data.
+                },
+              ],
+              "names": [ # A set of names for the condition.
+                "A String",
+              ],
+            },
+          ],
+          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+        },
+        "annotationSetId": "A String", # The ID of the containing annotation set.
+        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+          "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+        },
+        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+          "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+              #
+              # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+            "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+            "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+          },
+          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+          "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+              #
+              #
+              # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+              #
+              #
+              # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+              #
+              #
+              # Exons are ordered by start position and may not overlap.
+            {
+              "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+              "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+                  #
+                  # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+                "value": 42, # The int32 value.
+              },
+              "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+            },
+          ],
+        },
+        "id": "A String", # The generated unique ID for this annotation.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "entries": [ # The resulting per-annotation entries, ordered consistently with the original request.
+      {
+        "status": { # The resulting status for this annotation operation.
+          "message": "A String", # Error message for this status, if any.
+          "code": 42, # The HTTP status code for this operation.
+        },
+        "annotation": { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'. # The annotation, if any.
+          "info": { # A map of additional data for this annotation.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "name": "A String", # The display name of this annotation.
+          "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+          "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+            "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+            "effect": "A String", # Effect of the variant on the coding sequence.
+            "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+              "A String",
+            ],
+            "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+            "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+            "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+              {
+                "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+                "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+                "externalIds": [ # The set of external ids for this condition.
+                  {
+                    "sourceName": "A String", # The name of the source of this data.
+                    "id": "A String", # The id used by the source of this data.
+                  },
+                ],
+                "names": [ # A set of names for the condition.
+                  "A String",
+                ],
+              },
+            ],
+            "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+          },
+          "annotationSetId": "A String", # The ID of the containing annotation set.
+          "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+            "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+            "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+            "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+            "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+            "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+          },
+          "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+            "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+                #
+                # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+              "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+              "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+            },
+            "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+            "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+                #
+                #
+                # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+                #
+                #
+                # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+                #
+                #
+                # Exons are ordered by start position and may not overlap.
+              {
+                "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+                "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+                    #
+                    # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+                  "value": 42, # The int32 value.
+                },
+                "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+              },
+            ],
+          },
+          "id": "A String", # The generated unique ID for this annotation.
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new annotation. Caller must have WRITE permission for the associated annotation set.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+  "info": { # A map of additional data for this annotation.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name of this annotation.
+  "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+  "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+    "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+    "effect": "A String", # Effect of the variant on the coding sequence.
+    "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+      "A String",
+    ],
+    "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+    "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+    "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+      {
+        "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+        "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+        "externalIds": [ # The set of external ids for this condition.
+          {
+            "sourceName": "A String", # The name of the source of this data.
+            "id": "A String", # The id used by the source of this data.
+          },
+        ],
+        "names": [ # A set of names for the condition.
+          "A String",
+        ],
+      },
+    ],
+    "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+  },
+  "annotationSetId": "A String", # The ID of the containing annotation set.
+  "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+  },
+  "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+    "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+        #
+        # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+      "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+    },
+    "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+        #
+        #
+        # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+        #
+        #
+        # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+        #
+        #
+        # Exons are ordered by start position and may not overlap.
+      {
+        "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+            #
+            # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "value": 42, # The int32 value.
+        },
+        "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+      },
+    ],
+  },
+  "id": "A String", # The generated unique ID for this annotation.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+    "info": { # A map of additional data for this annotation.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name of this annotation.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "externalIds": [ # The set of external ids for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "annotationSetId": "A String", # The ID of the containing annotation set.
+    "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+      "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+      "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+      "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+      "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+      "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+    },
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+          #
+          # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      },
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+      "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+          #
+          #
+          # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+          #
+          #
+          # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+          #
+          #
+          # Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+          "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+              #
+              # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+            "value": 42, # The int32 value.
+          },
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        },
+      ],
+    },
+    "id": "A String", # The generated unique ID for this annotation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(annotationId)</code>
+  <pre>Deletes an annotation. Caller must have WRITE permission for the associated annotation set.
+
+Args:
+  annotationId: string, The ID of the annotation set to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(annotationId)</code>
+  <pre>Gets an annotation. Caller must have READ permission for the associated annotation set.
+
+Args:
+  annotationId: string, The ID of the annotation set to be retrieved. (required)
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+    "info": { # A map of additional data for this annotation.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name of this annotation.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "externalIds": [ # The set of external ids for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "annotationSetId": "A String", # The ID of the containing annotation set.
+    "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+      "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+      "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+      "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+      "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+      "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+    },
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+          #
+          # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      },
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+      "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+          #
+          #
+          # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+          #
+          #
+          # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+          #
+          #
+          # Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+          "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+              #
+              # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+            "value": 42, # The int32 value.
+          },
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        },
+      ],
+    },
+    "id": "A String", # The generated unique ID for this annotation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(annotationId, body)</code>
+  <pre>Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset. This method supports patch semantics.
+
+Args:
+  annotationId: string, The ID of the annotation set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+  "info": { # A map of additional data for this annotation.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name of this annotation.
+  "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+  "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+    "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+    "effect": "A String", # Effect of the variant on the coding sequence.
+    "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+      "A String",
+    ],
+    "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+    "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+    "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+      {
+        "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+        "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+        "externalIds": [ # The set of external ids for this condition.
+          {
+            "sourceName": "A String", # The name of the source of this data.
+            "id": "A String", # The id used by the source of this data.
+          },
+        ],
+        "names": [ # A set of names for the condition.
+          "A String",
+        ],
+      },
+    ],
+    "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+  },
+  "annotationSetId": "A String", # The ID of the containing annotation set.
+  "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+  },
+  "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+    "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+        #
+        # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+      "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+    },
+    "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+        #
+        #
+        # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+        #
+        #
+        # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+        #
+        #
+        # Exons are ordered by start position and may not overlap.
+      {
+        "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+            #
+            # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "value": 42, # The int32 value.
+        },
+        "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+      },
+    ],
+  },
+  "id": "A String", # The generated unique ID for this annotation.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+    "info": { # A map of additional data for this annotation.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name of this annotation.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "externalIds": [ # The set of external ids for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "annotationSetId": "A String", # The ID of the containing annotation set.
+    "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+      "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+      "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+      "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+      "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+      "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+    },
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+          #
+          # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      },
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+      "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+          #
+          #
+          # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+          #
+          #
+          # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+          #
+          #
+          # Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+          "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+              #
+              # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+            "value": 42, # The int32 value.
+          },
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        },
+      ],
+    },
+    "id": "A String", # The generated unique ID for this annotation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Searches for annotations which match the given criteria. Results are returned ordered by start position. Annotations which have matching start positions are ordered deterministically. Caller must have READ permission for the queried annotation sets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "range": { # A 0-based half-open genomic coordinate range for search requests. # If specified, this query matches only annotations which overlap this range.
+      "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceId or referenceName must also be specified. Defaults to 0.
+      "referenceId": "A String", # The ID of the reference to query. At most one of referenceId and referenceName should be specified.
+      "end": "A String", # The end position of the range on the reference, 0-based exclusive. If specified, referenceId or referenceName must also be specified. If unset or 0, defaults to the length of the reference.
+      "referenceName": "A String", # The name of the reference to query, within the reference set associated with this query. At most one of referenceId and referenceName pshould be specified.
+    },
+    "annotationSetIds": [ # The annotation sets to search within. The caller must have READ access to these annotation sets. Required. All queried annotation sets must have the same type.
+      "A String",
+    ],
+    "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 2048.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "annotations": [ # The matching annotations.
+      { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+        "info": { # A map of additional data for this annotation.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "name": "A String", # The display name of this annotation.
+        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+        "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+          "effect": "A String", # Effect of the variant on the coding sequence.
+          "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+            "A String",
+          ],
+          "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+          "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+            {
+              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+              "externalIds": [ # The set of external ids for this condition.
+                {
+                  "sourceName": "A String", # The name of the source of this data.
+                  "id": "A String", # The id used by the source of this data.
+                },
+              ],
+              "names": [ # A set of names for the condition.
+                "A String",
+              ],
+            },
+          ],
+          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+        },
+        "annotationSetId": "A String", # The ID of the containing annotation set.
+        "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+          "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+          "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+        },
+        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+          "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+              #
+              # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+            "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+            "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+          },
+          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+          "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+              #
+              #
+              # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+              #
+              #
+              # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+              #
+              #
+              # Exons are ordered by start position and may not overlap.
+            {
+              "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+              "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+                  #
+                  # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+                "value": 42, # The int32 value.
+              },
+              "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+            },
+          ],
+        },
+        "id": "A String", # The generated unique ID for this annotation.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(annotationId, body)</code>
+  <pre>Updates an annotation. The update must respect all mutability restrictions and other invariants described on the annotation resource. Caller must have WRITE permission for the associated dataset.
+
+Args:
+  annotationId: string, The ID of the annotation set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+  "info": { # A map of additional data for this annotation.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The display name of this annotation.
+  "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+  "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+    "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+    "effect": "A String", # Effect of the variant on the coding sequence.
+    "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+      "A String",
+    ],
+    "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+    "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+    "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+      {
+        "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+        "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+        "externalIds": [ # The set of external ids for this condition.
+          {
+            "sourceName": "A String", # The name of the source of this data.
+            "id": "A String", # The id used by the source of this data.
+          },
+        ],
+        "names": [ # A set of names for the condition.
+          "A String",
+        ],
+      },
+    ],
+    "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+  },
+  "annotationSetId": "A String", # The ID of the containing annotation set.
+  "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+  },
+  "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+    "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+        #
+        # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+      "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+    },
+    "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+        #
+        #
+        # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+        #
+        #
+        # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+        #
+        #
+        # Exons are ordered by start position and may not overlap.
+      {
+        "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+            #
+            # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "value": 42, # The int32 value.
+        },
+        "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+      },
+    ],
+  },
+  "id": "A String", # The generated unique ID for this annotation.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. A variant annotation is represented by one or more of these canonical types. An annotation is not inherently associated with a specific sample/individual (though a client could choose to use annotations in this way). Example canonical annotation types are 'Gene' and 'Variant'.
+    "info": { # A map of additional data for this annotation.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The display name of this annotation.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "variant": { # A Variant annotation. # A variant annotation which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type VARIANT.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation ID of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "externalIds": [ # The set of external ids for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "annotationSetId": "A String", # The ID of the containing annotation set.
+    "position": { # A 0-based half-open genomic coordinate range over a reference sequence, for representing the position of a genomic resource. # The position of this annotation on the reference sequence.
+      "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+      "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+      "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+      "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+      "referenceName": "A String", # The display name corresponding to the reference specified by referenceId, for example chr1, 1, or chrX.
+    },
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternate splicing pattern would be represented as separate transcript object. This field is only set for annotations of type TRANSCRIPT.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them.
+          #
+          # Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and not the containing annotation start.
+      },
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+      "exons": [ # The exons which compose this transcript. Exons are the pieces of the transcript which are spliced together, may be exported from a cell's nucleus, and may then be translated to protein. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes.
+          #
+          #
+          # Introns are regions of the transcript which are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript which are not exons are introns.
+          #
+          #
+          # Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence.
+          #
+          #
+          # Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and not the containing annotation start.
+          "frame": { # Wrapper message for int32. # The frame of this exon. Contains a value of 0, 1, or 2 which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.position.reverseStrand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end-1.
+              #
+              # Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+            "value": 42, # The int32 value.
+          },
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and not the containing annotation start.
+        },
+      ],
+    },
+    "id": "A String", # The generated unique ID for this annotation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.callsets.html b/docs/dyn/genomics_v1beta2.callsets.html
new file mode 100644
index 0000000..0cdcefc
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.callsets.html
@@ -0,0 +1,306 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.callsets.html">callsets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new call set.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(callSetId)</a></code></p>
+<p class="firstline">Deletes a call set.</p>
+<p class="toc_element">
+  <code><a href="#get">get(callSetId)</a></code></p>
+<p class="firstline">Gets a call set by ID.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(callSetId, body)</a></code></p>
+<p class="firstline">Updates a call set. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Gets a list of call sets matching the criteria.</p>
+<p class="toc_element">
+  <code><a href="#update">update(callSetId, body)</a></code></p>
+<p class="firstline">Updates a call set.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new call set.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+  "info": { # A map of additional call set information.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The call set name.
+  "created": "A String", # The date this call set was created in milliseconds from the epoch.
+  "sampleId": "A String", # The sample ID this call set corresponds to.
+  "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+    "A String",
+  ],
+  "id": "A String", # The Google generated ID of the call set, immutable.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+    "info": { # A map of additional call set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The call set name.
+    "created": "A String", # The date this call set was created in milliseconds from the epoch.
+    "sampleId": "A String", # The sample ID this call set corresponds to.
+    "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+      "A String",
+    ],
+    "id": "A String", # The Google generated ID of the call set, immutable.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(callSetId)</code>
+  <pre>Deletes a call set.
+
+Args:
+  callSetId: string, The ID of the call set to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(callSetId)</code>
+  <pre>Gets a call set by ID.
+
+Args:
+  callSetId: string, The ID of the call set. (required)
+
+Returns:
+  An object of the form:
+
+    { # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+    "info": { # A map of additional call set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The call set name.
+    "created": "A String", # The date this call set was created in milliseconds from the epoch.
+    "sampleId": "A String", # The sample ID this call set corresponds to.
+    "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+      "A String",
+    ],
+    "id": "A String", # The Google generated ID of the call set, immutable.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(callSetId, body)</code>
+  <pre>Updates a call set. This method supports patch semantics.
+
+Args:
+  callSetId: string, The ID of the call set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+  "info": { # A map of additional call set information.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The call set name.
+  "created": "A String", # The date this call set was created in milliseconds from the epoch.
+  "sampleId": "A String", # The sample ID this call set corresponds to.
+  "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+    "A String",
+  ],
+  "id": "A String", # The Google generated ID of the call set, immutable.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+    "info": { # A map of additional call set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The call set name.
+    "created": "A String", # The date this call set was created in milliseconds from the epoch.
+    "sampleId": "A String", # The sample ID this call set corresponds to.
+    "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+      "A String",
+    ],
+    "id": "A String", # The Google generated ID of the call set, immutable.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Gets a list of call sets matching the criteria.
+
+Implements GlobalAllianceApi.searchCallSets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The call set search request.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "variantSetIds": [ # Restrict the query to call sets within the given variant sets. At least one ID must be provided.
+      "A String",
+    ],
+    "name": "A String", # Only return call sets for which a substring of the name matches this string.
+    "pageSize": 42, # The maximum number of call sets to return.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The call set search response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "callSets": [ # The list of matching call sets.
+      { # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+        "info": { # A map of additional call set information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "name": "A String", # The call set name.
+        "created": "A String", # The date this call set was created in milliseconds from the epoch.
+        "sampleId": "A String", # The sample ID this call set corresponds to.
+        "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+          "A String",
+        ],
+        "id": "A String", # The Google generated ID of the call set, immutable.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(callSetId, body)</code>
+  <pre>Updates a call set.
+
+Args:
+  callSetId: string, The ID of the call set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+  "info": { # A map of additional call set information.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The call set name.
+  "created": "A String", # The date this call set was created in milliseconds from the epoch.
+  "sampleId": "A String", # The sample ID this call set corresponds to.
+  "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+    "A String",
+  ],
+  "id": "A String", # The Google generated ID of the call set, immutable.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A call set is a collection of variant calls, typically for one sample. It belongs to a variant set.
+    "info": { # A map of additional call set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The call set name.
+    "created": "A String", # The date this call set was created in milliseconds from the epoch.
+    "sampleId": "A String", # The sample ID this call set corresponds to.
+    "variantSetIds": [ # The IDs of the variant sets this call set belongs to.
+      "A String",
+    ],
+    "id": "A String", # The Google generated ID of the call set, immutable.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.datasets.html b/docs/dyn/genomics_v1beta2.datasets.html
new file mode 100644
index 0000000..7cfe7e4
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.datasets.html
@@ -0,0 +1,269 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.datasets.html">datasets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new dataset.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(datasetId)</a></code></p>
+<p class="firstline">Deletes a dataset.</p>
+<p class="toc_element">
+  <code><a href="#get">get(datasetId)</a></code></p>
+<p class="firstline">Gets a dataset by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, projectNumber=None, pageSize=None)</a></code></p>
+<p class="firstline">Lists all datasets.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(datasetId, body)</a></code></p>
+<p class="firstline">Updates a dataset. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#undelete">undelete(datasetId)</a></code></p>
+<p class="firstline">Undeletes a dataset by restoring a dataset which was deleted via this API. This operation is only possible for a week after the deletion occurred.</p>
+<p class="toc_element">
+  <code><a href="#update">update(datasetId, body)</a></code></p>
+<p class="firstline">Updates a dataset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new dataset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Dataset is a collection of genomic data.
+  "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+  "id": "A String", # The Google generated ID of the dataset, immutable.
+  "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+  "name": "A String", # The dataset name.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A Dataset is a collection of genomic data.
+    "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+    "id": "A String", # The Google generated ID of the dataset, immutable.
+    "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+    "name": "A String", # The dataset name.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(datasetId)</code>
+  <pre>Deletes a dataset.
+
+Args:
+  datasetId: string, The ID of the dataset to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(datasetId)</code>
+  <pre>Gets a dataset by ID.
+
+Args:
+  datasetId: string, The ID of the dataset. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Dataset is a collection of genomic data.
+    "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+    "id": "A String", # The Google generated ID of the dataset, immutable.
+    "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+    "name": "A String", # The dataset name.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, projectNumber=None, pageSize=None)</code>
+  <pre>Lists all datasets.
+
+Args:
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectNumber: string, Only return datasets which belong to this Google Developers Console project. Only accepts project numbers. Returns all public projects if no project number is specified.
+  pageSize: integer, The maximum number of results returned by this request.
+
+Returns:
+  An object of the form:
+
+    { # The dataset list response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "datasets": [ # The list of matching Datasets.
+      { # A Dataset is a collection of genomic data.
+        "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+        "id": "A String", # The Google generated ID of the dataset, immutable.
+        "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+        "name": "A String", # The dataset name.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(datasetId, body)</code>
+  <pre>Updates a dataset. This method supports patch semantics.
+
+Args:
+  datasetId: string, The ID of the dataset to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Dataset is a collection of genomic data.
+  "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+  "id": "A String", # The Google generated ID of the dataset, immutable.
+  "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+  "name": "A String", # The dataset name.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A Dataset is a collection of genomic data.
+    "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+    "id": "A String", # The Google generated ID of the dataset, immutable.
+    "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+    "name": "A String", # The dataset name.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="undelete">undelete(datasetId)</code>
+  <pre>Undeletes a dataset by restoring a dataset which was deleted via this API. This operation is only possible for a week after the deletion occurred.
+
+Args:
+  datasetId: string, The ID of the dataset to be undeleted. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Dataset is a collection of genomic data.
+    "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+    "id": "A String", # The Google generated ID of the dataset, immutable.
+    "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+    "name": "A String", # The dataset name.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(datasetId, body)</code>
+  <pre>Updates a dataset.
+
+Args:
+  datasetId: string, The ID of the dataset to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Dataset is a collection of genomic data.
+  "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+  "id": "A String", # The Google generated ID of the dataset, immutable.
+  "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+  "name": "A String", # The dataset name.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A Dataset is a collection of genomic data.
+    "isPublic": True or False, # Flag indicating whether or not a dataset is publicly viewable. If a dataset is not public, it inherits viewing permissions from its project.
+    "id": "A String", # The Google generated ID of the dataset, immutable.
+    "projectNumber": "A String", # The Google Developers Console project number that this dataset belongs to.
+    "name": "A String", # The dataset name.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.experimental.html b/docs/dyn/genomics_v1beta2.experimental.html
new file mode 100644
index 0000000..2ed6911
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.experimental.html
@@ -0,0 +1,82 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.experimental.html">experimental</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.experimental.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.experimental.jobs.html b/docs/dyn/genomics_v1beta2.experimental.jobs.html
new file mode 100644
index 0000000..23dada8
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.experimental.jobs.html
@@ -0,0 +1,111 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.experimental.html">experimental</a> . <a href="genomics_v1beta2.experimental.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates and asynchronously runs an ad-hoc job. This is an experimental call and may be removed or changed at any time.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates and asynchronously runs an ad-hoc job. This is an experimental call and may be removed or changed at any time.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The job creation request.
+    "pairedSourceUris": [ # A list of Google Cloud Storage URIs of paired end .fastq files to operate upon. If specified, this represents the second file of each paired .fastq file. The first file of each pair should be specified in sourceUris.
+      "A String",
+    ],
+    "align": True or False, # Specifies whether or not to run the alignment pipeline. Either align or callVariants must be set.
+    "callVariants": True or False, # Specifies whether or not to run the variant calling pipeline. Either align or callVariants must be set.
+    "sourceUris": [ # A list of Google Cloud Storage URIs of data files to operate upon. These can be .bam, interleaved .fastq, or paired .fastq. If specifying paired .fastq files, the first of each pair of files should be listed here, and the second of each pair should be listed in pairedSourceUris.
+      "A String",
+    ],
+    "gcsOutputPath": "A String", # Specifies where to copy the results of certain pipelines. This should be in the form of gs://bucket/path.
+    "projectNumber": "A String", # Required. The Google Cloud Project ID with which to associate the request.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The job creation response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.html b/docs/dyn/genomics_v1beta2.html
new file mode 100644
index 0000000..f057d43
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.html
@@ -0,0 +1,137 @@
+<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="genomics_v1beta2.html">Genomics API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.annotationSets.html">annotationSets()</a></code>
+</p>
+<p class="firstline">Returns the annotationSets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.annotations.html">annotations()</a></code>
+</p>
+<p class="firstline">Returns the annotations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.callsets.html">callsets()</a></code>
+</p>
+<p class="firstline">Returns the callsets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.datasets.html">datasets()</a></code>
+</p>
+<p class="firstline">Returns the datasets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.experimental.html">experimental()</a></code>
+</p>
+<p class="firstline">Returns the experimental Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.readgroupsets.html">readgroupsets()</a></code>
+</p>
+<p class="firstline">Returns the readgroupsets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.reads.html">reads()</a></code>
+</p>
+<p class="firstline">Returns the reads Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.references.html">references()</a></code>
+</p>
+<p class="firstline">Returns the references Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.referencesets.html">referencesets()</a></code>
+</p>
+<p class="firstline">Returns the referencesets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.variants.html">variants()</a></code>
+</p>
+<p class="firstline">Returns the variants Resource.</p>
+
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.variantsets.html">variantsets()</a></code>
+</p>
+<p class="firstline">Returns the variantsets Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.jobs.html b/docs/dyn/genomics_v1beta2.jobs.html
new file mode 100644
index 0000000..fb3bafa
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.jobs.html
@@ -0,0 +1,188 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(jobId)</a></code></p>
+<p class="firstline">Cancels a job by ID. Note that it is possible for partial results to be generated and stored for cancelled jobs.</p>
+<p class="toc_element">
+  <code><a href="#get">get(jobId)</a></code></p>
+<p class="firstline">Gets a job by ID.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Gets a list of jobs matching the criteria.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(jobId)</code>
+  <pre>Cancels a job by ID. Note that it is possible for partial results to be generated and stored for cancelled jobs.
+
+Args:
+  jobId: string, Required. The ID of the job. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(jobId)</code>
+  <pre>Gets a job by ID.
+
+Args:
+  jobId: string, Required. The ID of the job. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Job represents an ongoing process that can be monitored for status information.
+    "detailedStatus": "A String", # A more detailed description of this job's current status.
+    "status": "A String", # The status of this job.
+    "errors": [ # Any errors that occurred during processing.
+      "A String",
+    ],
+    "created": "A String", # The date this job was created, in milliseconds from the epoch.
+    "warnings": [ # Any warnings that occurred during processing.
+      "A String",
+    ],
+    "request": { # A summary representation of the service request that spawned the job. # A summarized representation of the original service request.
+      "source": [ # The data source of the request, for example, a Google Cloud Storage object path or Readset ID.
+        "A String",
+      ],
+      "destination": [ # The data destination of the request, for example, a Google BigQuery Table or Dataset ID.
+        "A String",
+      ],
+      "type": "A String", # The original request type.
+    },
+    "projectNumber": "A String", # The Google Developers Console project number to which this job belongs.
+    "importedIds": [ # If this Job represents an import, this field will contain the IDs of the objects that were successfully imported.
+      "A String",
+    ],
+    "id": "A String", # The job ID.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Gets a list of jobs matching the criteria.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The jobs search request.
+    "status": [ # Only return jobs which have a matching status.
+      "A String",
+    ],
+    "createdAfter": "A String", # If specified, only jobs created on or after this date, given in milliseconds since Unix epoch, will be returned.
+    "pageSize": 42, # Specifies the number of results to return in a single page. Defaults to 128. The maximum value is 256.
+    "pageToken": "A String", # The continuation token which is used to page through large result sets. To get the next page of results, set this parameter to the value of the nextPageToken from the previous response.
+    "createdBefore": "A String", # If specified, only jobs created prior to this date, given in milliseconds since Unix epoch, will be returned.
+    "projectNumber": "A String", # Required. Only return jobs which belong to this Google Developers Console project.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The job search response.
+    "nextPageToken": "A String", # The continuation token which is used to page through large result sets. Provide this value is a subsequent request to return the next page of results. This field will be empty if there are no more results.
+    "jobs": [ # The list of jobs results, ordered newest to oldest.
+      { # A Job represents an ongoing process that can be monitored for status information.
+        "detailedStatus": "A String", # A more detailed description of this job's current status.
+        "status": "A String", # The status of this job.
+        "errors": [ # Any errors that occurred during processing.
+          "A String",
+        ],
+        "created": "A String", # The date this job was created, in milliseconds from the epoch.
+        "warnings": [ # Any warnings that occurred during processing.
+          "A String",
+        ],
+        "request": { # A summary representation of the service request that spawned the job. # A summarized representation of the original service request.
+          "source": [ # The data source of the request, for example, a Google Cloud Storage object path or Readset ID.
+            "A String",
+          ],
+          "destination": [ # The data destination of the request, for example, a Google BigQuery Table or Dataset ID.
+            "A String",
+          ],
+          "type": "A String", # The original request type.
+        },
+        "projectNumber": "A String", # The Google Developers Console project number to which this job belongs.
+        "importedIds": [ # If this Job represents an import, this field will contain the IDs of the objects that were successfully imported.
+          "A String",
+        ],
+        "id": "A String", # The job ID.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.readgroupsets.coveragebuckets.html b/docs/dyn/genomics_v1beta2.readgroupsets.coveragebuckets.html
new file mode 100644
index 0000000..03f8c38
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.readgroupsets.coveragebuckets.html
@@ -0,0 +1,132 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.readgroupsets.html">readgroupsets</a> . <a href="genomics_v1beta2.readgroupsets.coveragebuckets.html">coveragebuckets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(readGroupSetId, range_end=None, range_start=None, range_referenceName=None, pageSize=None, pageToken=None, targetBucketWidth=None)</a></code></p>
+<p class="firstline">Lists fixed width coverage buckets for a read group set, each of which correspond to a range of a reference sequence. Each bucket summarizes coverage information across its corresponding genomic range.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(readGroupSetId, range_end=None, range_start=None, range_referenceName=None, pageSize=None, pageToken=None, targetBucketWidth=None)</code>
+  <pre>Lists fixed width coverage buckets for a read group set, each of which correspond to a range of a reference sequence. Each bucket summarizes coverage information across its corresponding genomic range.
+
+Coverage is defined as the number of reads which are aligned to a given base in the reference sequence. Coverage buckets are available at several precomputed bucket widths, enabling retrieval of various coverage 'zoom levels'. The caller must have READ permissions for the target read group set.
+
+Args:
+  readGroupSetId: string, Required. The ID of the read group set over which coverage is requested. (required)
+  range_end: string, The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.
+  range_start: string, The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.
+  range_referenceName: string, The reference sequence name, for example chr1, 1, or chrX.
+  pageSize: integer, The maximum number of results to return in a single page. If unspecified, defaults to 1024. The maximum value is 2048.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  targetBucketWidth: string, The desired width of each reported coverage bucket in base pairs. This will be rounded down to the nearest precomputed bucket width; the value of which is returned as bucketWidth in the response. Defaults to infinity (each bucket spans an entire reference sequence) or the length of the target range, if specified. The smallest precomputed bucketWidth is currently 2048 base pairs; this is subject to change.
+
+Returns:
+  An object of the form:
+
+    {
+    "coverageBuckets": [ # The coverage buckets. The list of buckets is sparse; a bucket with 0 overlapping reads is not returned. A bucket never crosses more than one reference sequence. Each bucket has width bucketWidth, unless its end is the end of the reference sequence.
+      { # A bucket over which read coverage has been precomputed. A bucket corresponds to a specific range of the reference sequence.
+        "meanCoverage": 3.14, # The average number of reads which are aligned to each individual reference base in this bucket.
+        "range": { # A 0-based half-open genomic coordinate range over a reference sequence. # The genomic coordinate range spanned by this bucket.
+          "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.
+          "end": "A String", # The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.
+          "referenceName": "A String", # The reference sequence name, for example chr1, 1, or chrX.
+        },
+      },
+    ],
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "bucketWidth": "A String", # The length of each coverage bucket in base pairs. Note that buckets at the end of a reference sequence may be shorter. This value is omitted if the bucket width is infinity (the default behaviour, with no range or targetBucketWidth).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.readgroupsets.html b/docs/dyn/genomics_v1beta2.readgroupsets.html
new file mode 100644
index 0000000..ea482f3
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.readgroupsets.html
@@ -0,0 +1,604 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.readgroupsets.html">readgroupsets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.readgroupsets.coveragebuckets.html">coveragebuckets()</a></code>
+</p>
+<p class="firstline">Returns the coveragebuckets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#align">align(body)</a></code></p>
+<p class="firstline">Aligns read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.</p>
+<p class="toc_element">
+  <code><a href="#call">call(body)</a></code></p>
+<p class="firstline">Calls variants on read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(readGroupSetId)</a></code></p>
+<p class="firstline">Deletes a read group set.</p>
+<p class="toc_element">
+  <code><a href="#export">export(body)</a></code></p>
+<p class="firstline">Exports read group sets to a BAM file in Google Cloud Storage.</p>
+<p class="toc_element">
+  <code><a href="#get">get(readGroupSetId)</a></code></p>
+<p class="firstline">Gets a read group set by ID.</p>
+<p class="toc_element">
+  <code><a href="#import_">import_(body)</a></code></p>
+<p class="firstline">Creates read group sets by asynchronously importing the provided information.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(readGroupSetId, body)</a></code></p>
+<p class="firstline">Updates a read group set. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Searches for read group sets matching the criteria.</p>
+<p class="toc_element">
+  <code><a href="#update">update(readGroupSetId, body)</a></code></p>
+<p class="firstline">Updates a read group set.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="align">align(body)</code>
+  <pre>Aligns read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read group set align request.
+    "interleavedFastqSource": { # Describes an interleaved FASTQ file source for alignment. # The interleaved FASTQ source files for alignment, where both members of each pair of reads are found on consecutive records within the same FASTQ file. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
+      "sourceUris": [ # A list of URIs pointing at interleaved FASTQ files in Google Cloud Storage which will be aligned. The caller must have READ permissions for these files.
+        "A String",
+      ],
+      "metadata": { # Optionally specifies the metadata to be associated with the final aligned read group set.
+        "readGroupName": "A String", # Optionally specifies the read group name for alignment from FASTQ.
+        "sampleName": "A String", # Optionally specifies the sample name for alignment from FASTQ.
+        "libraryName": "A String", # Optionally specifies the library name for alignment from FASTQ.
+        "platformName": "A String", # Optionally specifies the platform name for alignment from FASTQ. For example: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT, PACBIO.
+        "platformUnit": "A String", # Optionally specifies the platform unit for alignment from FASTQ. For example: flowcell-barcode.lane for Illumina or slide for SOLID.
+      },
+    },
+    "bamSourceUris": [ # The BAM source files for alignment. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided. The caller must have READ permissions for these files.
+      "A String",
+    ],
+    "pairedFastqSource": { # Describes a paired-end FASTQ file source for alignment. # The paired end FASTQ source files for alignment, where each member of a pair of reads are found in separate files. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
+      "secondSourceUris": [ # A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The second of each paired file should be specified here, in an order that matches the first of each paired file specified in firstSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.
+        "A String",
+      ],
+      "metadata": { # Optionally specifies the metadata to be associated with the final aligned read group set.
+        "readGroupName": "A String", # Optionally specifies the read group name for alignment from FASTQ.
+        "sampleName": "A String", # Optionally specifies the sample name for alignment from FASTQ.
+        "libraryName": "A String", # Optionally specifies the library name for alignment from FASTQ.
+        "platformName": "A String", # Optionally specifies the platform name for alignment from FASTQ. For example: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT, PACBIO.
+        "platformUnit": "A String", # Optionally specifies the platform unit for alignment from FASTQ. For example: flowcell-barcode.lane for Illumina or slide for SOLID.
+      },
+      "firstSourceUris": [ # A list of URIs pointing at paired end FASTQ files in Google Cloud Storage which will be aligned. The first of each paired file should be specified here, in an order that matches the second of each paired file specified in secondSourceUris. For example: firstSourceUris: [file1_1.fq, file2_1.fq], secondSourceUris: [file1_2.fq, file2_2.fq]. The caller must have READ permissions for these files.
+        "A String",
+      ],
+    },
+    "readGroupSetId": "A String", # The ID of the read group set which will be aligned. A new read group set will be generated to hold the aligned data, the originals will not be modified. The caller must have READ permissions for this read group set. Exactly one of readGroupSetId, bamSourceUris, interleavedFastqSource or pairedFastqSource must be provided.
+    "datasetId": "A String", # Required. The ID of the dataset the newly aligned read group sets will belong to. The caller must have WRITE permissions to this dataset.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read group set align response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="call">call(body)</code>
+  <pre>Calls variants on read data from existing read group sets or files from Google Cloud Storage. See the  alignment and variant calling documentation for more details.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read group set call request.
+    "sourceUris": [ # A list of URIs pointing at BAM files in Google Cloud Storage which will be called. FASTQ files are not allowed. The caller must have READ permissions for these files. One of readGroupSetId or sourceUris must be provided.
+      "A String",
+    ],
+    "readGroupSetId": "A String", # The IDs of the read group sets which will be called. The caller must have READ permissions for these read group sets. One of readGroupSetId or sourceUris must be provided.
+    "datasetId": "A String", # Required. The ID of the dataset the called variants will belong to. The caller must have WRITE permissions to this dataset.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read group set call response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(readGroupSetId)</code>
+  <pre>Deletes a read group set.
+
+Args:
+  readGroupSetId: string, The ID of the read group set to be deleted. The caller must have WRITE permissions to the dataset associated with this read group set. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="export">export(body)</code>
+  <pre>Exports read group sets to a BAM file in Google Cloud Storage.
+
+Note that currently there may be some differences between exported BAM files and the original BAM file at the time of import. In particular, comments in the input file header will not be preserved, some custom tags will be converted to strings, and original reference sequence order is not necessarily preserved.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read group set export request.
+    "exportUri": "A String", # A Google Cloud Storage URI where the exported BAM file will be created. The currently authenticated user must have write access to the new file location. An error will be returned if the URI already contains data.
+    "referenceNames": [ # The reference names to export. If this is not specified, all reference sequences, including unmapped reads, are exported. Use * to export only unmapped reads.
+      "A String",
+    ],
+    "readGroupSetIds": [ # The IDs of the read group sets to export.
+      "A String",
+    ],
+    "projectNumber": "A String", # The Google Developers Console project number that owns this export.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read group set export response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(readGroupSetId)</code>
+  <pre>Gets a read group set by ID.
+
+Args:
+  readGroupSetId: string, The ID of the read group set. (required)
+
+Returns:
+  An object of the form:
+
+    { # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+      # - A read group set belongs to one dataset.
+      # - A read group belongs to one read group set.
+      # - A read belongs to one read group.
+    "info": { # A map of additional read group set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+    "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+      { # A read group is all the data that's processed the same way by the sequencer.
+        "info": { # A map of additional read group information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+        "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+        "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+          {
+            "commandLine": "A String", # The command line used to run this program.
+            "prevProgramId": "A String", # The ID of the program run before this one.
+            "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+            "version": "A String", # The version of the program run.
+            "name": "A String", # The name of the program.
+          },
+        ],
+        "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+        "experiment": { # The experiment used to generate this read group.
+          "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+          "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+          "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+          "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+        },
+        "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+        "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+        "datasetId": "A String", # The ID of the dataset this read group belongs to.
+        "description": "A String", # A free-form text description of this read group.
+      },
+    ],
+    "filename": "A String", # The filename of the original source file for this read group set, if any.
+    "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+    "id": "A String", # The read group set ID.
+    "datasetId": "A String", # The dataset ID.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="import_">import_(body)</code>
+  <pre>Creates read group sets by asynchronously importing the provided information.
+
+Note that currently comments in the input file header are not imported and some custom tags will be converted to strings, rather than preserving tag types. The caller must have WRITE permissions to the dataset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read group set import request.
+    "referenceSetId": "A String", # The reference set to which the imported read group sets are aligned to, if any. The reference names of this reference set must be a superset of those found in the imported file headers. If no reference set id is provided, a best effort is made to associate with a matching reference set.
+    "sourceUris": [ # A list of URIs pointing at BAM files in Google Cloud Storage.
+      "A String",
+    ],
+    "partitionStrategy": "A String", # The partition strategy describes how read groups are partitioned into read group sets.
+    "datasetId": "A String", # Required. The ID of the dataset these read group sets will belong to. The caller must have WRITE permissions to this dataset.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read group set import response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(readGroupSetId, body)</code>
+  <pre>Updates a read group set. This method supports patch semantics.
+
+Args:
+  readGroupSetId: string, The ID of the read group set to be updated. The caller must have WRITE permissions to the dataset associated with this read group set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+    # - A read group set belongs to one dataset.
+    # - A read group belongs to one read group set.
+    # - A read belongs to one read group.
+  "info": { # A map of additional read group set information.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+  "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+    { # A read group is all the data that's processed the same way by the sequencer.
+      "info": { # A map of additional read group information.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+      "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+      "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+        {
+          "commandLine": "A String", # The command line used to run this program.
+          "prevProgramId": "A String", # The ID of the program run before this one.
+          "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+          "version": "A String", # The version of the program run.
+          "name": "A String", # The name of the program.
+        },
+      ],
+      "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+      "experiment": { # The experiment used to generate this read group.
+        "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+        "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+        "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+        "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+      },
+      "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+      "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+      "datasetId": "A String", # The ID of the dataset this read group belongs to.
+      "description": "A String", # A free-form text description of this read group.
+    },
+  ],
+  "filename": "A String", # The filename of the original source file for this read group set, if any.
+  "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+  "id": "A String", # The read group set ID.
+  "datasetId": "A String", # The dataset ID.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+      # - A read group set belongs to one dataset.
+      # - A read group belongs to one read group set.
+      # - A read belongs to one read group.
+    "info": { # A map of additional read group set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+    "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+      { # A read group is all the data that's processed the same way by the sequencer.
+        "info": { # A map of additional read group information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+        "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+        "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+          {
+            "commandLine": "A String", # The command line used to run this program.
+            "prevProgramId": "A String", # The ID of the program run before this one.
+            "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+            "version": "A String", # The version of the program run.
+            "name": "A String", # The name of the program.
+          },
+        ],
+        "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+        "experiment": { # The experiment used to generate this read group.
+          "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+          "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+          "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+          "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+        },
+        "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+        "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+        "datasetId": "A String", # The ID of the dataset this read group belongs to.
+        "description": "A String", # A free-form text description of this read group.
+      },
+    ],
+    "filename": "A String", # The filename of the original source file for this read group set, if any.
+    "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+    "id": "A String", # The read group set ID.
+    "datasetId": "A String", # The dataset ID.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Searches for read group sets matching the criteria.
+
+Implements GlobalAllianceApi.searchReadGroupSets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read group set search request.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "datasetIds": [ # Restricts this query to read group sets within the given datasets. At least one ID must be provided.
+      "A String",
+    ],
+    "name": "A String", # Only return read group sets for which a substring of the name matches this string.
+    "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 128. The maximum value is 1024.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read group set search response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "readGroupSets": [ # The list of matching read group sets.
+      { # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+          # - A read group set belongs to one dataset.
+          # - A read group belongs to one read group set.
+          # - A read belongs to one read group.
+        "info": { # A map of additional read group set information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+        "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+          { # A read group is all the data that's processed the same way by the sequencer.
+            "info": { # A map of additional read group information.
+              "a_key": [ # A string which maps to an array of values.
+                "A String",
+              ],
+            },
+            "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+            "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+            "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+              {
+                "commandLine": "A String", # The command line used to run this program.
+                "prevProgramId": "A String", # The ID of the program run before this one.
+                "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+                "version": "A String", # The version of the program run.
+                "name": "A String", # The name of the program.
+              },
+            ],
+            "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+            "experiment": { # The experiment used to generate this read group.
+              "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+              "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+              "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+              "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+            },
+            "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+            "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+            "datasetId": "A String", # The ID of the dataset this read group belongs to.
+            "description": "A String", # A free-form text description of this read group.
+          },
+        ],
+        "filename": "A String", # The filename of the original source file for this read group set, if any.
+        "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+        "id": "A String", # The read group set ID.
+        "datasetId": "A String", # The dataset ID.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(readGroupSetId, body)</code>
+  <pre>Updates a read group set.
+
+Args:
+  readGroupSetId: string, The ID of the read group set to be updated. The caller must have WRITE permissions to the dataset associated with this read group set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+    # - A read group set belongs to one dataset.
+    # - A read group belongs to one read group set.
+    # - A read belongs to one read group.
+  "info": { # A map of additional read group set information.
+    "a_key": [ # A string which maps to an array of values.
+      "A String",
+    ],
+  },
+  "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+  "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+    { # A read group is all the data that's processed the same way by the sequencer.
+      "info": { # A map of additional read group information.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+      "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+      "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+        {
+          "commandLine": "A String", # The command line used to run this program.
+          "prevProgramId": "A String", # The ID of the program run before this one.
+          "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+          "version": "A String", # The version of the program run.
+          "name": "A String", # The name of the program.
+        },
+      ],
+      "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+      "experiment": { # The experiment used to generate this read group.
+        "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+        "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+        "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+        "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+      },
+      "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+      "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+      "datasetId": "A String", # The ID of the dataset this read group belongs to.
+      "description": "A String", # A free-form text description of this read group.
+    },
+  ],
+  "filename": "A String", # The filename of the original source file for this read group set, if any.
+  "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+  "id": "A String", # The read group set ID.
+  "datasetId": "A String", # The dataset ID.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A read group set is a logical collection of read groups, which are collections of reads produced by a sequencer. A read group set typically models reads corresponding to one sample, sequenced one way, and aligned one way.
+      # - A read group set belongs to one dataset.
+      # - A read group belongs to one read group set.
+      # - A read belongs to one read group.
+    "info": { # A map of additional read group set information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "name": "A String", # The read group set name. By default this will be initialized to the sample name of the sequenced data contained in this set.
+    "readGroups": [ # The read groups in this set. There are typically 1-10 read groups in a read group set.
+      { # A read group is all the data that's processed the same way by the sequencer.
+        "info": { # A map of additional read group information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "predictedInsertSize": 42, # The predicted insert size of this read group. The insert size is the length the sequenced DNA fragment from end-to-end, not including the adapters.
+        "name": "A String", # The read group name. This corresponds to the @RG ID field in the SAM spec.
+        "programs": [ # The programs used to generate this read group. Programs are always identical for all read groups within a read group set. For this reason, only the first read group in a returned set will have this field populated.
+          {
+            "commandLine": "A String", # The command line used to run this program.
+            "prevProgramId": "A String", # The ID of the program run before this one.
+            "id": "A String", # The user specified locally unique ID of the program. Used along with prevProgramId to define an ordering between programs.
+            "version": "A String", # The version of the program run.
+            "name": "A String", # The name of the program.
+          },
+        ],
+        "sampleId": "A String", # The sample this read group's data was generated from. Note: This is not an actual ID within this repository, but rather an identifier for a sample which may be meaningful to some external system.
+        "experiment": { # The experiment used to generate this read group.
+          "sequencingCenter": "A String", # The sequencing center used as part of this experiment.
+          "libraryId": "A String", # The library used as part of this experiment. Note: This is not an actual ID within this repository, but rather an identifier for a library which may be meaningful to some external system.
+          "instrumentModel": "A String", # The instrument model used as part of this experiment. This maps to sequencing technology in BAM.
+          "platformUnit": "A String", # The platform unit used as part of this experiment e.g. flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
+        },
+        "referenceSetId": "A String", # The reference set the reads in this read group are aligned to. Required if there are any read alignments.
+        "id": "A String", # The generated unique read group ID. Note: This is different than the @RG ID field in the SAM spec. For that value, see the name field.
+        "datasetId": "A String", # The ID of the dataset this read group belongs to.
+        "description": "A String", # A free-form text description of this read group.
+      },
+    ],
+    "filename": "A String", # The filename of the original source file for this read group set, if any.
+    "referenceSetId": "A String", # The reference set the reads in this read group set are aligned to.
+    "id": "A String", # The read group set ID.
+    "datasetId": "A String", # The dataset ID.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.reads.html b/docs/dyn/genomics_v1beta2.reads.html
new file mode 100644
index 0000000..8b2b960
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.reads.html
@@ -0,0 +1,166 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.reads.html">reads</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Gets a list of reads for one or more read group sets. Reads search operates over a genomic coordinate space of reference sequence & position defined over the reference sequences to which the requested read group sets are aligned.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Gets a list of reads for one or more read group sets. Reads search operates over a genomic coordinate space of reference sequence & position defined over the reference sequences to which the requested read group sets are aligned.
+
+If a target positional range is specified, search returns all reads whose alignment to the reference genome overlap the range. A query which specifies only read group set IDs yields all reads in those read group sets, including unmapped reads.
+
+All reads returned (including reads on subsequent pages) are ordered by genomic coordinate (reference sequence & position). Reads with equivalent genomic coordinates are returned in a deterministic order.
+
+Implements GlobalAllianceApi.searchReads.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The read search request.
+    "readGroupSetIds": [ # The IDs of the read groups sets within which to search for reads. All specified read group sets must be aligned against a common set of reference sequences; this defines the genomic coordinates for the query. Must specify one of readGroupSetIds or readGroupIds.
+      "A String",
+    ],
+    "readGroupIds": [ # The IDs of the read groups within which to search for reads. All specified read groups must belong to the same read group sets. Must specify one of readGroupSetIds or readGroupIds.
+      "A String",
+    ],
+    "pageSize": 42, # Specifies number of results to return in a single page. If unspecified, it will default to 256. The maximum value is 2048.
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceName must also be specified.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "referenceName": "A String", # The reference sequence name, for example chr1, 1, or chrX. If set to *, only unmapped reads are returned.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive. If specified, referenceName must also be specified.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The read search response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "alignments": [ # The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned last and are further sorted in ascending lexicographic order by fragment name.
+      { # A read alignment describes a linear alignment of a string of DNA to a reference sequence, in addition to metadata about the fragment (the molecule of DNA sequenced) and the read (the bases which were read by the sequencer). A read is equivalent to a line in a SAM file. A read belongs to exactly one read group and exactly one read group set. Generating a reference-aligned sequence string When interacting with mapped reads, it's often useful to produce a string representing the local alignment of the read to reference. The following pseudocode demonstrates one way of doing this:
+          # out = "" offset = 0 for c in read.alignment.cigar { switch c.operation { case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH": out += read.alignedSequence[offset:offset+c.operationLength] offset += c.operationLength break case "CLIP_SOFT", "INSERT": offset += c.operationLength break case "PAD": out += repeat("*", c.operationLength) break case "DELETE": out += repeat("-", c.operationLength) break case "SKIP": out += repeat(" ", c.operationLength) break case "CLIP_HARD": break } } return out
+          # Converting to SAM's CIGAR string The following pseudocode generates a SAM CIGAR string from the cigar field. Note that this is a lossy conversion (cigar.referenceSequence is lost).
+          # cigarMap = { "ALIGNMENT_MATCH": "M", "INSERT": "I", "DELETE": "D", "SKIP": "N", "CLIP_SOFT": "S", "CLIP_HARD": "H", "PAD": "P", "SEQUENCE_MATCH": "=", "SEQUENCE_MISMATCH": "X", } cigarStr = "" for c in read.alignment.cigar { cigarStr += c.operationLength + cigarMap[c.operation] } return cigarStr
+        "info": { # A map of additional read alignment information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "duplicateFragment": True or False, # The fragment is a PCR or optical duplicate (SAM flag 0x400)
+        "readGroupSetId": "A String", # The ID of the read group set this read belongs to. (Every read must belong to exactly one read group set.)
+        "alignedQuality": [ # The quality of the read sequence contained in this alignment record. alignedSequence and alignedQuality may be shorter than the full read sequence and quality. This will occur if the alignment is part of a chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR for this read will begin/end with a hard clip operator that will indicate the length of the excised sequence.
+          42,
+        ],
+        "failedVendorQualityChecks": True or False, # SAM flag 0x200
+        "fragmentName": "A String", # The fragment name. Equivalent to QNAME (query template name) in SAM.
+        "readNumber": 42, # The read number in sequencing. 0-based and less than numberReads. This field replaces SAM flag 0x40 and 0x80.
+        "properPlacement": True or False, # The orientation and the distance between reads from the fragment are consistent with the sequencing protocol (SAM flag 0x2)
+        "nextMatePosition": { # An abstraction for referring to a genomic position, in relation to some already known reference. For now, represents a genomic position as a reference name, a base number on that reference (0-based), and a determination of forward or reverse strand. # The mapping of the primary alignment of the (readNumber+1)%numberReads read in the fragment. It replaces mate position and mate strand in SAM.
+          "position": "A String", # The 0-based offset from the start of the forward strand for that reference.
+          "reverseStrand": True or False, # Whether this position is on the reverse strand, as opposed to the forward strand.
+          "referenceName": "A String", # The name of the reference in whatever reference set is being used.
+        },
+        "supplementaryAlignment": True or False, # Whether this alignment is supplementary. Equivalent to SAM flag 0x800. Supplementary alignments are used in the representation of a chimeric alignment. In a chimeric alignment, a read is split into multiple linear alignments that map to different reference contigs. The first linear alignment in the read will be designated as the representative alignment; the remaining linear alignments will be designated as supplementary alignments. These alignments may have different mapping quality scores. In each linear alignment in a chimeric alignment, the read will be hard clipped. The alignedSequence and alignedQuality fields in the alignment record will only represent the bases for its respective linear alignment.
+        "numberReads": 42, # The number of reads in the fragment (extension to SAM flag 0x1).
+        "fragmentLength": 42, # The observed length of the fragment, equivalent to TLEN in SAM.
+        "secondaryAlignment": True or False, # Whether this alignment is secondary. Equivalent to SAM flag 0x100. A secondary alignment represents an alternative to the primary alignment for this read. Aligners may return secondary alignments if a read can map ambiguously to multiple coordinates in the genome. By convention, each read has one and only one alignment where both secondaryAlignment and supplementaryAlignment are false.
+        "alignedSequence": "A String", # The bases of the read sequence contained in this alignment record, without CIGAR operations applied. alignedSequence and alignedQuality may be shorter than the full read sequence and quality. This will occur if the alignment is part of a chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR for this read will begin/end with a hard clip operator that will indicate the length of the excised sequence.
+        "id": "A String", # The unique ID for this read. This is a generated unique ID, not to be confused with fragmentName.
+        "alignment": { # A linear alignment can be represented by one CIGAR string. Describes the mapped position and local alignment of the read to the reference. # The linear alignment for this alignment record. This field will be null if the read is unmapped.
+          "position": { # An abstraction for referring to a genomic position, in relation to some already known reference. For now, represents a genomic position as a reference name, a base number on that reference (0-based), and a determination of forward or reverse strand. # The position of this alignment.
+            "position": "A String", # The 0-based offset from the start of the forward strand for that reference.
+            "reverseStrand": True or False, # Whether this position is on the reverse strand, as opposed to the forward strand.
+            "referenceName": "A String", # The name of the reference in whatever reference set is being used.
+          },
+          "cigar": [ # Represents the local alignment of this sequence (alignment matches, indels, etc) against the reference.
+            { # A single CIGAR operation.
+              "referenceSequence": "A String", # referenceSequence is only used at mismatches (SEQUENCE_MISMATCH) and deletions (DELETE). Filling this field replaces SAM's MD tag. If the relevant information is not available, this field is unset.
+              "operation": "A String",
+              "operationLength": "A String", # The number of bases that the operation runs for. Required.
+            },
+          ],
+          "mappingQuality": 42, # The mapping quality of this alignment. Represents how likely the read maps to this position as opposed to other locations.
+        },
+        "readGroupId": "A String", # The ID of the read group this read belongs to. (Every read must belong to exactly one read group.)
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.references.bases.html b/docs/dyn/genomics_v1beta2.references.bases.html
new file mode 100644
index 0000000..7d228a0
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.references.bases.html
@@ -0,0 +1,121 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.references.html">references</a> . <a href="genomics_v1beta2.references.bases.html">bases</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(referenceId, end=None, pageSize=None, pageToken=None, start=None)</a></code></p>
+<p class="firstline">Lists the bases in a reference, optionally restricted to a range.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(referenceId, end=None, pageSize=None, pageToken=None, start=None)</code>
+  <pre>Lists the bases in a reference, optionally restricted to a range.
+
+Implements GlobalAllianceApi.getReferenceBases.
+
+Args:
+  referenceId: string, The ID of the reference. (required)
+  end: string, The end position (0-based, exclusive) of this query. Defaults to the length of this reference.
+  pageSize: integer, Specifies the maximum number of bases to return in a single page.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  start: string, The start position (0-based) of this query. Defaults to 0.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "sequence": "A String", # A substring of the bases that make up this reference.
+    "offset": "A String", # The offset position (0-based) of the given sequence from the start of this Reference. This value will differ for each page in a paginated request.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.references.html b/docs/dyn/genomics_v1beta2.references.html
new file mode 100644
index 0000000..fe84df3
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.references.html
@@ -0,0 +1,158 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.references.html">references</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="genomics_v1beta2.references.bases.html">bases()</a></code>
+</p>
+<p class="firstline">Returns the bases Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(referenceId)</a></code></p>
+<p class="firstline">Gets a reference.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Searches for references which match the given criteria.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(referenceId)</code>
+  <pre>Gets a reference.
+
+Implements GlobalAllianceApi.getReference.
+
+Args:
+  referenceId: string, The ID of the reference. (required)
+
+Returns:
+  An object of the form:
+
+    { # A reference is a canonical assembled DNA sequence, intended to act as a reference coordinate space for other genomic annotations. A single reference might represent the human chromosome 1 or mitochandrial DNA, for instance. A reference belongs to one or more reference sets.
+    "name": "A String", # The name of this reference, for example 22.
+    "sourceURI": "A String", # The URI from which the sequence was obtained. Specifies a FASTA format file/string with one name, sequence pair.
+    "sourceAccessions": [ # All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example GCF_000001405.26.
+      "A String",
+    ],
+    "length": "A String", # The length of this reference's sequence.
+    "md5checksum": "A String", # MD5 of the upper-case sequence excluding all whitespace characters (this is equivalent to SQ:M5 in SAM). This value is represented in lower case hexadecimal format.
+    "id": "A String", # The Google generated immutable ID of the reference.
+    "ncbiTaxonId": 42, # ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606->human) if not specified by the containing reference set.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Searches for references which match the given criteria.
+
+Implements GlobalAllianceApi.searchReferences.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "md5checksums": [ # If present, return references for which the md5checksum matches. See Reference.md5checksum for construction details.
+      "A String",
+    ],
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "referenceSetId": "A String", # If present, return only references which belong to this reference set.
+    "accessions": [ # If present, return references for which the accession matches this string. Best to give a version number, for example GCF_000001405.26. If only the main accession number is given then all records with that main accession will be returned, whichever version. Note that different versions will have different sequences.
+      "A String",
+    ],
+    "pageSize": 42, # Specifies the maximum number of results to return in a single page.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "references": [ # The matching references.
+      { # A reference is a canonical assembled DNA sequence, intended to act as a reference coordinate space for other genomic annotations. A single reference might represent the human chromosome 1 or mitochandrial DNA, for instance. A reference belongs to one or more reference sets.
+        "name": "A String", # The name of this reference, for example 22.
+        "sourceURI": "A String", # The URI from which the sequence was obtained. Specifies a FASTA format file/string with one name, sequence pair.
+        "sourceAccessions": [ # All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example GCF_000001405.26.
+          "A String",
+        ],
+        "length": "A String", # The length of this reference's sequence.
+        "md5checksum": "A String", # MD5 of the upper-case sequence excluding all whitespace characters (this is equivalent to SQ:M5 in SAM). This value is represented in lower case hexadecimal format.
+        "id": "A String", # The Google generated immutable ID of the reference.
+        "ncbiTaxonId": 42, # ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606->human) if not specified by the containing reference set.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.referencesets.html b/docs/dyn/genomics_v1beta2.referencesets.html
new file mode 100644
index 0000000..73db80e
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.referencesets.html
@@ -0,0 +1,159 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.referencesets.html">referencesets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(referenceSetId)</a></code></p>
+<p class="firstline">Gets a reference set.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Searches for reference sets which match the given criteria.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(referenceSetId)</code>
+  <pre>Gets a reference set.
+
+Implements GlobalAllianceApi.getReferenceSet.
+
+Args:
+  referenceSetId: string, The ID of the reference set. (required)
+
+Returns:
+  An object of the form:
+
+    { # A reference set is a set of references which typically comprise a reference assembly for a species, such as GRCh38 which is representative of the human genome. A reference set defines a common coordinate space for comparing reference-aligned experimental data. A reference set contains 1 or more references.
+    "description": "A String", # Optional free text description of this reference set.
+    "sourceURI": "A String", # The URI from which the references were obtained.
+    "referenceIds": [ # The IDs of the reference objects that are part of this set. Reference.md5checksum must be unique within this set.
+      "A String",
+    ],
+    "assemblyId": "A String", # Public id of this reference set, such as GRCh37.
+    "sourceAccessions": [ # All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example NC_000001.11.
+      "A String",
+    ],
+    "md5checksum": "A String", # Order-independent MD5 checksum which identifies this reference set. The checksum is computed by sorting all lower case hexidecimal string reference.md5checksum (for all reference in this set) in ascending lexicographic order, concatenating, and taking the MD5 of that value. The resulting value is represented in lower case hexadecimal format.
+    "id": "A String", # The Google generated immutable ID of the reference set.
+    "ncbiTaxonId": 42, # ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606->human) indicating the species which this assembly is intended to model. Note that contained references may specify a different ncbiTaxonId, as assemblies may contain reference sequences which do not belong to the modeled species, e.g. EBV in a human reference genome.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Searches for reference sets which match the given criteria.
+
+Implements GlobalAllianceApi.searchReferenceSets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "md5checksums": [ # If present, return references for which the md5checksum matches. See ReferenceSet.md5checksum for details.
+      "A String",
+    ],
+    "assemblyId": "A String", # If present, return reference sets for which a substring of their assemblyId matches this string (case insensitive).
+    "accessions": [ # If present, return references for which the accession matches any of these strings. Best to give a version number, for example GCF_000001405.26. If only the main accession number is given then all records with that main accession will be returned, whichever version. Note that different versions will have different sequences.
+      "A String",
+    ],
+    "pageSize": 42, # Specifies the maximum number of results to return in a single page.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "referenceSets": [ # The matching references sets.
+      { # A reference set is a set of references which typically comprise a reference assembly for a species, such as GRCh38 which is representative of the human genome. A reference set defines a common coordinate space for comparing reference-aligned experimental data. A reference set contains 1 or more references.
+        "description": "A String", # Optional free text description of this reference set.
+        "sourceURI": "A String", # The URI from which the references were obtained.
+        "referenceIds": [ # The IDs of the reference objects that are part of this set. Reference.md5checksum must be unique within this set.
+          "A String",
+        ],
+        "assemblyId": "A String", # Public id of this reference set, such as GRCh37.
+        "sourceAccessions": [ # All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally with a version number, for example NC_000001.11.
+          "A String",
+        ],
+        "md5checksum": "A String", # Order-independent MD5 checksum which identifies this reference set. The checksum is computed by sorting all lower case hexidecimal string reference.md5checksum (for all reference in this set) in ascending lexicographic order, concatenating, and taking the MD5 of that value. The resulting value is represented in lower case hexadecimal format.
+        "id": "A String", # The Google generated immutable ID of the reference set.
+        "ncbiTaxonId": 42, # ID from http://www.ncbi.nlm.nih.gov/taxonomy (e.g. 9606->human) indicating the species which this assembly is intended to model. Note that contained references may specify a different ncbiTaxonId, as assemblies may contain reference sequences which do not belong to the modeled species, e.g. EBV in a human reference genome.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.variants.html b/docs/dyn/genomics_v1beta2.variants.html
new file mode 100644
index 0000000..7b1c3f1
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.variants.html
@@ -0,0 +1,434 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.variants.html">variants</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new variant.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(variantId)</a></code></p>
+<p class="firstline">Deletes a variant.</p>
+<p class="toc_element">
+  <code><a href="#get">get(variantId)</a></code></p>
+<p class="firstline">Gets a variant by ID.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Gets a list of variants matching the criteria.</p>
+<p class="toc_element">
+  <code><a href="#update">update(variantId, body)</a></code></p>
+<p class="firstline">Updates a variant's names and info fields. All other modifications are silently ignored. Returns the modified variant without its calls.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new variant.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+    "info": { # A map of additional variant information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+    "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+    "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+      { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+        "info": { # A map of additional variant call information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+          42,
+        ],
+        "callSetId": "A String", # The ID of the call set this variant call belongs to.
+        "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+        "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+          3.14,
+        ],
+        "callSetName": "A String", # The name of the call set this variant call belongs to.
+      },
+    ],
+    "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+    "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+    "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+      "A String",
+    ],
+    "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+    "names": [ # Names for the variant, for example a RefSNP ID.
+      "A String",
+    ],
+    "alternateBases": [ # The bases that appear instead of the reference bases.
+      "A String",
+    ],
+    "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+    "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+    "id": "A String", # The Google generated ID of the variant, immutable.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+      "info": { # A map of additional variant information.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+      "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+      "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+        { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+          "info": { # A map of additional variant call information.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+            42,
+          ],
+          "callSetId": "A String", # The ID of the call set this variant call belongs to.
+          "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+          "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+            3.14,
+          ],
+          "callSetName": "A String", # The name of the call set this variant call belongs to.
+        },
+      ],
+      "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+      "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+      "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+        "A String",
+      ],
+      "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+      "names": [ # Names for the variant, for example a RefSNP ID.
+        "A String",
+      ],
+      "alternateBases": [ # The bases that appear instead of the reference bases.
+        "A String",
+      ],
+      "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+      "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+      "id": "A String", # The Google generated ID of the variant, immutable.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(variantId)</code>
+  <pre>Deletes a variant.
+
+Args:
+  variantId: string, The ID of the variant to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(variantId)</code>
+  <pre>Gets a variant by ID.
+
+Args:
+  variantId: string, The ID of the variant. (required)
+
+Returns:
+  An object of the form:
+
+    { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+      "info": { # A map of additional variant information.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+      "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+      "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+        { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+          "info": { # A map of additional variant call information.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+            42,
+          ],
+          "callSetId": "A String", # The ID of the call set this variant call belongs to.
+          "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+          "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+            3.14,
+          ],
+          "callSetName": "A String", # The name of the call set this variant call belongs to.
+        },
+      ],
+      "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+      "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+      "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+        "A String",
+      ],
+      "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+      "names": [ # Names for the variant, for example a RefSNP ID.
+        "A String",
+      ],
+      "alternateBases": [ # The bases that appear instead of the reference bases.
+        "A String",
+      ],
+      "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+      "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+      "id": "A String", # The Google generated ID of the variant, immutable.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Gets a list of variants matching the criteria.
+
+Implements GlobalAllianceApi.searchVariants.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The variant search request.
+    "end": "A String", # Required. The end of the window (0-based, exclusive) for which overlapping variants should be returned.
+    "pageSize": 42, # The maximum number of variants to return.
+    "start": "A String", # Required. The beginning of the window (0-based, inclusive) for which overlapping variants should be returned.
+    "maxCalls": 42, # The maximum number of calls to return. However, at least one variant will always be returned, even if it has more calls than this limit.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "callSetIds": [ # Only return variant calls which belong to call sets with these ids. Leaving this blank returns all variant calls. If a variant has no calls belonging to any of these call sets, it won't be returned at all. Currently, variants with no calls from any call set will never be returned.
+      "A String",
+    ],
+    "variantName": "A String", # Only return variants which have exactly this name.
+    "referenceName": "A String", # Required. Only return variants in this reference sequence.
+    "variantSetIds": [ # Exactly one variant set ID must be provided. Only variants from this variant set will be returned.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The variant search response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "variants": [ # The list of matching Variants.
+      { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+          "info": { # A map of additional variant information.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+          "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+          "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+            { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+              "info": { # A map of additional variant call information.
+                "a_key": [ # A string which maps to an array of values.
+                  "A String",
+                ],
+              },
+              "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+                42,
+              ],
+              "callSetId": "A String", # The ID of the call set this variant call belongs to.
+              "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+              "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+                3.14,
+              ],
+              "callSetName": "A String", # The name of the call set this variant call belongs to.
+            },
+          ],
+          "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+          "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+          "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+            "A String",
+          ],
+          "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+          "names": [ # Names for the variant, for example a RefSNP ID.
+            "A String",
+          ],
+          "alternateBases": [ # The bases that appear instead of the reference bases.
+            "A String",
+          ],
+          "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+          "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+          "id": "A String", # The Google generated ID of the variant, immutable.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(variantId, body)</code>
+  <pre>Updates a variant's names and info fields. All other modifications are silently ignored. Returns the modified variant without its calls.
+
+Args:
+  variantId: string, The ID of the variant to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+    "info": { # A map of additional variant information.
+      "a_key": [ # A string which maps to an array of values.
+        "A String",
+      ],
+    },
+    "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+    "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+    "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+      { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+        "info": { # A map of additional variant call information.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+          42,
+        ],
+        "callSetId": "A String", # The ID of the call set this variant call belongs to.
+        "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+        "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+          3.14,
+        ],
+        "callSetName": "A String", # The name of the call set this variant call belongs to.
+      },
+    ],
+    "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+    "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+    "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+      "A String",
+    ],
+    "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+    "names": [ # Names for the variant, for example a RefSNP ID.
+      "A String",
+    ],
+    "alternateBases": [ # The bases that appear instead of the reference bases.
+      "A String",
+    ],
+    "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+    "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+    "id": "A String", # The Google generated ID of the variant, immutable.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+      "info": { # A map of additional variant information.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+      "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+      "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+        { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+          "info": { # A map of additional variant call information.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+            42,
+          ],
+          "callSetId": "A String", # The ID of the call set this variant call belongs to.
+          "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+          "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+            3.14,
+          ],
+          "callSetName": "A String", # The name of the call set this variant call belongs to.
+        },
+      ],
+      "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+      "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+      "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+        "A String",
+      ],
+      "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+      "names": [ # Names for the variant, for example a RefSNP ID.
+        "A String",
+      ],
+      "alternateBases": [ # The bases that appear instead of the reference bases.
+        "A String",
+      ],
+      "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+      "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+      "id": "A String", # The Google generated ID of the variant, immutable.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/genomics_v1beta2.variantsets.html b/docs/dyn/genomics_v1beta2.variantsets.html
new file mode 100644
index 0000000..56df3eb
--- /dev/null
+++ b/docs/dyn/genomics_v1beta2.variantsets.html
@@ -0,0 +1,450 @@
+<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="genomics_v1beta2.html">Genomics API</a> . <a href="genomics_v1beta2.variantsets.html">variantsets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(variantSetId)</a></code></p>
+<p class="firstline">Deletes the contents of a variant set. The variant set object is not deleted.</p>
+<p class="toc_element">
+  <code><a href="#export">export(variantSetId, body)</a></code></p>
+<p class="firstline">Exports variant set data to an external destination.</p>
+<p class="toc_element">
+  <code><a href="#get">get(variantSetId)</a></code></p>
+<p class="firstline">Gets a variant set by ID.</p>
+<p class="toc_element">
+  <code><a href="#importVariants">importVariants(variantSetId, body)</a></code></p>
+<p class="firstline">Creates variant data by asynchronously importing the provided information.</p>
+<p class="toc_element">
+  <code><a href="#mergeVariants">mergeVariants(variantSetId, body)</a></code></p>
+<p class="firstline">Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(variantSetId, body)</a></code></p>
+<p class="firstline">Updates a variant set's metadata. All other modifications are silently ignored. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Returns a list of all variant sets matching search criteria.</p>
+<p class="toc_element">
+  <code><a href="#update">update(variantSetId, body)</a></code></p>
+<p class="firstline">Updates a variant set's metadata. All other modifications are silently ignored.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(variantSetId)</code>
+  <pre>Deletes the contents of a variant set. The variant set object is not deleted.
+
+Args:
+  variantSetId: string, The ID of the variant set to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="export">export(variantSetId, body)</code>
+  <pre>Exports variant set data to an external destination.
+
+Args:
+  variantSetId: string, Required. The ID of the variant set that contains variant data which should be exported. The caller must have READ access to this variant set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The variant data export request.
+    "bigqueryDataset": "A String", # The BigQuery dataset to export data to. Note that this is distinct from the Genomics concept of "dataset".
+    "format": "A String", # The format for the exported data.
+    "callSetIds": [ # If provided, only variant call information from the specified call sets will be exported. By default all variant calls are exported.
+      "A String",
+    ],
+    "projectNumber": "A String", # The Google Cloud project number that owns the destination BigQuery dataset. The caller must have WRITE access to this project. This project will also own the resulting export job.
+    "bigqueryTable": "A String", # The BigQuery table to export data to. If the table doesn't exist, it will be created. If it already exists, it will be overwritten.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The variant data export response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(variantSetId)</code>
+  <pre>Gets a variant set by ID.
+
+Args:
+  variantSetId: string, Required. The ID of the variant set. (required)
+
+Returns:
+  An object of the form:
+
+    { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+    "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+      { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+        "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+        "referenceName": "A String", # The reference the bound is associate with.
+      },
+    ],
+    "id": "A String", # The Google-generated ID of the variant set. Immutable.
+    "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+    "metadata": [ # The metadata associated with this variant set.
+      { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+        "info": { # Remaining structured metadata key-value pairs.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "description": "A String", # A textual description of this metadata.
+        "number": "A String", # The number of values that can be included in a field described by this metadata.
+        "value": "A String", # The value field for simple metadata
+        "key": "A String", # The top-level key.
+        "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+        "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="importVariants">importVariants(variantSetId, body)</code>
+  <pre>Creates variant data by asynchronously importing the provided information.
+
+The variants for import will be merged with any existing data and each other according to the behavior of mergeVariants. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.
+
+Args:
+  variantSetId: string, Required. The variant set to which variant data should be imported. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The variant data import request.
+    "sourceUris": [ # A list of URIs pointing at VCF files in Google Cloud Storage. See the VCF Specification for more details on the input format.
+      "A String",
+    ],
+    "format": "A String", # The format of the variant data being imported.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The variant data import response.
+    "jobId": "A String", # A job ID that can be used to get status information.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="mergeVariants">mergeVariants(variantSetId, body)</code>
+  <pre>Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created.
+
+When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded.
+
+Args:
+  variantSetId: string, The destination variant set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "variants": [ # The variants to be merged with existing variants.
+      { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+          "info": { # A map of additional variant information.
+            "a_key": [ # A string which maps to an array of values.
+              "A String",
+            ],
+          },
+          "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+          "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+          "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+            { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+              "info": { # A map of additional variant call information.
+                "a_key": [ # A string which maps to an array of values.
+                  "A String",
+                ],
+              },
+              "genotype": [ # The genotype of this variant call. Each value represents either the value of the referenceBases field or a 1-based index into alternateBases. If a variant had a referenceBases value of T and an alternateBases value of ["A", "C"], and the genotype was [2, 1], that would mean the call represented the heterozygous value CA for this variant. If the genotype was instead [0, 1], the represented value would be TA. Ordering of the genotype values is important if the phaseset is present. If a genotype is not called (that is, a . is present in the GT string) -1 is returned.
+                42,
+              ],
+              "callSetId": "A String", # The ID of the call set this variant call belongs to.
+              "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to *.
+              "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in info.
+                3.14,
+              ],
+              "callSetName": "A String", # The name of the call set this variant call belongs to.
+            },
+          ],
+          "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+          "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+          "filter": [ # A list of filters (normally quality filters) this variant has failed. PASS indicates this variant has passed all filters.
+            "A String",
+          ],
+          "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+          "names": [ # Names for the variant, for example a RefSNP ID.
+            "A String",
+          ],
+          "alternateBases": [ # The bases that appear instead of the reference bases.
+            "A String",
+          ],
+          "referenceName": "A String", # The reference on which this variant occurs. (such as chr20 or X)
+          "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+          "id": "A String", # The Google generated ID of the variant, immutable.
+        },
+    ],
+  }
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(variantSetId, body)</code>
+  <pre>Updates a variant set's metadata. All other modifications are silently ignored. This method supports patch semantics.
+
+Args:
+  variantSetId: string, The ID of the variant to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+  "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+    { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+      "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+      "referenceName": "A String", # The reference the bound is associate with.
+    },
+  ],
+  "id": "A String", # The Google-generated ID of the variant set. Immutable.
+  "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+  "metadata": [ # The metadata associated with this variant set.
+    { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+      "info": { # Remaining structured metadata key-value pairs.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "description": "A String", # A textual description of this metadata.
+      "number": "A String", # The number of values that can be included in a field described by this metadata.
+      "value": "A String", # The value field for simple metadata
+      "key": "A String", # The top-level key.
+      "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+      "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+    },
+  ],
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+    "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+      { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+        "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+        "referenceName": "A String", # The reference the bound is associate with.
+      },
+    ],
+    "id": "A String", # The Google-generated ID of the variant set. Immutable.
+    "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+    "metadata": [ # The metadata associated with this variant set.
+      { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+        "info": { # Remaining structured metadata key-value pairs.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "description": "A String", # A textual description of this metadata.
+        "number": "A String", # The number of values that can be included in a field described by this metadata.
+        "value": "A String", # The value field for simple metadata
+        "key": "A String", # The top-level key.
+        "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+        "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Returns a list of all variant sets matching search criteria.
+
+Implements GlobalAllianceApi.searchVariantSets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The search variant sets request.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+    "datasetIds": [ # Exactly one dataset ID must be provided here. Only variant sets which belong to this dataset will be returned.
+      "A String",
+    ],
+    "pageSize": 42, # The maximum number of variant sets to return in a request.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The search variant sets response.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "variantSets": [ # The variant sets belonging to the requested dataset.
+      { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+        "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+          { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+            "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+            "referenceName": "A String", # The reference the bound is associate with.
+          },
+        ],
+        "id": "A String", # The Google-generated ID of the variant set. Immutable.
+        "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+        "metadata": [ # The metadata associated with this variant set.
+          { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+            "info": { # Remaining structured metadata key-value pairs.
+              "a_key": [ # A string which maps to an array of values.
+                "A String",
+              ],
+            },
+            "description": "A String", # A textual description of this metadata.
+            "number": "A String", # The number of values that can be included in a field described by this metadata.
+            "value": "A String", # The value field for simple metadata
+            "key": "A String", # The top-level key.
+            "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+            "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(variantSetId, body)</code>
+  <pre>Updates a variant set's metadata. All other modifications are silently ignored.
+
+Args:
+  variantSetId: string, The ID of the variant to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+  "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+    { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+      "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+      "referenceName": "A String", # The reference the bound is associate with.
+    },
+  ],
+  "id": "A String", # The Google-generated ID of the variant set. Immutable.
+  "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+  "metadata": [ # The metadata associated with this variant set.
+    { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+      "info": { # Remaining structured metadata key-value pairs.
+        "a_key": [ # A string which maps to an array of values.
+          "A String",
+        ],
+      },
+      "description": "A String", # A textual description of this metadata.
+      "number": "A String", # The number of values that can be included in a field described by this metadata.
+      "value": "A String", # The value field for simple metadata
+      "key": "A String", # The top-level key.
+      "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+      "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+    },
+  ],
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
+    "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
+      { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
+        "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
+        "referenceName": "A String", # The reference the bound is associate with.
+      },
+    ],
+    "id": "A String", # The Google-generated ID of the variant set. Immutable.
+    "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+    "metadata": [ # The metadata associated with this variant set.
+      { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
+        "info": { # Remaining structured metadata key-value pairs.
+          "a_key": [ # A string which maps to an array of values.
+            "A String",
+          ],
+        },
+        "description": "A String", # A textual description of this metadata.
+        "number": "A String", # The number of values that can be included in a field described by this metadata.
+        "value": "A String", # The value field for simple metadata
+        "key": "A String", # The top-level key.
+        "type": "A String", # The type of data. Possible types include: Integer, Float, Flag, Character, and String.
+        "id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gmail_v1.users.drafts.html b/docs/dyn/gmail_v1.users.drafts.html
index a63aaee..52f481b 100644
--- a/docs/dyn/gmail_v1.users.drafts.html
+++ b/docs/dyn/gmail_v1.users.drafts.html
@@ -128,7 +128,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -170,7 +170,7 @@
         ],
       },
       "snippet": "A String", # A short part of the message text.
-      "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+      "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
       "sizeEstimate": 42, # Estimated size in bytes of the message.
       "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
           # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -235,7 +235,7 @@
         ],
       },
       "snippet": "A String", # A short part of the message text.
-      "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+      "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
       "sizeEstimate": 42, # Estimated size in bytes of the message.
       "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
           # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -289,7 +289,7 @@
             ],
           },
           "snippet": "A String", # A short part of the message text.
-          "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+          "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
           "sizeEstimate": 42, # Estimated size in bytes of the message.
           "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
               # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -352,7 +352,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -393,7 +393,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -439,7 +439,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -481,7 +481,7 @@
         ],
       },
       "snippet": "A String", # A short part of the message text.
-      "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+      "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
       "sizeEstimate": 42, # Estimated size in bytes of the message.
       "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
           # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
diff --git a/docs/dyn/gmail_v1.users.history.html b/docs/dyn/gmail_v1.users.history.html
index c86e46f..6cd3932 100644
--- a/docs/dyn/gmail_v1.users.history.html
+++ b/docs/dyn/gmail_v1.users.history.html
@@ -98,9 +98,49 @@
     {
     "nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
     "historyId": "A String", # The ID of the mailbox's current history record.
-    "history": [ # List of history records.
-      { # A record of a change to the user's mailbox. Each history contains a list of the messages that were affected by this change.
-        "messages": [ # The messages that changed in this history record.
+    "history": [ # List of history records. Any messages contained in the response will typically only have id and threadId fields populated.
+      { # A record of a change to the user's mailbox. Each history change may affect multiple messages in multiple ways.
+        "labelsAdded": [ # Labels added to messages in this history record.
+          {
+            "labelIds": [ # Label IDs added to the message.
+              "A String",
+            ],
+            "message": { # An email message.
+              "historyId": "A String", # The ID of the last history record that modified this message.
+              "payload": { # A single MIME message part. # The parsed email structure in the message parts.
+                "body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
+                  "data": "A String", # The body data of a MIME message part. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
+                  "attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate messages.attachments.get request. When not present, the entire content of the message part body is contained in the data field.
+                  "size": 42, # Total number of bytes in the body of the message part.
+                },
+                "mimeType": "A String", # The MIME type of the message part.
+                "partId": "A String", # The immutable ID of the message part.
+                "filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
+                "headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as To, From, and Subject.
+                  {
+                    "name": "A String", # The name of the header before the : separator. For example, To.
+                    "value": "A String", # The value of the header after the : separator. For example, someuser@example.com.
+                  },
+                ],
+                "parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example multipart/*. For non- container MIME message part types, such as text/plain, this field is empty. For more information, see RFC 1521.
+                  # Object with schema name: MessagePart
+                ],
+              },
+              "snippet": "A String", # A short part of the message text.
+              "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+              "sizeEstimate": 42, # Estimated size in bytes of the message.
+              "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
+                  # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
+                  # - The References and In-Reply-To headers must be set in compliance with the RFC 2822 standard.
+                  # - The Subject headers must match.
+              "labelIds": [ # List of IDs of labels applied to this message.
+                "A String",
+              ],
+              "id": "A String", # The immutable ID of the message.
+            },
+          },
+        ],
+        "messages": [ # List of messages changed in this history record. The fields for specific change types, such as messagesAdded may duplicate messages in this field. We recommend using the specific change-type fields instead of this.
           { # An email message.
             "historyId": "A String", # The ID of the last history record that modified this message.
             "payload": { # A single MIME message part. # The parsed email structure in the message parts.
@@ -123,7 +163,7 @@
               ],
             },
             "snippet": "A String", # A short part of the message text.
-            "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+            "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
             "sizeEstimate": 42, # Estimated size in bytes of the message.
             "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
                 # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -135,6 +175,120 @@
             "id": "A String", # The immutable ID of the message.
           },
         ],
+        "messagesAdded": [ # Messages added to the mailbox in this history record.
+          {
+            "message": { # An email message.
+              "historyId": "A String", # The ID of the last history record that modified this message.
+              "payload": { # A single MIME message part. # The parsed email structure in the message parts.
+                "body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
+                  "data": "A String", # The body data of a MIME message part. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
+                  "attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate messages.attachments.get request. When not present, the entire content of the message part body is contained in the data field.
+                  "size": 42, # Total number of bytes in the body of the message part.
+                },
+                "mimeType": "A String", # The MIME type of the message part.
+                "partId": "A String", # The immutable ID of the message part.
+                "filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
+                "headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as To, From, and Subject.
+                  {
+                    "name": "A String", # The name of the header before the : separator. For example, To.
+                    "value": "A String", # The value of the header after the : separator. For example, someuser@example.com.
+                  },
+                ],
+                "parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example multipart/*. For non- container MIME message part types, such as text/plain, this field is empty. For more information, see RFC 1521.
+                  # Object with schema name: MessagePart
+                ],
+              },
+              "snippet": "A String", # A short part of the message text.
+              "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+              "sizeEstimate": 42, # Estimated size in bytes of the message.
+              "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
+                  # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
+                  # - The References and In-Reply-To headers must be set in compliance with the RFC 2822 standard.
+                  # - The Subject headers must match.
+              "labelIds": [ # List of IDs of labels applied to this message.
+                "A String",
+              ],
+              "id": "A String", # The immutable ID of the message.
+            },
+          },
+        ],
+        "labelsRemoved": [ # Labels removed from messages in this history record.
+          {
+            "labelIds": [ # Label IDs removed from the message.
+              "A String",
+            ],
+            "message": { # An email message.
+              "historyId": "A String", # The ID of the last history record that modified this message.
+              "payload": { # A single MIME message part. # The parsed email structure in the message parts.
+                "body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
+                  "data": "A String", # The body data of a MIME message part. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
+                  "attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate messages.attachments.get request. When not present, the entire content of the message part body is contained in the data field.
+                  "size": 42, # Total number of bytes in the body of the message part.
+                },
+                "mimeType": "A String", # The MIME type of the message part.
+                "partId": "A String", # The immutable ID of the message part.
+                "filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
+                "headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as To, From, and Subject.
+                  {
+                    "name": "A String", # The name of the header before the : separator. For example, To.
+                    "value": "A String", # The value of the header after the : separator. For example, someuser@example.com.
+                  },
+                ],
+                "parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example multipart/*. For non- container MIME message part types, such as text/plain, this field is empty. For more information, see RFC 1521.
+                  # Object with schema name: MessagePart
+                ],
+              },
+              "snippet": "A String", # A short part of the message text.
+              "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+              "sizeEstimate": 42, # Estimated size in bytes of the message.
+              "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
+                  # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
+                  # - The References and In-Reply-To headers must be set in compliance with the RFC 2822 standard.
+                  # - The Subject headers must match.
+              "labelIds": [ # List of IDs of labels applied to this message.
+                "A String",
+              ],
+              "id": "A String", # The immutable ID of the message.
+            },
+          },
+        ],
+        "messagesDeleted": [ # Messages deleted (not Trashed) from the mailbox in this history record.
+          {
+            "message": { # An email message.
+              "historyId": "A String", # The ID of the last history record that modified this message.
+              "payload": { # A single MIME message part. # The parsed email structure in the message parts.
+                "body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
+                  "data": "A String", # The body data of a MIME message part. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
+                  "attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate messages.attachments.get request. When not present, the entire content of the message part body is contained in the data field.
+                  "size": 42, # Total number of bytes in the body of the message part.
+                },
+                "mimeType": "A String", # The MIME type of the message part.
+                "partId": "A String", # The immutable ID of the message part.
+                "filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
+                "headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as To, From, and Subject.
+                  {
+                    "name": "A String", # The name of the header before the : separator. For example, To.
+                    "value": "A String", # The value of the header after the : separator. For example, someuser@example.com.
+                  },
+                ],
+                "parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example multipart/*. For non- container MIME message part types, such as text/plain, this field is empty. For more information, see RFC 1521.
+                  # Object with schema name: MessagePart
+                ],
+              },
+              "snippet": "A String", # A short part of the message text.
+              "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+              "sizeEstimate": 42, # Estimated size in bytes of the message.
+              "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
+                  # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
+                  # - The References and In-Reply-To headers must be set in compliance with the RFC 2822 standard.
+                  # - The Subject headers must match.
+              "labelIds": [ # List of IDs of labels applied to this message.
+                "A String",
+              ],
+              "id": "A String", # The immutable ID of the message.
+            },
+          },
+        ],
         "id": "A String", # The mailbox sequence ID.
       },
     ],
diff --git a/docs/dyn/gmail_v1.users.messages.html b/docs/dyn/gmail_v1.users.messages.html
index c8b8d1a..e2b224c 100644
--- a/docs/dyn/gmail_v1.users.messages.html
+++ b/docs/dyn/gmail_v1.users.messages.html
@@ -86,7 +86,7 @@
   <code><a href="#get">get(userId, id, format=None, metadataHeaders=None)</a></code></p>
 <p class="firstline">Gets the specified message.</p>
 <p class="toc_element">
-  <code><a href="#import_">import_(userId, body=None, media_body=None, internalDateSource=None)</a></code></p>
+  <code><a href="#import_">import_(userId, body=None, media_body=None, internalDateSource=None, neverMarkSpam=None, processForCalendar=None, deleted=None)</a></code></p>
 <p class="firstline">Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message.</p>
 <p class="toc_element">
   <code><a href="#insert">insert(userId, body=None, media_body=None, internalDateSource=None)</a></code></p>
@@ -160,7 +160,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -174,7 +174,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="import_">import_(userId, body=None, media_body=None, internalDateSource=None)</code>
+    <code class="details" id="import_">import_(userId, body=None, media_body=None, internalDateSource=None, neverMarkSpam=None, processForCalendar=None, deleted=None)</code>
   <pre>Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message.
 
 Args:
@@ -204,7 +204,7 @@
     ],
   },
   "snippet": "A String", # A short part of the message text.
-  "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+  "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
   "sizeEstimate": 42, # Estimated size in bytes of the message.
   "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
       # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -221,6 +221,9 @@
     Allowed values
       dateHeader - 
       receivedTime - 
+  neverMarkSpam: boolean, Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox.
+  processForCalendar: boolean, Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user.
+  deleted: boolean, Mark the email as permanently deleted (not TRASH) and only visible in Google Apps Vault to a Vault administrator. Only used for Google Apps for Work accounts.
 
 Returns:
   An object of the form:
@@ -247,7 +250,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -291,7 +294,7 @@
     ],
   },
   "snippet": "A String", # A short part of the message text.
-  "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+  "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
   "sizeEstimate": 42, # Estimated size in bytes of the message.
   "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
       # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -334,7 +337,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -388,7 +391,7 @@
           ],
         },
         "snippet": "A String", # A short part of the message text.
-        "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
         "sizeEstimate": 42, # Estimated size in bytes of the message.
         "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
             # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -462,7 +465,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -506,7 +509,7 @@
     ],
   },
   "snippet": "A String", # A short part of the message text.
-  "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+  "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
   "sizeEstimate": 42, # Estimated size in bytes of the message.
   "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
       # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -545,7 +548,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -591,7 +594,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -637,7 +640,7 @@
       ],
     },
     "snippet": "A String", # A short part of the message text.
-    "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+    "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
     "sizeEstimate": 42, # Estimated size in bytes of the message.
     "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
         # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
diff --git a/docs/dyn/gmail_v1.users.threads.html b/docs/dyn/gmail_v1.users.threads.html
index aaecfb6..b748a07 100644
--- a/docs/dyn/gmail_v1.users.threads.html
+++ b/docs/dyn/gmail_v1.users.threads.html
@@ -78,7 +78,7 @@
   <code><a href="#delete">delete(userId, id)</a></code></p>
 <p class="firstline">Immediately and permanently deletes the specified thread. This operation cannot be undone. Prefer threads.trash instead.</p>
 <p class="toc_element">
-  <code><a href="#get">get(userId, id)</a></code></p>
+  <code><a href="#get">get(userId, id, format=None, metadataHeaders=None)</a></code></p>
 <p class="firstline">Gets the specified thread.</p>
 <p class="toc_element">
   <code><a href="#list">list(userId, labelIds=None, q=None, pageToken=None, maxResults=None, includeSpamTrash=None)</a></code></p>
@@ -107,12 +107,18 @@
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(userId, id)</code>
+    <code class="details" id="get">get(userId, id, format=None, metadataHeaders=None)</code>
   <pre>Gets the specified thread.
 
 Args:
   userId: string, The user's email address. The special value me can be used to indicate the authenticated user. (required)
   id: string, The ID of the thread to retrieve. (required)
+  format: string, The format to return the messages in.
+    Allowed values
+      full - 
+      metadata - 
+      minimal - 
+  metadataHeaders: string, When given and format is METADATA, only include headers specified. (repeated)
 
 Returns:
   An object of the form:
@@ -142,7 +148,7 @@
           ],
         },
         "snippet": "A String", # A short part of the message text.
-        "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
         "sizeEstimate": 42, # Estimated size in bytes of the message.
         "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
             # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -203,7 +209,7 @@
               ],
             },
             "snippet": "A String", # A short part of the message text.
-            "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+            "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
             "sizeEstimate": 42, # Estimated size in bytes of the message.
             "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
                 # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -284,7 +290,7 @@
           ],
         },
         "snippet": "A String", # A short part of the message text.
-        "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
         "sizeEstimate": 42, # Estimated size in bytes of the message.
         "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
             # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -337,7 +343,7 @@
           ],
         },
         "snippet": "A String", # A short part of the message text.
-        "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
         "sizeEstimate": 42, # Estimated size in bytes of the message.
         "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
             # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
@@ -390,7 +396,7 @@
           ],
         },
         "snippet": "A String", # A short part of the message text.
-        "raw": "A String", # The entire email message in an RFC 2822 formatted and URL-safe base64 encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
+        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in messages.get and drafts.get responses when the format=RAW parameter is supplied.
         "sizeEstimate": 42, # Estimated size in bytes of the message.
         "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met:
             # - The requested threadId must be specified on the Message or Draft.Message you supply with your request.
diff --git a/docs/dyn/mapsengine_v1.layers.html b/docs/dyn/mapsengine_v1.layers.html
index a41fe23..cc1403a 100644
--- a/docs/dyn/mapsengine_v1.layers.html
+++ b/docs/dyn/mapsengine_v1.layers.html
@@ -203,6 +203,18 @@
             "opacity": 3.14, # Opacity of the border.
             "width": 3.14, # Width of the border, in pixels.
           },
+          "label": { # Text label style. # Label style for the polygon.
+            "opacity": 3.14, # Opacity of the text.
+            "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+            "outline": { # Basic color used in styling. # Outline color of the text.
+              "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+              "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+            },
+            "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+            "color": "A String", # Color of the text. If not provided, default to black.
+            "column": "A String", # The column value of the feature to be displayed.
+            "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+          },
           "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
             "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
             "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
@@ -340,6 +352,18 @@
               "opacity": 3.14, # Opacity of the border.
               "width": 3.14, # Width of the border, in pixels.
             },
+            "label": { # Text label style. # Label style for the polygon.
+              "opacity": 3.14, # Opacity of the text.
+              "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+              "outline": { # Basic color used in styling. # Outline color of the text.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+              "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+              "color": "A String", # Color of the text. If not provided, default to black.
+              "column": "A String", # The column value of the feature to be displayed.
+              "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+            },
             "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
               "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
               "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
@@ -496,6 +520,18 @@
               "opacity": 3.14, # Opacity of the border.
               "width": 3.14, # Width of the border, in pixels.
             },
+            "label": { # Text label style. # Label style for the polygon.
+              "opacity": 3.14, # Opacity of the text.
+              "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+              "outline": { # Basic color used in styling. # Outline color of the text.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+              "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+              "color": "A String", # Color of the text. If not provided, default to black.
+              "column": "A String", # The column value of the feature to be displayed.
+              "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+            },
             "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
               "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
               "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
@@ -682,6 +718,18 @@
                   "opacity": 3.14, # Opacity of the border.
                   "width": 3.14, # Width of the border, in pixels.
                 },
+                "label": { # Text label style. # Label style for the polygon.
+                  "opacity": 3.14, # Opacity of the text.
+                  "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                  "outline": { # Basic color used in styling. # Outline color of the text.
+                    "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                    "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                  },
+                  "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                  "color": "A String", # Color of the text. If not provided, default to black.
+                  "column": "A String", # The column value of the feature to be displayed.
+                  "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+                },
                 "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
                   "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
                   "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
@@ -881,6 +929,18 @@
             "opacity": 3.14, # Opacity of the border.
             "width": 3.14, # Width of the border, in pixels.
           },
+          "label": { # Text label style. # Label style for the polygon.
+            "opacity": 3.14, # Opacity of the text.
+            "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+            "outline": { # Basic color used in styling. # Outline color of the text.
+              "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+              "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+            },
+            "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+            "color": "A String", # Color of the text. If not provided, default to black.
+            "column": "A String", # The column value of the feature to be displayed.
+            "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+          },
           "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
             "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
             "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
diff --git a/docs/dyn/oauth2_v2.html b/docs/dyn/oauth2_v2.html
index 8c22fe5..f56acb7 100644
--- a/docs/dyn/oauth2_v2.html
+++ b/docs/dyn/oauth2_v2.html
@@ -80,10 +80,36 @@
 <p class="firstline">Returns the userinfo Resource.</p>
 
 <p class="toc_element">
+  <code><a href="#getCertForOpenIdConnect">getCertForOpenIdConnect()</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<p class="toc_element">
   <code><a href="#tokeninfo">tokeninfo(access_token=None, id_token=None)</a></code></p>
 <p class="firstline">A description of how to use this function</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="getCertForOpenIdConnect">getCertForOpenIdConnect()</code>
+  <pre>A description of how to use this function
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "keys": [
+      {
+        "use": "sig",
+        "e": "A String",
+        "kty": "RSA",
+        "alg": "RS256",
+        "n": "A String",
+        "kid": "A String",
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="tokeninfo">tokeninfo(access_token=None, id_token=None)</code>
   <pre>A description of how to use this function
 
diff --git a/docs/dyn/pagespeedonline_v2.html b/docs/dyn/pagespeedonline_v2.html
new file mode 100644
index 0000000..d4cd497
--- /dev/null
+++ b/docs/dyn/pagespeedonline_v2.html
@@ -0,0 +1,82 @@
+<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="pagespeedonline_v2.html">PageSpeed Insights API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="pagespeedonline_v2.pagespeedapi.html">pagespeedapi()</a></code>
+</p>
+<p class="firstline">Returns the pagespeedapi Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v2.pagespeedapi.html b/docs/dyn/pagespeedonline_v2.pagespeedapi.html
new file mode 100644
index 0000000..0e3359f
--- /dev/null
+++ b/docs/dyn/pagespeedonline_v2.pagespeedapi.html
@@ -0,0 +1,273 @@
+<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="pagespeedonline_v2.html">PageSpeed Insights API</a> . <a href="pagespeedonline_v2.pagespeedapi.html">pagespeedapi</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</a></code></p>
+<p class="firstline">Runs PageSpeed analysis on the page at the specified URL, and returns PageSpeed scores, a list of suggestions to make that page faster, and other information.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</code>
+  <pre>Runs PageSpeed analysis on the page at the specified URL, and returns PageSpeed scores, a list of suggestions to make that page faster, and other information.
+
+Args:
+  url: string, The URL to fetch and analyze (required)
+  screenshot: boolean, Indicates if binary data containing a screenshot should be included
+  locale: string, The locale used to localize formatted results
+  rule: string, A PageSpeed rule to run; if none are given, all rules are run (repeated)
+  strategy: string, The analysis strategy to use
+    Allowed values
+      desktop - Fetch and analyze the URL for desktop browsers
+      mobile - Fetch and analyze the URL for mobile devices
+  filter_third_party_resources: boolean, Indicates if third party resources should be filtered out before PageSpeed analysis.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "pagespeedonline#result", # Kind of result.
+    "formattedResults": { # Localized PageSpeed results. Contains a ruleResults entry for each PageSpeed rule instantiated and run by the server.
+      "locale": "A String", # The locale of the formattedResults, e.g. "en_US".
+      "ruleResults": { # Dictionary of formatted rule results, with one entry for each PageSpeed rule instantiated and run by the server.
+        "a_key": { # The enum-like identifier for this rule. For instance "EnableKeepAlive" or "AvoidCssImport". Not localized.
+          "localizedRuleName": "A String", # Localized name of the rule, intended for presentation to a user.
+          "urlBlocks": [ # List of blocks of URLs. Each block may contain a heading and a list of URLs. Each URL may optionally include additional details.
+            {
+              "header": { # Heading to be displayed with the list of URLs.
+                "args": [ # List of arguments for the format string.
+                  {
+                    "rects": [ # The screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments. If this is absent for a SNAPSHOT_RECT argument, it means that that argument refers to the entire snapshot.
+                      {
+                        "width": 42, # The width of the rect.
+                        "top": 42, # The top coordinate of the rect, in page coordinates.
+                        "left": 42, # The left coordinate of the rect, in page coordinates.
+                        "height": 42, # The height of the rect.
+                      },
+                    ],
+                    "value": "A String", # Argument value, as a localized string.
+                    "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK, or SNAPSHOT_RECT.
+                    "secondary_rects": [ # Secondary screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments.
+                      {
+                        "width": 42, # The width of the rect.
+                        "top": 42, # The top coordinate of the rect, in page coordinates.
+                        "left": 42, # The left coordinate of the rect, in page coordinates.
+                        "height": 42, # The height of the rect.
+                      },
+                    ],
+                    "key": "A String", # The placeholder key for this arg, as a string.
+                  },
+                ],
+                "format": "A String", # A localized format string with {{FOO}} placeholders, where 'FOO' is the key of the argument whose value should be substituted. For HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} and {{END_FOO}} for the argument with key 'FOO'.
+              },
+              "urls": [ # List of entries that provide information about URLs in the url block. Optional.
+                {
+                  "details": [ # List of entries that provide additional details about a single URL. Optional.
+                    {
+                      "args": [ # List of arguments for the format string.
+                        {
+                          "rects": [ # The screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments. If this is absent for a SNAPSHOT_RECT argument, it means that that argument refers to the entire snapshot.
+                            {
+                              "width": 42, # The width of the rect.
+                              "top": 42, # The top coordinate of the rect, in page coordinates.
+                              "left": 42, # The left coordinate of the rect, in page coordinates.
+                              "height": 42, # The height of the rect.
+                            },
+                          ],
+                          "value": "A String", # Argument value, as a localized string.
+                          "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK, or SNAPSHOT_RECT.
+                          "secondary_rects": [ # Secondary screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments.
+                            {
+                              "width": 42, # The width of the rect.
+                              "top": 42, # The top coordinate of the rect, in page coordinates.
+                              "left": 42, # The left coordinate of the rect, in page coordinates.
+                              "height": 42, # The height of the rect.
+                            },
+                          ],
+                          "key": "A String", # The placeholder key for this arg, as a string.
+                        },
+                      ],
+                      "format": "A String", # A localized format string with {{FOO}} placeholders, where 'FOO' is the key of the argument whose value should be substituted. For HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} and {{END_FOO}} for the argument with key 'FOO'.
+                    },
+                  ],
+                  "result": { # A format string that gives information about the URL, and a list of arguments for that format string.
+                    "args": [ # List of arguments for the format string.
+                      {
+                        "rects": [ # The screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments. If this is absent for a SNAPSHOT_RECT argument, it means that that argument refers to the entire snapshot.
+                          {
+                            "width": 42, # The width of the rect.
+                            "top": 42, # The top coordinate of the rect, in page coordinates.
+                            "left": 42, # The left coordinate of the rect, in page coordinates.
+                            "height": 42, # The height of the rect.
+                          },
+                        ],
+                        "value": "A String", # Argument value, as a localized string.
+                        "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK, or SNAPSHOT_RECT.
+                        "secondary_rects": [ # Secondary screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments.
+                          {
+                            "width": 42, # The width of the rect.
+                            "top": 42, # The top coordinate of the rect, in page coordinates.
+                            "left": 42, # The left coordinate of the rect, in page coordinates.
+                            "height": 42, # The height of the rect.
+                          },
+                        ],
+                        "key": "A String", # The placeholder key for this arg, as a string.
+                      },
+                    ],
+                    "format": "A String", # A localized format string with {{FOO}} placeholders, where 'FOO' is the key of the argument whose value should be substituted. For HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} and {{END_FOO}} for the argument with key 'FOO'.
+                  },
+                },
+              ],
+            },
+          ],
+          "ruleImpact": 3.14, # The impact (unbounded floating point value) that implementing the suggestions for this rule would have on making the page faster. Impact is comparable between rules to determine which rule's suggestions would have a higher or lower impact on making a page faster. For instance, if enabling compression would save 1MB, while optimizing images would save 500kB, the enable compression rule would have 2x the impact of the image optimization rule, all other things being equal.
+          "groups": [ # List of rule groups that this rule belongs to. Each entry in the list is one of "SPEED" or "USABILITY".
+            "A String",
+          ],
+          "summary": { # A brief summary description for the rule, indicating at a high level what should be done to follow the rule and what benefit can be gained by doing so.
+            "args": [ # List of arguments for the format string.
+              {
+                "rects": [ # The screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments. If this is absent for a SNAPSHOT_RECT argument, it means that that argument refers to the entire snapshot.
+                  {
+                    "width": 42, # The width of the rect.
+                    "top": 42, # The top coordinate of the rect, in page coordinates.
+                    "left": 42, # The left coordinate of the rect, in page coordinates.
+                    "height": 42, # The height of the rect.
+                  },
+                ],
+                "value": "A String", # Argument value, as a localized string.
+                "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK, or SNAPSHOT_RECT.
+                "secondary_rects": [ # Secondary screen rectangles being referred to, with dimensions measured in CSS pixels. This is only ever used for SNAPSHOT_RECT arguments.
+                  {
+                    "width": 42, # The width of the rect.
+                    "top": 42, # The top coordinate of the rect, in page coordinates.
+                    "left": 42, # The left coordinate of the rect, in page coordinates.
+                    "height": 42, # The height of the rect.
+                  },
+                ],
+                "key": "A String", # The placeholder key for this arg, as a string.
+              },
+            ],
+            "format": "A String", # A localized format string with {{FOO}} placeholders, where 'FOO' is the key of the argument whose value should be substituted. For HYPERLINK arguments, the format string will instead contain {{BEGIN_FOO}} and {{END_FOO}} for the argument with key 'FOO'.
+          },
+        },
+      },
+    },
+    "screenshot": { # Base64-encoded screenshot of the page that was analyzed.
+      "height": 42, # Height of screenshot in pixels.
+      "width": 42, # Width of screenshot in pixels.
+      "key": "A String", # Unique string key, if any, identifying this image.
+      "page_rect": { # The region of the page that is captured by this image, with dimensions measured in CSS pixels.
+        "width": 42, # The width of the rect.
+        "top": 42, # The top coordinate of the rect, in page coordinates.
+        "left": 42, # The left coordinate of the rect, in page coordinates.
+        "height": 42, # The height of the rect.
+      },
+      "data": "A String", # Image data base64 encoded.
+      "mime_type": "A String", # Mime type of image data (e.g. "image/jpeg").
+    },
+    "title": "A String", # Title of the page, as displayed in the browser's title bar.
+    "ruleGroups": { # A map with one entry for each rule group in these results.
+      "a_key": { # The name of this rule group: one of "SPEED" or "USABILITY".
+        "score": 42, # The score (0-100) for this rule group, which indicates how much better a page could be in that category (e.g. how much faster, or how much more usable). A high score indicates little room for improvement, while a lower score indicates more room for improvement.
+      },
+    },
+    "version": { # The version of PageSpeed used to generate these results.
+      "major": 42, # The major version number of PageSpeed used to generate these results.
+      "minor": 42, # The minor version number of PageSpeed used to generate these results.
+    },
+    "responseCode": 42, # Response code for the document. 200 indicates a normal page load. 4xx/5xx indicates an error.
+    "invalidRules": [ # List of rules that were specified in the request, but which the server did not know how to instantiate.
+      "A String",
+    ],
+    "pageStats": { # Summary statistics for the page, such as number of JavaScript bytes, number of HTML bytes, etc.
+      "otherResponseBytes": "A String", # Number of response bytes for other resources on the page.
+      "flashResponseBytes": "A String", # Number of response bytes for flash resources on the page.
+      "totalRequestBytes": "A String", # Total size of all request bytes sent by the page.
+      "numberCssResources": 42, # Number of CSS resources referenced by the page.
+      "numberResources": 42, # Number of HTTP resources loaded by the page.
+      "cssResponseBytes": "A String", # Number of uncompressed response bytes for CSS resources on the page.
+      "javascriptResponseBytes": "A String", # Number of uncompressed response bytes for JS resources on the page.
+      "imageResponseBytes": "A String", # Number of response bytes for image resources on the page.
+      "numberHosts": 42, # Number of unique hosts referenced by the page.
+      "numberStaticResources": 42, # Number of static (i.e. cacheable) resources on the page.
+      "htmlResponseBytes": "A String", # Number of uncompressed response bytes for the main HTML document and all iframes on the page.
+      "numberJsResources": 42, # Number of JavaScript resources referenced by the page.
+      "textResponseBytes": "A String", # Number of uncompressed response bytes for text resources not covered by other statistics (i.e non-HTML, non-script, non-CSS resources) on the page.
+    },
+    "id": "A String", # Canonicalized and final URL for the document, after following page redirects (if any).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta1.html b/docs/dyn/pubsub_v1beta1.html
index 15bd4ff..6f791c8 100644
--- a/docs/dyn/pubsub_v1beta1.html
+++ b/docs/dyn/pubsub_v1beta1.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="pubsub_v1beta1.html">Cloud Pub/Sub API</a></h1>
+<h1><a href="pubsub_v1beta1.html">Google Cloud Pub/Sub API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="pubsub_v1beta1.subscriptions.html">subscriptions()</a></code>
diff --git a/docs/dyn/pubsub_v1beta1.subscriptions.html b/docs/dyn/pubsub_v1beta1.subscriptions.html
index b7a118a..3261e3a 100644
--- a/docs/dyn/pubsub_v1beta1.subscriptions.html
+++ b/docs/dyn/pubsub_v1beta1.subscriptions.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="pubsub_v1beta1.html">Cloud Pub/Sub API</a> . <a href="pubsub_v1beta1.subscriptions.html">subscriptions</a></h1>
+<h1><a href="pubsub_v1beta1.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta1.subscriptions.html">subscriptions</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#acknowledge">acknowledge(body)</a></code></p>
@@ -97,10 +97,13 @@
 <p class="firstline">Modifies the Ack deadline for a message received from a pull request.</p>
 <p class="toc_element">
   <code><a href="#modifyPushConfig">modifyPushConfig(body)</a></code></p>
-<p class="firstline">Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an end point by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.</p>
+<p class="firstline">Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an endpoint by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.</p>
 <p class="toc_element">
   <code><a href="#pull">pull(body)</a></code></p>
 <p class="firstline">Pulls a single message from the server. If return_immediately is true, and no messages are available in the subscription, this method returns FAILED_PRECONDITION. The system is free to return an UNAVAILABLE error if no messages are available in a reasonable amount of time (to reduce system load).</p>
+<p class="toc_element">
+  <code><a href="#pullBatch">pullBatch(body)</a></code></p>
+<p class="firstline">Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The system is free to return UNAVAILABLE if there are too many pull requests outstanding for the given subscription.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="acknowledge">acknowledge(body)</code>
@@ -110,8 +113,8 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
-    "ackId": [ # The Ack ID for the message being acknowledged. This was returned by the Pub/Sub system in the Pull response.
+{ # Request for the Acknowledge method.
+    "ackId": [ # The acknowledgment ID for the message being acknowledged. This was returned by the Pub/Sub system in the Pull response.
       "A String",
     ],
     "subscription": "A String", # The subscription whose message is being acknowledged.
@@ -124,6 +127,8 @@
     <code class="details" id="create">create(body)</code>
   <pre>Creates a subscription on a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.
 
+If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.
+
 Args:
   body: object, The request body. (required)
     The object takes the form of:
@@ -204,7 +209,7 @@
 Returns:
   An object of the form:
 
-    {
+    { # Response for the ListSubscriptions method.
     "nextPageToken": "A String", # If not empty, indicates that there are more subscriptions that match the request and this value should be passed to the next ListSubscriptionsRequest to continue.
     "subscription": [ # The subscriptions that match the request.
       { # A subscription resource.
@@ -245,9 +250,9 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Request for the ModifyAckDeadline method.
     "ackDeadlineSeconds": 42, # The new Ack deadline. Must be >= 0.
-    "ackId": "A String", # The Ack ID.
+    "ackId": "A String", # The acknowledgment ID.
     "subscription": "A String", # The name of the subscription from which messages are being pulled.
   }
 
@@ -256,13 +261,13 @@
 
 <div class="method">
     <code class="details" id="modifyPushConfig">modifyPushConfig(body)</code>
-  <pre>Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an end point by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.
+  <pre>Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an endpoint by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.
 
 Args:
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Request for the ModifyPushConfig method.
     "pushConfig": { # Configuration for a push delivery endpoint. # An empty push_config indicates that the Pub/Sub system should pause pushing messages from the given subscription.
       "pushEndpoint": "A String", # A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push".
     },
@@ -280,7 +285,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
+{ # Request for the Pull method.
     "returnImmediately": True or False, # If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning FAILED_PRECONDITION. The client may cancel the request if it does not wish to wait any longer for the response.
     "subscription": "A String", # The subscription from which a message should be pulled.
   }
@@ -293,6 +298,7 @@
     "pubsubEvent": { # An event indicating a received message or truncation event. # A pubsub message or truncation event.
       "deleted": True or False, # Indicates that this subscription has been deleted. (Note that pull subscribers will always receive NOT_FOUND in response in their pull request on the subscription, rather than seeing this boolean.)
       "message": { # A message data and its labels. # A received message.
+        "messageId": "A String", # ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.
         "data": "A String", # The message payload.
         "label": [ # Optional list of labels for this message. Keys in this collection must be unique.
           { # A key-value pair applied to a given object.
@@ -317,4 +323,55 @@
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="pullBatch">pullBatch(body)</code>
+  <pre>Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The system is free to return UNAVAILABLE if there are too many pull requests outstanding for the given subscription.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request for the PullBatch method.
+    "maxEvents": 42, # The maximum number of PubsubEvents returned for this request. The Pub/Sub system may return fewer than the number of events specified.
+    "returnImmediately": True or False, # If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response.
+    "subscription": "A String", # The subscription from which messages should be pulled.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response for the PullBatch method.
+    "pullResponses": [ # Received Pub/Sub messages or status events. The Pub/Sub system will return zero messages if there are no more messages available in the backlog. The Pub/Sub system may return fewer than the max_events requested even if there are more messages available in the backlog.
+      { # Either a PubsubMessage or a truncation event. One of these two must be populated.
+        "pubsubEvent": { # An event indicating a received message or truncation event. # A pubsub message or truncation event.
+          "deleted": True or False, # Indicates that this subscription has been deleted. (Note that pull subscribers will always receive NOT_FOUND in response in their pull request on the subscription, rather than seeing this boolean.)
+          "message": { # A message data and its labels. # A received message.
+            "messageId": "A String", # ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.
+            "data": "A String", # The message payload.
+            "label": [ # Optional list of labels for this message. Keys in this collection must be unique.
+              { # A key-value pair applied to a given object.
+                "numValue": "A String", # An integer value.
+                "strValue": "A String", # A string value.
+                "key": "A String", # The key of a label is a syntactically valid URL (as per RFC 1738) with the "scheme" and initial slashes omitted and with the additional restrictions noted below. Each key should be globally unique. The "host" portion is called the "namespace" and is not necessarily resolvable to a network endpoint. Instead, the namespace indicates what system or entity defines the semantics of the label. Namespaces do not restrict the set of objects to which a label may be associated.
+                    #
+                    # Keys are defined by the following grammar:
+                    #
+                    # key = hostname "/" kpath kpath = ksegment *[ "/" ksegment ] ksegment = alphadigit | *[ alphadigit | "-" | "_" | "." ]
+                    #
+                    # where "hostname" and "alphadigit" are defined as in RFC 1738.
+                    #
+                    # Example key: spanner.google.com/universe
+              },
+            ],
+          },
+          "truncated": True or False, # Indicates that this subscription has been truncated.
+          "subscription": "A String", # The subscription that received the event.
+        },
+        "ackId": "A String", # This ID must be used to acknowledge the received event or message.
+      },
+    ],
+  }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta1.topics.html b/docs/dyn/pubsub_v1beta1.topics.html
index 1a10346..5cb4e6e 100644
--- a/docs/dyn/pubsub_v1beta1.topics.html
+++ b/docs/dyn/pubsub_v1beta1.topics.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="pubsub_v1beta1.html">Cloud Pub/Sub API</a> . <a href="pubsub_v1beta1.topics.html">topics</a></h1>
+<h1><a href="pubsub_v1beta1.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta1.topics.html">topics</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#create">create(body)</a></code></p>
@@ -92,6 +92,9 @@
 <p class="toc_element">
   <code><a href="#publish">publish(body)</a></code></p>
 <p class="firstline">Adds a message to the topic. Returns NOT_FOUND if the topic does not exist.</p>
+<p class="toc_element">
+  <code><a href="#publishBatch">publishBatch(body)</a></code></p>
+<p class="firstline">Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="create">create(body)</code>
@@ -102,16 +105,16 @@
     The object takes the form of:
 
 { # A topic resource.
-    "name": "A String", # Name of the topic.
-  }
+  "name": "A String", # Name of the topic.
+}
 
 
 Returns:
   An object of the form:
 
     { # A topic resource.
-      "name": "A String", # Name of the topic.
-    }</pre>
+    "name": "A String", # Name of the topic.
+  }</pre>
 </div>
 
 <div class="method">
@@ -134,8 +137,8 @@
   An object of the form:
 
     { # A topic resource.
-      "name": "A String", # Name of the topic.
-    }</pre>
+    "name": "A String", # Name of the topic.
+  }</pre>
 </div>
 
 <div class="method">
@@ -150,12 +153,12 @@
 Returns:
   An object of the form:
 
-    {
+    { # Response for the ListTopics method.
     "nextPageToken": "A String", # If not empty, indicates that there are more topics that match the request, and this value should be passed to the next ListTopicsRequest to continue.
     "topic": [ # The resulting topics.
       { # A topic resource.
-          "name": "A String", # Name of the topic.
-        },
+        "name": "A String", # Name of the topic.
+      },
     ],
   }</pre>
 </div>
@@ -182,9 +185,10 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{
-    "topic": "A String", # The name of the topic for which the message is being added.
+{ # Request for the Publish method.
+    "topic": "A String", # The message in the request will be published on this topic.
     "message": { # A message data and its labels. # The message to publish.
+      "messageId": "A String", # ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.
       "data": "A String", # The message payload.
       "label": [ # Optional list of labels for this message. Keys in this collection must be unique.
         { # A key-value pair applied to a given object.
@@ -207,4 +211,48 @@
 </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="publishBatch">publishBatch(body)</code>
+  <pre>Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request for the PublishBatch method.
+    "topic": "A String", # The messages in the request will be published on this topic.
+    "messages": [ # The messages to publish.
+      { # A message data and its labels.
+        "messageId": "A String", # ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.
+        "data": "A String", # The message payload.
+        "label": [ # Optional list of labels for this message. Keys in this collection must be unique.
+          { # A key-value pair applied to a given object.
+            "numValue": "A String", # An integer value.
+            "strValue": "A String", # A string value.
+            "key": "A String", # The key of a label is a syntactically valid URL (as per RFC 1738) with the "scheme" and initial slashes omitted and with the additional restrictions noted below. Each key should be globally unique. The "host" portion is called the "namespace" and is not necessarily resolvable to a network endpoint. Instead, the namespace indicates what system or entity defines the semantics of the label. Namespaces do not restrict the set of objects to which a label may be associated.
+                #
+                # Keys are defined by the following grammar:
+                #
+                # key = hostname "/" kpath kpath = ksegment *[ "/" ksegment ] ksegment = alphadigit | *[ alphadigit | "-" | "_" | "." ]
+                #
+                # where "hostname" and "alphadigit" are defined as in RFC 1738.
+                #
+                # Example key: spanner.google.com/universe
+          },
+        ],
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response for the PublishBatch method.
+    "messageIds": [ # The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.
+      "A String",
+    ],
+  }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta2.html b/docs/dyn/pubsub_v1beta2.html
new file mode 100644
index 0000000..6543ae3
--- /dev/null
+++ b/docs/dyn/pubsub_v1beta2.html
@@ -0,0 +1,82 @@
+<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="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="pubsub_v1beta2.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta2.projects.html b/docs/dyn/pubsub_v1beta2.projects.html
new file mode 100644
index 0000000..bf6a315
--- /dev/null
+++ b/docs/dyn/pubsub_v1beta2.projects.html
@@ -0,0 +1,87 @@
+<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="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="pubsub_v1beta2.projects.subscriptions.html">subscriptions()</a></code>
+</p>
+<p class="firstline">Returns the subscriptions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="pubsub_v1beta2.projects.topics.html">topics()</a></code>
+</p>
+<p class="firstline">Returns the topics Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta2.projects.subscriptions.html b/docs/dyn/pubsub_v1beta2.projects.subscriptions.html
new file mode 100644
index 0000000..b6f7747
--- /dev/null
+++ b/docs/dyn/pubsub_v1beta2.projects.subscriptions.html
@@ -0,0 +1,329 @@
+<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="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.subscriptions.html">subscriptions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#acknowledge">acknowledge(subscription, body)</a></code></p>
+<p class="firstline">Acknowledges the messages associated with the ack tokens in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.</p>
+<p class="toc_element">
+  <code><a href="#create">create(name, body)</a></code></p>
+<p class="firstline">Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(subscription)</a></code></p>
+<p class="firstline">Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.</p>
+<p class="toc_element">
+  <code><a href="#get">get(subscription)</a></code></p>
+<p class="firstline">Gets the configuration details of a subscription.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageSize=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists matching subscriptions.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#modifyAckDeadline">modifyAckDeadline(subscription, body)</a></code></p>
+<p class="firstline">Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted.</p>
+<p class="toc_element">
+  <code><a href="#modifyPushConfig">modifyPushConfig(subscription, body)</a></code></p>
+<p class="firstline">Modifies the PushConfig for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.</p>
+<p class="toc_element">
+  <code><a href="#pull">pull(subscription, body)</a></code></p>
+<p class="firstline">Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return UNAVAILABLE if there are too many concurrent pull requests pending for the given subscription.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="acknowledge">acknowledge(subscription, body)</code>
+  <pre>Acknowledges the messages associated with the ack tokens in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.
+
+Args:
+  subscription: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "ackIds": [
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(name, body)</code>
+  <pre>Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.
+
+Args:
+  name: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "ackDeadlineSeconds": 42,
+  "topic": "A String",
+  "pushConfig": {
+    "attributes": {
+      "a_key": "A String",
+    },
+    "pushEndpoint": "A String",
+  },
+  "name": "A String",
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "ackDeadlineSeconds": 42,
+    "topic": "A String",
+    "pushConfig": {
+      "attributes": {
+        "a_key": "A String",
+      },
+      "pushEndpoint": "A String",
+    },
+    "name": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(subscription)</code>
+  <pre>Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.
+
+Args:
+  subscription: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(subscription)</code>
+  <pre>Gets the configuration details of a subscription.
+
+Args:
+  subscription: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "ackDeadlineSeconds": 42,
+    "topic": "A String",
+    "pushConfig": {
+      "attributes": {
+        "a_key": "A String",
+      },
+      "pushEndpoint": "A String",
+    },
+    "name": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageSize=None, pageToken=None)</code>
+  <pre>Lists matching subscriptions.
+
+Args:
+  project: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "subscriptions": [
+      {
+        "ackDeadlineSeconds": 42,
+        "topic": "A String",
+        "pushConfig": {
+          "attributes": {
+            "a_key": "A String",
+          },
+          "pushEndpoint": "A String",
+        },
+        "name": "A String",
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="modifyAckDeadline">modifyAckDeadline(subscription, body)</code>
+  <pre>Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted.
+
+Args:
+  subscription: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "ackDeadlineSeconds": 42,
+    "ackId": "A String",
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="modifyPushConfig">modifyPushConfig(subscription, body)</code>
+  <pre>Modifies the PushConfig for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.
+
+Args:
+  subscription: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "pushConfig": {
+      "attributes": {
+        "a_key": "A String",
+      },
+      "pushEndpoint": "A String",
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="pull">pull(subscription, body)</code>
+  <pre>Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return UNAVAILABLE if there are too many concurrent pull requests pending for the given subscription.
+
+Args:
+  subscription: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "returnImmediately": True or False,
+    "maxMessages": 42,
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "receivedMessages": [
+      {
+        "ackId": "A String",
+        "message": {
+          "attributes": {
+            "a_key": "A String",
+          },
+          "data": "A String",
+          "messageId": "A String",
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta2.projects.topics.html b/docs/dyn/pubsub_v1beta2.projects.topics.html
new file mode 100644
index 0000000..f74a90a
--- /dev/null
+++ b/docs/dyn/pubsub_v1beta2.projects.topics.html
@@ -0,0 +1,220 @@
+<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="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.topics.html">topics</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="pubsub_v1beta2.projects.topics.subscriptions.html">subscriptions()</a></code>
+</p>
+<p class="firstline">Returns the subscriptions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(name, body)</a></code></p>
+<p class="firstline">Creates the given topic with the given name.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(topic)</a></code></p>
+<p class="firstline">Deletes the topic with the given name. All subscriptions to this topic are detached from the topic. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions.</p>
+<p class="toc_element">
+  <code><a href="#get">get(topic)</a></code></p>
+<p class="firstline">Gets the configuration of a topic.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageSize=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists matching topics.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#publish">publish(topic, body)</a></code></p>
+<p class="firstline">Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(name, body)</code>
+  <pre>Creates the given topic with the given name.
+
+Args:
+  name: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "name": "A String",
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "name": "A String",
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(topic)</code>
+  <pre>Deletes the topic with the given name. All subscriptions to this topic are detached from the topic. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions.
+
+Args:
+  topic: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(topic)</code>
+  <pre>Gets the configuration of a topic.
+
+Args:
+  topic: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "name": "A String",
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageSize=None, pageToken=None)</code>
+  <pre>Lists matching topics.
+
+Args:
+  project: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "topics": [
+      {
+          "name": "A String",
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="publish">publish(topic, body)</code>
+  <pre>Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.
+
+Args:
+  topic: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "messages": [
+      {
+        "attributes": {
+          "a_key": "A String",
+        },
+        "data": "A String",
+        "messageId": "A String",
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "messageIds": [
+      "A String",
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pubsub_v1beta2.projects.topics.subscriptions.html b/docs/dyn/pubsub_v1beta2.projects.topics.subscriptions.html
new file mode 100644
index 0000000..94451ef
--- /dev/null
+++ b/docs/dyn/pubsub_v1beta2.projects.topics.subscriptions.html
@@ -0,0 +1,118 @@
+<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="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.topics.html">topics</a> . <a href="pubsub_v1beta2.projects.topics.subscriptions.html">subscriptions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(topic, pageSize=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists the name of the subscriptions for this topic.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(topic, pageSize=None, pageToken=None)</code>
+  <pre>Lists the name of the subscriptions for this topic.
+
+Args:
+  topic: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String",
+    "subscriptions": [
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapool_v1beta2.html b/docs/dyn/replicapool_v1beta2.html
new file mode 100644
index 0000000..d6675d9
--- /dev/null
+++ b/docs/dyn/replicapool_v1beta2.html
@@ -0,0 +1,87 @@
+<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="replicapool_v1beta2.html">Google Compute Engine Instance Group Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="replicapool_v1beta2.instanceGroupManagers.html">instanceGroupManagers()</a></code>
+</p>
+<p class="firstline">Returns the instanceGroupManagers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="replicapool_v1beta2.zoneOperations.html">zoneOperations()</a></code>
+</p>
+<p class="firstline">Returns the zoneOperations Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapool_v1beta2.instanceGroupManagers.html b/docs/dyn/replicapool_v1beta2.instanceGroupManagers.html
new file mode 100644
index 0000000..a2a3b33
--- /dev/null
+++ b/docs/dyn/replicapool_v1beta2.instanceGroupManagers.html
@@ -0,0 +1,723 @@
+<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="replicapool_v1beta2.html">Google Compute Engine Instance Group Manager API</a> . <a href="replicapool_v1beta2.instanceGroupManagers.html">instanceGroupManagers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#abandonInstances">abandonInstances(project, zone, instanceGroupManager, body)</a></code></p>
+<p class="firstline">Removes the specified instances from the managed instance group, and from any target pools of which they were members, without deleting the instances.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, zone, instanceGroupManager)</a></code></p>
+<p class="firstline">Deletes the instance group manager and all instances contained within. If you'd like to delete the manager without deleting the instances, you must first abandon the instances to remove them from the group.</p>
+<p class="toc_element">
+  <code><a href="#deleteInstances">deleteInstances(project, zone, instanceGroupManager, body)</a></code></p>
+<p class="firstline">Deletes the specified instances. The instances are removed from the instance group and any target pools of which they are a member, then deleted. The targetSize of the instance group manager is reduced by the number of instances deleted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, instanceGroupManager)</a></code></p>
+<p class="firstline">Returns the specified Instance Group Manager resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, size, body)</a></code></p>
+<p class="firstline">Creates an instance group manager, as well as the instance group and the specified number of instances.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of Instance Group Manager resources contained within the specified zone.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#recreateInstances">recreateInstances(project, zone, instanceGroupManager, body)</a></code></p>
+<p class="firstline">Recreates the specified instances. The instances are deleted, then recreated using the instance group manager's current instance template.</p>
+<p class="toc_element">
+  <code><a href="#resize">resize(project, zone, instanceGroupManager, size)</a></code></p>
+<p class="firstline">Resizes the managed instance group up or down. If resized up, new instances are created using the current instance template. If resized down, instances are removed in the order outlined in Resizing a managed instance group.</p>
+<p class="toc_element">
+  <code><a href="#setInstanceTemplate">setInstanceTemplate(project, zone, instanceGroupManager, body)</a></code></p>
+<p class="firstline">Sets the instance template to use when creating new instances in this group. Existing instances are not affected.</p>
+<p class="toc_element">
+  <code><a href="#setTargetPools">setTargetPools(project, zone, instanceGroupManager, body)</a></code></p>
+<p class="firstline">Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="abandonInstances">abandonInstances(project, zone, instanceGroupManager, body)</code>
+  <pre>Removes the specified instances from the managed instance group, and from any target pools of which they were members, without deleting the instances.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instances": [ # The names of one or more instances to abandon. For example:
+        # { 'instances': [ 'instance-c3po', 'instance-r2d2' ] }
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, zone, instanceGroupManager)</code>
+  <pre>Deletes the instance group manager and all instances contained within. If you'd like to delete the manager without deleting the instances, you must first abandon the instances to remove them from the group.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, Name of the Instance Group Manager resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deleteInstances">deleteInstances(project, zone, instanceGroupManager, body)</code>
+  <pre>Deletes the specified instances. The instances are removed from the instance group and any target pools of which they are a member, then deleted. The targetSize of the instance group manager is reduced by the number of instances deleted.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instances": [ # Names of instances to delete.
+        # 
+        # Example: 'instance-foo', 'instance-bar'
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, instanceGroupManager)</code>
+  <pre>Returns the specified Instance Group Manager resource.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, Name of the instance resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Instance Group Manager resource.
+      "kind": "replicapool#instanceGroupManager", # [Output only] The resource type. Always replicapool#instanceGroupManager.
+      "group": "A String", # [Output only] The full URL of the instance group created by the manager. This group contains all of the instances being managed, and cannot contain non-managed instances.
+      "description": "A String", # An optional textual description of the instance group manager.
+      "targetPools": [ # The full URL of all target pools to which new instances in the group are added. Updating the target pool values does not affect existing instances.
+        "A String",
+      ],
+      "targetSize": 42, # [Output only] The number of instances that the manager is attempting to maintain. Deleting or abandoning instances affects this number, as does resizing the group.
+      "name": "A String", # The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
+      "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
+      "fingerprint": "A String", # [Output only] Fingerprint of the instance group manager. This field is used for optimistic locking. An up-to-date fingerprint must be provided in order to modify the Instance Group Manager resource.
+      "instanceTemplate": "A String", # The full URL to an instance template from which all new instances will be created.
+      "creationTimestamp": "A String", # [Output only] The time the instance group manager was created, in RFC3339 text format.
+      "id": "A String", # [Output only] A server-assigned unique identifier for the resource.
+      "selfLink": "A String", # [Output only] The fully qualified URL for this resource.
+      "currentSize": 42, # [Output only] The number of instances that currently exist and are a part of this group. This includes instances that are starting but are not yet RUNNING, and instances that are in the process of being deleted or abandoned.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, zone, size, body)</code>
+  <pre>Creates an instance group manager, as well as the instance group and the specified number of instances.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  size: integer, Number of instances that should exist. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An Instance Group Manager resource.
+    "kind": "replicapool#instanceGroupManager", # [Output only] The resource type. Always replicapool#instanceGroupManager.
+    "group": "A String", # [Output only] The full URL of the instance group created by the manager. This group contains all of the instances being managed, and cannot contain non-managed instances.
+    "description": "A String", # An optional textual description of the instance group manager.
+    "targetPools": [ # The full URL of all target pools to which new instances in the group are added. Updating the target pool values does not affect existing instances.
+      "A String",
+    ],
+    "targetSize": 42, # [Output only] The number of instances that the manager is attempting to maintain. Deleting or abandoning instances affects this number, as does resizing the group.
+    "name": "A String", # The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
+    "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
+    "fingerprint": "A String", # [Output only] Fingerprint of the instance group manager. This field is used for optimistic locking. An up-to-date fingerprint must be provided in order to modify the Instance Group Manager resource.
+    "instanceTemplate": "A String", # The full URL to an instance template from which all new instances will be created.
+    "creationTimestamp": "A String", # [Output only] The time the instance group manager was created, in RFC3339 text format.
+    "id": "A String", # [Output only] A server-assigned unique identifier for the resource.
+    "selfLink": "A String", # [Output only] The fully qualified URL for this resource.
+    "currentSize": 42, # [Output only] The number of instances that currently exist and are a part of this group. This includes instances that are starting but are not yet RUNNING, and instances that are in the process of being deleted or abandoned.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of Instance Group Manager resources contained within the specified zone.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # A list of instance resources.
+      { # An Instance Group Manager resource.
+          "kind": "replicapool#instanceGroupManager", # [Output only] The resource type. Always replicapool#instanceGroupManager.
+          "group": "A String", # [Output only] The full URL of the instance group created by the manager. This group contains all of the instances being managed, and cannot contain non-managed instances.
+          "description": "A String", # An optional textual description of the instance group manager.
+          "targetPools": [ # The full URL of all target pools to which new instances in the group are added. Updating the target pool values does not affect existing instances.
+            "A String",
+          ],
+          "targetSize": 42, # [Output only] The number of instances that the manager is attempting to maintain. Deleting or abandoning instances affects this number, as does resizing the group.
+          "name": "A String", # The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
+          "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
+          "fingerprint": "A String", # [Output only] Fingerprint of the instance group manager. This field is used for optimistic locking. An up-to-date fingerprint must be provided in order to modify the Instance Group Manager resource.
+          "instanceTemplate": "A String", # The full URL to an instance template from which all new instances will be created.
+          "creationTimestamp": "A String", # [Output only] The time the instance group manager was created, in RFC3339 text format.
+          "id": "A String", # [Output only] A server-assigned unique identifier for the resource.
+          "selfLink": "A String", # [Output only] The fully qualified URL for this resource.
+          "currentSize": 42, # [Output only] The number of instances that currently exist and are a part of this group. This includes instances that are starting but are not yet RUNNING, and instances that are in the process of being deleted or abandoned.
+        },
+    ],
+    "kind": "replicapool#instanceGroupManagerList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="recreateInstances">recreateInstances(project, zone, instanceGroupManager, body)</code>
+  <pre>Recreates the specified instances. The instances are deleted, then recreated using the instance group manager's current instance template.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instances": [ # The names of one or more instances to recreate. For example:
+        # { 'instances': [ 'instance-c3po', 'instance-r2d2' ] }
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resize">resize(project, zone, instanceGroupManager, size)</code>
+  <pre>Resizes the managed instance group up or down. If resized up, new instances are created using the current instance template. If resized down, instances are removed in the order outlined in Resizing a managed instance group.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  size: integer, Number of instances that should exist in this Instance Group Manager. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setInstanceTemplate">setInstanceTemplate(project, zone, instanceGroupManager, body)</code>
+  <pre>Sets the instance template to use when creating new instances in this group. Existing instances are not affected.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instanceTemplate": "A String", # The full URL to an Instance Template from which all new instances will be created.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setTargetPools">setTargetPools(project, zone, instanceGroupManager, body)</code>
+  <pre>Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the instance group manager resides. (required)
+  instanceGroupManager: string, The name of the instance group manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "targetPools": [ # A list of fully-qualified URLs to existing Target Pool resources. New instances in the Instance Group Manager will be added to the specified target pools; existing instances are not affected.
+      "A String",
+    ],
+    "fingerprint": "A String", # The current fingerprint of the Instance Group Manager resource. If this does not match the server-side fingerprint of the resource, then the request will be rejected.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapool_v1beta2.zoneOperations.html b/docs/dyn/replicapool_v1beta2.zoneOperations.html
new file mode 100644
index 0000000..5cd45c9
--- /dev/null
+++ b/docs/dyn/replicapool_v1beta2.zoneOperations.html
@@ -0,0 +1,225 @@
+<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="replicapool_v1beta2.html">Google Compute Engine Instance Group Manager API</a> . <a href="replicapool_v1beta2.zoneOperations.html">zoneOperations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, operation)</a></code></p>
+<p class="firstline">Retrieves the specified zone-specific operation resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of operation resources contained within the specified zone.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, zone, operation)</code>
+  <pre>Retrieves the specified zone-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  operation: string, Name of the operation resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+    "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+    "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+    "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+    "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+    "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+    "kind": "replicapool#operation", # [Output only] Type of the resource.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+    "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of operation resources contained within the specified zone.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The operation resources.
+      { # An operation resource, used to manage asynchronous API requests.
+        "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target.
+        "clientOperationId": "A String", # [Output only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project.
+        "creationTimestamp": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+        "id": "A String", # [Output Only] Unique identifier for the resource, generated by the server.
+        "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations.
+        "operationType": "A String", # [Output only] Type of the operation. Operations include insert, update, and delete.
+        "httpErrorMessage": "A String", # [Output only] If operation fails, the HTTP error message returned.
+        "progress": 42, # [Output only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses.
+        "httpErrorStatusCode": 42, # [Output only] If operation fails, the HTTP error status code returned.
+        "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+        "status": "A String", # [Output Only] Status of the operation.
+        "insertTime": "A String", # [Output Only] The time that this operation was requested, in RFC3339 text format.
+        "warnings": [ # [Output Only] If there are issues with this operation, a warning is returned.
+          {
+            "message": "A String", # [Output only] Optional human-readable details for this warning.
+            "code": "A String", # [Output only] The warning type identifier for this warning.
+            "data": [ # [Output only] Metadata for this warning in key:value format.
+              {
+                "value": "A String", # [Output Only] Metadata value for this warning.
+                "key": "A String", # [Output Only] Metadata key for this warning.
+              },
+            ],
+          },
+        ],
+        "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+        "startTime": "A String", # [Output Only] The time that this operation was started by the server, in RFC3339 text format.
+        "kind": "replicapool#operation", # [Output only] Type of the resource.
+        "name": "A String", # [Output Only] Name of the resource.
+        "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations.
+        "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # [Output Only] An optional, human-readable error message.
+              "code": "A String", # [Output Only] The error type identifier for this error.
+              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+        "endTime": "A String", # [Output Only] The time that this operation was completed, in RFC3339 text format.
+        "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource.
+        "targetLink": "A String", # [Output only] URL of the resource the operation is mutating.
+      },
+    ],
+    "kind": "replicapool#operationList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapoolupdater_v1beta1.html b/docs/dyn/replicapoolupdater_v1beta1.html
new file mode 100644
index 0000000..d3f800b
--- /dev/null
+++ b/docs/dyn/replicapoolupdater_v1beta1.html
@@ -0,0 +1,87 @@
+<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="replicapoolupdater_v1beta1.html">Google Compute Engine Instance Group Updater API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="replicapoolupdater_v1beta1.rollingUpdates.html">rollingUpdates()</a></code>
+</p>
+<p class="firstline">Returns the rollingUpdates Resource.</p>
+
+<p class="toc_element">
+  <code><a href="replicapoolupdater_v1beta1.zoneOperations.html">zoneOperations()</a></code>
+</p>
+<p class="firstline">Returns the zoneOperations Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapoolupdater_v1beta1.rollingUpdates.html b/docs/dyn/replicapoolupdater_v1beta1.rollingUpdates.html
new file mode 100644
index 0000000..542148c
--- /dev/null
+++ b/docs/dyn/replicapoolupdater_v1beta1.rollingUpdates.html
@@ -0,0 +1,629 @@
+<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="replicapoolupdater_v1beta1.html">Google Compute Engine Instance Group Updater API</a> . <a href="replicapoolupdater_v1beta1.rollingUpdates.html">rollingUpdates</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(project, zone, rollingUpdate)</a></code></p>
+<p class="firstline">Cancels an update. The update must be PAUSED before it can be cancelled. This has no effect if the update is already CANCELLED.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, rollingUpdate)</a></code></p>
+<p class="firstline">Returns information about an update.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, body)</a></code></p>
+<p class="firstline">Inserts and starts a new update.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, instanceGroupManager=None, filter=None)</a></code></p>
+<p class="firstline">Lists recent updates for a given managed instance group, in reverse chronological order and paginated format.</p>
+<p class="toc_element">
+  <code><a href="#listInstanceUpdates">listInstanceUpdates(project, zone, rollingUpdate, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Lists the current status for each instance within a given update.</p>
+<p class="toc_element">
+  <code><a href="#listInstanceUpdates_next">listInstanceUpdates_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#pause">pause(project, zone, rollingUpdate)</a></code></p>
+<p class="firstline">Pauses the update in state from ROLLING_FORWARD or ROLLING_BACK. Has no effect if invoked when the state of the update is PAUSED.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(project, zone, rollingUpdate)</a></code></p>
+<p class="firstline">Continues an update in PAUSED state. Has no effect if invoked when the state of the update is ROLLED_OUT.</p>
+<p class="toc_element">
+  <code><a href="#rollback">rollback(project, zone, rollingUpdate)</a></code></p>
+<p class="firstline">Rolls back the update in state from ROLLING_FORWARD or PAUSED. Has no effect if invoked when the state of the update is ROLLED_BACK.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(project, zone, rollingUpdate)</code>
+  <pre>Cancels an update. The update must be PAUSED before it can be cancelled. This has no effect if the update is already CANCELLED.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, rollingUpdate)</code>
+  <pre>Returns information about an update.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+
+Returns:
+  An object of the form:
+
+    { # The following represents a resource describing a single update (rollout) of a group of instances to the given template.
+      "status": "A String", # [Output Only] Status of the update. Possible values are:
+          # - "ROLLING_FORWARD": The update is going forward.
+          # - "ROLLING_BACK": The update is being rolled back.
+          # - "PAUSED": The update is temporarily paused (inactive).
+          # - "ROLLED_OUT": The update is finished, all instances have been updated successfully.
+          # - "ROLLED_BACK": The update is finished, all instances have been reverted to the previous template.
+          # - "CANCELLED": The update is paused and no longer can be resumed, undefined how many instances are running in which template.
+      "kind": "replicapoolupdater#rollingUpdate", # [Output Only] Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "user": "A String", # [Output Only] User who requested the update, for example: user@example.com.
+      "instanceGroup": "A String", # Fully-qualified URL of an instance group being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+      "instanceTemplate": "A String", # Fully-qualified URL of an instance template to apply.
+      "actionType": "A String", # Specifies the action to take for each instance within the instance group. This can be RECREATE which will recreate each instance and is only available for managed instance groups. It can also be REBOOT which performs a soft reboot for each instance and is only available for regular (non-managed) instance groups.
+      "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the update.
+      "error": { # [Output Only] Errors that occurred during rolling update.
+        "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+          {
+            "message": "A String", # [Output Only] An optional, human-readable error message.
+            "code": "A String", # [Output Only] The error type identifier for this error.
+            "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+          },
+        ],
+      },
+      "policy": { # Parameters of the update process.
+        "instanceStartupTimeoutSec": 42, # Maximum amount of time we will wait after finishing all steps until we receive HEALTHY state for instance. If this deadline is exceeded instance update is considered as failed.
+        "maxNumConcurrentInstances": 42, # Maximum number of instances that can be updated simultaneously (concurrently). An update of an instance starts when the instance is about to be restarted and finishes after the instance has been restarted and the sleep period (defined by sleepAfterInstanceRestartSec) has passed.
+        "minInstanceUpdateTimeSec": 42, # Specifies minimum amount of time we will spend on updating single instance, measuring at the start of the first update action (e.g. Recreate call on Instance Group Manager or Stop call on Instance resource). If actual instance update takes less time we will simply sleep before proceeding with next instance.
+        "canary": { # Parameters of a canary phase. If absent, canary will NOT be performed.
+          "numInstances": 42, # Number of instances updated as a part of canary phase. If absent, the default number of instances will be used.
+        },
+        "sleepAfterInstanceRestartSec": 42, # Time period after the instance has been restarted but before marking the update of this instance as done. This field is deprecated and ignored by Rolling Updater.
+        "maxNumFailedInstances": 42, # Maximum number of instance updates that can fail without failing the group update. Instance update is considered failed if any of it's update actions (e.g. Stop call on Instance resource in Rolling Reboot) failed with permanent failure, or if after finishing all update actions this instance is in UNHEALTHY state.
+        "autoPauseAfterInstances": 42, # Number of instances updated before the update gets automatically paused.
+      },
+      "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the update will be complete. This number should be monotonically increasing as the update progresses.
+      "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+      "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+      "selfLink": "A String", # [Output Only] The fully qualified URL for the resource.
+      "instanceGroupManager": "A String", # Fully-qualified URL of an instance group manager being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, zone, body)</code>
+  <pre>Inserts and starts a new update.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The following represents a resource describing a single update (rollout) of a group of instances to the given template.
+    "status": "A String", # [Output Only] Status of the update. Possible values are:
+        # - "ROLLING_FORWARD": The update is going forward.
+        # - "ROLLING_BACK": The update is being rolled back.
+        # - "PAUSED": The update is temporarily paused (inactive).
+        # - "ROLLED_OUT": The update is finished, all instances have been updated successfully.
+        # - "ROLLED_BACK": The update is finished, all instances have been reverted to the previous template.
+        # - "CANCELLED": The update is paused and no longer can be resumed, undefined how many instances are running in which template.
+    "kind": "replicapoolupdater#rollingUpdate", # [Output Only] Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "user": "A String", # [Output Only] User who requested the update, for example: user@example.com.
+    "instanceGroup": "A String", # Fully-qualified URL of an instance group being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+    "instanceTemplate": "A String", # Fully-qualified URL of an instance template to apply.
+    "actionType": "A String", # Specifies the action to take for each instance within the instance group. This can be RECREATE which will recreate each instance and is only available for managed instance groups. It can also be REBOOT which performs a soft reboot for each instance and is only available for regular (non-managed) instance groups.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the update.
+    "error": { # [Output Only] Errors that occurred during rolling update.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "policy": { # Parameters of the update process.
+      "instanceStartupTimeoutSec": 42, # Maximum amount of time we will wait after finishing all steps until we receive HEALTHY state for instance. If this deadline is exceeded instance update is considered as failed.
+      "maxNumConcurrentInstances": 42, # Maximum number of instances that can be updated simultaneously (concurrently). An update of an instance starts when the instance is about to be restarted and finishes after the instance has been restarted and the sleep period (defined by sleepAfterInstanceRestartSec) has passed.
+      "minInstanceUpdateTimeSec": 42, # Specifies minimum amount of time we will spend on updating single instance, measuring at the start of the first update action (e.g. Recreate call on Instance Group Manager or Stop call on Instance resource). If actual instance update takes less time we will simply sleep before proceeding with next instance.
+      "canary": { # Parameters of a canary phase. If absent, canary will NOT be performed.
+        "numInstances": 42, # Number of instances updated as a part of canary phase. If absent, the default number of instances will be used.
+      },
+      "sleepAfterInstanceRestartSec": 42, # Time period after the instance has been restarted but before marking the update of this instance as done. This field is deprecated and ignored by Rolling Updater.
+      "maxNumFailedInstances": 42, # Maximum number of instance updates that can fail without failing the group update. Instance update is considered failed if any of it's update actions (e.g. Stop call on Instance resource in Rolling Reboot) failed with permanent failure, or if after finishing all update actions this instance is in UNHEALTHY state.
+      "autoPauseAfterInstances": 42, # Number of instances updated before the update gets automatically paused.
+    },
+    "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the update will be complete. This number should be monotonically increasing as the update progresses.
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "selfLink": "A String", # [Output Only] The fully qualified URL for the resource.
+    "instanceGroupManager": "A String", # Fully-qualified URL of an instance group manager being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, instanceGroupManager=None, filter=None)</code>
+  <pre>Lists recent updates for a given managed instance group, in reverse chronological order and paginated format.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  instanceGroupManager: string, The name of the instance group manager used for filtering.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Response returned by List method.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "items": [ # Collection of requested updates.
+      { # The following represents a resource describing a single update (rollout) of a group of instances to the given template.
+          "status": "A String", # [Output Only] Status of the update. Possible values are:
+              # - "ROLLING_FORWARD": The update is going forward.
+              # - "ROLLING_BACK": The update is being rolled back.
+              # - "PAUSED": The update is temporarily paused (inactive).
+              # - "ROLLED_OUT": The update is finished, all instances have been updated successfully.
+              # - "ROLLED_BACK": The update is finished, all instances have been reverted to the previous template.
+              # - "CANCELLED": The update is paused and no longer can be resumed, undefined how many instances are running in which template.
+          "kind": "replicapoolupdater#rollingUpdate", # [Output Only] Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "user": "A String", # [Output Only] User who requested the update, for example: user@example.com.
+          "instanceGroup": "A String", # Fully-qualified URL of an instance group being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+          "instanceTemplate": "A String", # Fully-qualified URL of an instance template to apply.
+          "actionType": "A String", # Specifies the action to take for each instance within the instance group. This can be RECREATE which will recreate each instance and is only available for managed instance groups. It can also be REBOOT which performs a soft reboot for each instance and is only available for regular (non-managed) instance groups.
+          "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the update.
+          "error": { # [Output Only] Errors that occurred during rolling update.
+            "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+              {
+                "message": "A String", # [Output Only] An optional, human-readable error message.
+                "code": "A String", # [Output Only] The error type identifier for this error.
+                "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+              },
+            ],
+          },
+          "policy": { # Parameters of the update process.
+            "instanceStartupTimeoutSec": 42, # Maximum amount of time we will wait after finishing all steps until we receive HEALTHY state for instance. If this deadline is exceeded instance update is considered as failed.
+            "maxNumConcurrentInstances": 42, # Maximum number of instances that can be updated simultaneously (concurrently). An update of an instance starts when the instance is about to be restarted and finishes after the instance has been restarted and the sleep period (defined by sleepAfterInstanceRestartSec) has passed.
+            "minInstanceUpdateTimeSec": 42, # Specifies minimum amount of time we will spend on updating single instance, measuring at the start of the first update action (e.g. Recreate call on Instance Group Manager or Stop call on Instance resource). If actual instance update takes less time we will simply sleep before proceeding with next instance.
+            "canary": { # Parameters of a canary phase. If absent, canary will NOT be performed.
+              "numInstances": 42, # Number of instances updated as a part of canary phase. If absent, the default number of instances will be used.
+            },
+            "sleepAfterInstanceRestartSec": 42, # Time period after the instance has been restarted but before marking the update of this instance as done. This field is deprecated and ignored by Rolling Updater.
+            "maxNumFailedInstances": 42, # Maximum number of instance updates that can fail without failing the group update. Instance update is considered failed if any of it's update actions (e.g. Stop call on Instance resource in Rolling Reboot) failed with permanent failure, or if after finishing all update actions this instance is in UNHEALTHY state.
+            "autoPauseAfterInstances": 42, # Number of instances updated before the update gets automatically paused.
+          },
+          "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the update will be complete. This number should be monotonically increasing as the update progresses.
+          "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+          "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+          "selfLink": "A String", # [Output Only] The fully qualified URL for the resource.
+          "instanceGroupManager": "A String", # Fully-qualified URL of an instance group manager being updated. Exactly one of instanceGroupManager and instanceGroup must be set.
+        },
+    ],
+    "kind": "replicapoolupdater#rollingUpdateList", # [Output Only] Type of the resource.
+    "selfLink": "A String", # [Output Only] The fully qualified URL for the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listInstanceUpdates">listInstanceUpdates(project, zone, rollingUpdate, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Lists the current status for each instance within a given update.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Response returned by ListInstanceUpdates method.
+    "nextPageToken": "A String", # A token used to continue a truncated list request.
+    "items": [ # Collection of requested instance updates.
+      { # Update of a single instance.
+        "status": "A String", # Status of the instance update. Possible values are:
+            # - "PENDING": The instance update is pending execution.
+            # - "ROLLING_FORWARD": The instance update is going forward.
+            # - "ROLLING_BACK": The instance update is being rolled back.
+            # - "PAUSED": The instance update is temporarily paused (inactive).
+            # - "ROLLED_OUT": The instance update is finished, the instance is running the new template.
+            # - "ROLLED_BACK": The instance update is finished, the instance has been reverted to the previous template.
+            # - "CANCELLED": The instance update is paused and no longer can be resumed, undefined in which template the instance is running.
+        "instance": "A String", # URL of the instance being updated.
+        "error": { # Errors that occurred during the instance update.
+          "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # [Output Only] An optional, human-readable error message.
+              "code": "A String", # [Output Only] The error type identifier for this error.
+              "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+      },
+    ],
+    "kind": "replicapoolupdater#instanceUpdateList", # [Output Only] Type of the resource.
+    "selfLink": "A String", # [Output Only] The fully qualified URL for the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listInstanceUpdates_next">listInstanceUpdates_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="pause">pause(project, zone, rollingUpdate)</code>
+  <pre>Pauses the update in state from ROLLING_FORWARD or ROLLING_BACK. Has no effect if invoked when the state of the update is PAUSED.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(project, zone, rollingUpdate)</code>
+  <pre>Continues an update in PAUSED state. Has no effect if invoked when the state of the update is ROLLED_OUT.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="rollback">rollback(project, zone, rollingUpdate)</code>
+  <pre>Rolls back the update in state from ROLLING_FORWARD or PAUSED. Has no effect if invoked when the state of the update is ROLLED_BACK.
+
+Args:
+  project: string, The Google Developers Console project name. (required)
+  zone: string, The name of the zone in which the update's target resides. (required)
+  rollingUpdate: string, The name of the update. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/replicapoolupdater_v1beta1.zoneOperations.html b/docs/dyn/replicapoolupdater_v1beta1.zoneOperations.html
new file mode 100644
index 0000000..37a042e
--- /dev/null
+++ b/docs/dyn/replicapoolupdater_v1beta1.zoneOperations.html
@@ -0,0 +1,138 @@
+<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="replicapoolupdater_v1beta1.html">Google Compute Engine Instance Group Updater API</a> . <a href="replicapoolupdater_v1beta1.zoneOperations.html">zoneOperations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, operation)</a></code></p>
+<p class="firstline">Retrieves the specified zone-specific operation resource.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, zone, operation)</code>
+  <pre>Retrieves the specified zone-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  operation: string, Name of the operation resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] Unique target id which identifies a particular incarnation of the target.
+    "clientOperationId": "A String",
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+    "zone": "A String", # [Output Only] URL of the zone where the operation resides (output only).
+    "operationType": "A String",
+    "httpErrorMessage": "A String",
+    "progress": 42,
+    "httpErrorStatusCode": 42,
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE".
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC 3339 format.
+    "warnings": [
+      {
+        "message": "A String", # [Output only] Optional human-readable details for this warning.
+        "code": "A String", # [Output only] The warning type identifier for this warning.
+        "data": [ # [Output only] Metadata for this warning in key:value format.
+          {
+            "value": "A String", # [Output Only] Metadata value for this warning.
+            "key": "A String", # [Output Only] Metadata key for this warning.
+          },
+        ],
+      },
+    ],
+    "user": "A String",
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC 3339 format.
+    "kind": "replicapoolupdater#operation", # [Output Only] Type of the resource. Always kind#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource (output only).
+    "region": "A String", # [Output Only] URL of the region where the operation resides (output only).
+    "error": { # [Output Only] If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String",
+    "selfLink": "A String", # [Output Only] Server defined URL for the resource.
+    "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.subscriptions.html b/docs/dyn/reseller_v1.subscriptions.html
index 9aed40b..a5bb7ff 100644
--- a/docs/dyn/reseller_v1.subscriptions.html
+++ b/docs/dyn/reseller_v1.subscriptions.html
@@ -139,7 +139,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -153,6 +153,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -174,7 +175,7 @@
       "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
       "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
       "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+      "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
     },
     "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
   }
@@ -203,7 +204,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -217,6 +218,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -260,7 +262,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -274,6 +276,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -292,7 +295,7 @@
   "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
   "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
   "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-  "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+  "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
 }
 
 
@@ -319,7 +322,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -333,6 +336,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -349,6 +353,7 @@
       cancel - Cancels the subscription immediately
       downgrade - Downgrades a Google Apps for Business subscription to Google Apps
       suspend - Suspends the subscriptions for 4 days before cancelling it
+      transfer_to_direct - Transfers a subscription directly to Google
 </pre>
 </div>
 
@@ -383,7 +388,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -397,6 +402,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -430,7 +436,7 @@
       "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
       "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
       "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-      "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+      "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
     },
     "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
     "status": "A String", # Status of the subscription.
@@ -444,6 +450,7 @@
     },
     "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
     "subscriptionId": "A String", # The id of the subscription.
+    "billingMethod": "A String", # Billing method of this subscription.
     "customerId": "A String", # The id of the customer to whom the subscription belongs.
   }
 
@@ -472,7 +479,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -486,6 +493,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -528,7 +536,7 @@
             "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
             "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
             "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-            "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+            "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
           },
           "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
           "status": "A String", # Status of the subscription.
@@ -542,6 +550,7 @@
           },
           "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
           "subscriptionId": "A String", # The id of the subscription.
+          "billingMethod": "A String", # Billing method of this subscription.
           "customerId": "A String", # The id of the customer to whom the subscription belongs.
         },
     ],
@@ -593,7 +602,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -607,6 +616,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
@@ -642,7 +652,7 @@
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
-        "licensedNumberOfSeats": 42, # Read only field containing the current number of licensed seats. Resellers can utilize this field to gather insights into usage for FLEXIBLE Google-Apps subscriptions and other secondary subscriptions (e.g. Google-Vault, Drive-storage).
+        "licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
       "status": "A String", # Status of the subscription.
@@ -656,6 +666,7 @@
       },
       "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
       "subscriptionId": "A String", # The id of the subscription.
+      "billingMethod": "A String", # Billing method of this subscription.
       "customerId": "A String", # The id of the customer to whom the subscription belongs.
     }</pre>
 </div>
diff --git a/docs/dyn/sqladmin_v1beta4.backupRuns.html b/docs/dyn/sqladmin_v1beta4.backupRuns.html
new file mode 100644
index 0000000..38b6784
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.backupRuns.html
@@ -0,0 +1,168 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.backupRuns.html">backupRuns</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, id)</a></code></p>
+<p class="firstline">Retrieves a resource containing information about a backup run.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, instance, id)</code>
+  <pre>Retrieves a resource containing information about a backup run.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  id: string, The ID of this Backup Run. (required)
+
+Returns:
+  An object of the form:
+
+    { # A database instance backup run resource.
+    "status": "A String", # The status of this run.
+    "kind": "sql#backupRun", # This is always sql#backupRun.
+    "windowStartTime": "A String", # The start time of the backup window during which this the backup was attempted in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "instance": "A String", # Name of the database instance.
+    "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
+      "kind": "sql#operationError", # This is always sql#operationError.
+      "code": "A String", # Identifies the specific error that occurred.
+      "message": "A String", # Additional information about the error encountered.
+    },
+    "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "id": "A String", # A unique identifier for this backup run. Note that this is unique only within the scope of a particular Cloud SQL instance.
+    "selfLink": "A String", # The URI of this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance, maxResults=None, pageToken=None)</code>
+  <pre>Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  maxResults: integer, Maximum number of backup runs per response.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+
+Returns:
+  An object of the form:
+
+    { # Backup run list results.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # A list of backup runs in reverse chronological order of the enqueued time.
+      { # A database instance backup run resource.
+        "status": "A String", # The status of this run.
+        "kind": "sql#backupRun", # This is always sql#backupRun.
+        "windowStartTime": "A String", # The start time of the backup window during which this the backup was attempted in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "instance": "A String", # Name of the database instance.
+        "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+        "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "id": "A String", # A unique identifier for this backup run. Note that this is unique only within the scope of a particular Cloud SQL instance.
+        "selfLink": "A String", # The URI of this resource.
+      },
+    ],
+    "kind": "sql#backupRunsList", # This is always sql#backupRunsList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.databases.html b/docs/dyn/sqladmin_v1beta4.databases.html
new file mode 100644
index 0000000..db420f5
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.databases.html
@@ -0,0 +1,465 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.databases.html">databases</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance, database)</a></code></p>
+<p class="firstline">Deletes a resource containing information about a database inside a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, database)</a></code></p>
+<p class="firstline">Retrieves a resource containing information about a database inside a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, instance, body)</a></code></p>
+<p class="firstline">Inserts a resource containing information about a database inside a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance)</a></code></p>
+<p class="firstline">Lists databases in the specified Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(project, instance, database, body)</a></code></p>
+<p class="firstline">Updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, instance, database, body)</a></code></p>
+<p class="firstline">Updates a resource containing information about a database inside a Cloud SQL instance.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, instance, database)</code>
+  <pre>Deletes a resource containing information about a database inside a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  database: string, Name of the database to be deleted in the instance. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, instance, database)</code>
+  <pre>Retrieves a resource containing information about a database inside a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  database: string, Name of the database in the instance. (required)
+
+Returns:
+  An object of the form:
+
+    { # A database resource inside a Cloud SQL instance.
+      "kind": "sql#database", # This is always sql#database.
+      "name": "A String", # The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.
+      "charset": "A String", # The MySQL charset value.
+      "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.
+      "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID.
+      "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+      "collation": "A String", # The MySQL collation value.
+      "selfLink": "A String", # The URI of this resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, instance, body)</code>
+  <pre>Inserts a resource containing information about a database inside a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database resource inside a Cloud SQL instance.
+    "kind": "sql#database", # This is always sql#database.
+    "name": "A String", # The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.
+    "charset": "A String", # The MySQL charset value.
+    "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.
+    "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "collation": "A String", # The MySQL collation value.
+    "selfLink": "A String", # The URI of this resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance)</code>
+  <pre>Lists databases in the specified Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project for which to list Cloud SQL instances. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Database list response.
+    "items": [ # List of database resources in the instance.
+      { # A database resource inside a Cloud SQL instance.
+          "kind": "sql#database", # This is always sql#database.
+          "name": "A String", # The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.
+          "charset": "A String", # The MySQL charset value.
+          "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.
+          "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID.
+          "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+          "collation": "A String", # The MySQL collation value.
+          "selfLink": "A String", # The URI of this resource.
+        },
+    ],
+    "kind": "sql#databasesList", # This is always sql#databasesList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(project, instance, database, body)</code>
+  <pre>Updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  database: string, Name of the database to be updated in the instance. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database resource inside a Cloud SQL instance.
+    "kind": "sql#database", # This is always sql#database.
+    "name": "A String", # The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.
+    "charset": "A String", # The MySQL charset value.
+    "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.
+    "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "collation": "A String", # The MySQL collation value.
+    "selfLink": "A String", # The URI of this resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, instance, database, body)</code>
+  <pre>Updates a resource containing information about a database inside a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  database: string, Name of the database to be updated in the instance. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database resource inside a Cloud SQL instance.
+    "kind": "sql#database", # This is always sql#database.
+    "name": "A String", # The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.
+    "charset": "A String", # The MySQL charset value.
+    "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.
+    "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "collation": "A String", # The MySQL collation value.
+    "selfLink": "A String", # The URI of this resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.flags.html b/docs/dyn/sqladmin_v1beta4.flags.html
new file mode 100644
index 0000000..55c72c7
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.flags.html
@@ -0,0 +1,110 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.flags.html">flags</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List all available database flags for Google Cloud SQL instances.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List all available database flags for Google Cloud SQL instances.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Flags list response.
+    "items": [ # List of flags.
+      { # A Google Cloud SQL service flag resource.
+        "kind": "sql#flag", # This is always sql#flag.
+        "name": "A String", # This is the name of the flag. Flag names always use underscores, not hyphens, e.g. max_allowed_packet
+        "allowedStringValues": [ # For STRING flags, a list of strings that the value can be set to.
+          "A String",
+        ],
+        "appliesTo": [ # The database version this flag applies to. Currently this can only be [MYSQL_5_5].
+          "A String",
+        ],
+        "maxValue": "A String", # For INTEGER flags, the maximum allowed value.
+        "minValue": "A String", # For INTEGER flags, the minimum allowed value.
+        "type": "A String", # The type of the flag. Flags are typed to being BOOLEAN, STRING, INTEGER or NONE. NONE is used for flags which do not take a value, such as skip_grant_tables.
+      },
+    ],
+    "kind": "sql#flagsList", # This is always sql#flagsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.html b/docs/dyn/sqladmin_v1beta4.html
new file mode 100644
index 0000000..f764fea
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.html
@@ -0,0 +1,117 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.backupRuns.html">backupRuns()</a></code>
+</p>
+<p class="firstline">Returns the backupRuns Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.databases.html">databases()</a></code>
+</p>
+<p class="firstline">Returns the databases Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.flags.html">flags()</a></code>
+</p>
+<p class="firstline">Returns the flags Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.sslCerts.html">sslCerts()</a></code>
+</p>
+<p class="firstline">Returns the sslCerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.tiers.html">tiers()</a></code>
+</p>
+<p class="firstline">Returns the tiers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta4.users.html">users()</a></code>
+</p>
+<p class="firstline">Returns the users Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.instances.html b/docs/dyn/sqladmin_v1beta4.instances.html
new file mode 100644
index 0000000..a493aae
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.instances.html
@@ -0,0 +1,1572 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.instances.html">instances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clone">clone(project, instance, body)</a></code></p>
+<p class="firstline">Creates a Cloud SQL instance as a clone of the source instance.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance)</a></code></p>
+<p class="firstline">Deletes a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#export">export(project, instance, body)</a></code></p>
+<p class="firstline">Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a MySQL dump file.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance)</a></code></p>
+<p class="firstline">Retrieves a resource containing information about a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#import_">import_(project, instance, body)</a></code></p>
+<p class="firstline">Imports data into a Cloud SQL instance from a MySQL dump file in Google Cloud Storage.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a new Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists instances under a given project in the alphabetical order of the instance name.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(project, instance, body)</a></code></p>
+<p class="firstline">Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#promoteReplica">promoteReplica(project, instance)</a></code></p>
+<p class="firstline">Promotes the read replica instance to be a stand-alone Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#resetSslConfig">resetSslConfig(project, instance)</a></code></p>
+<p class="firstline">Deletes all client certificates and generates a new server SSL certificate for the instance. The changes will not take effect until the instance is restarted. Existing instances without a server certificate will need to call this once to set a server certificate.</p>
+<p class="toc_element">
+  <code><a href="#restart">restart(project, instance)</a></code></p>
+<p class="firstline">Restarts a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#restoreBackup">restoreBackup(project, instance, body)</a></code></p>
+<p class="firstline">Restores a backup of a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#startReplica">startReplica(project, instance)</a></code></p>
+<p class="firstline">Starts the replication in the read replica instance.</p>
+<p class="toc_element">
+  <code><a href="#stopReplica">stopReplica(project, instance)</a></code></p>
+<p class="firstline">Stops the replication in the read replica instance.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, instance, body)</a></code></p>
+<p class="firstline">Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="clone">clone(project, instance, body)</code>
+  <pre>Creates a Cloud SQL instance as a clone of the source instance.
+
+Args:
+  project: string, Project ID of the source as well as the clone Cloud SQL instance. (required)
+  instance: string, The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance clone request.
+    "cloneContext": { # Database instance clone context. # Contains details about the clone operation.
+      "binLogCoordinates": { # Binary log coordinates. # Binary log coordinates, if specified, indentify the the position up to which the source instance should be cloned. If not specified, the source instance is cloned up to the most recent binary log coordintes.
+        "binLogPosition": "A String", # Position (offset) within the binary log file.
+        "kind": "sql#binLogCoordinates", # This is always sql#binLogCoordinates.
+        "binLogFileName": "A String", # Name of the binary log file for a Cloud SQL instance.
+      },
+      "kind": "sql#cloneContext", # This is always sql#cloneContext.
+      "destinationInstanceName": "A String", # Name of the Cloud SQL instance to be created as a clone.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, instance)</code>
+  <pre>Deletes a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be deleted. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="export">export(project, instance, body)</code>
+  <pre>Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a MySQL dump file.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be exported. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance export request.
+    "exportContext": { # Database instance export context. # Contains details about the export operation.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, instance)</code>
+  <pre>Retrieves a resource containing information about a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Cloud SQL instance resource.
+      "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+      "kind": "sql#instance", # This is always sql#instance.
+      "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+      "ipv6Address": "A String", # The IPv6 address assigned to the instance.
+      "serverCaCert": { # SslCerts Resource # SSL configuration.
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+        "selfLink": "A String",
+      },
+      "replicaNames": [ # The replicas of the instance.
+        "A String",
+      ],
+      "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+      "settings": { # Database instance settings. # The user settings.
+        "databaseFlags": [ # The database flags passed to the instance at startup.
+          { # MySQL flags for Cloud SQL instances.
+            "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  character_set_server utf8 or utf8mb4 event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off. If set to on, you must also set the log_output flag to TABLE to receive logs. wait_timeout 1..31536000
+            "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+          },
+        ],
+        "kind": "sql#settings", # This is always sql#settings.
+        "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance.
+          "A String",
+        ],
+        "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+            # ALWAYS: The instance should always be active.
+            # NEVER: The instance should never be activated.
+            # ON_DEMAND: The instance is activated upon receiving requests.
+        "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance.
+          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+          "enabled": True or False, # Whether this configuration is enabled.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+          "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+        },
+        "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+          "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+          "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not.
+          "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+            { # An entry for an Access Control list.
+              "expirationTime": "A String", # The time when this access control entry expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+              "kind": "sql#aclEntry", # This is always sql#aclEntry.
+              "value": "A String", # The whitelisted value for the access control list.
+              "name": "A String", # An optional label to identify this entry.
+            },
+          ],
+        },
+        "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+        "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+        "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+        "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+        "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+        "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance.
+          "kind": "sql#locationPreference", # This is always sql#locationPreference.
+          "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+          "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+        },
+      },
+      "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup.
+      "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+      "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following.
+          # RUNNABLE: The instance is running, or is ready to run when accessed.
+          # SUSPENDED: The instance is not available, for example due to problems with billing.
+          # PENDING_CREATE: The instance is being created.
+          # MAINTENANCE: The instance is down for maintenance.
+          # UNKNOWN_STATE: The state of the instance is unknown.
+      "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+      "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance.
+      "ipAddresses": [ # The assigned IP addresses for the instance.
+        { # Database instance IP Mapping.
+          "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+          "ipAddress": "A String", # The IP address assigned.
+        },
+      ],
+      "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
+      "instanceType": "A String", # The instance type. This can be one of the following.
+          # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
+          # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
+      "selfLink": "A String", # The URI of this resource.
+      "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="import_">import_(project, instance, body)</code>
+  <pre>Imports data into a Cloud SQL instance from a MySQL dump file in Google Cloud Storage.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance import request.
+    "importContext": { # Database instance import context. # Contains details about the import operation.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a new Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project to which the newly created Cloud SQL instances should belong. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "ipv6Address": "A String", # The IPv6 address assigned to the instance.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+      "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+      "selfLink": "A String",
+    },
+    "replicaNames": [ # The replicas of the instance.
+      "A String",
+    ],
+    "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  character_set_server utf8 or utf8mb4 event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off. If set to on, you must also set the log_output flag to TABLE to receive logs. wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance.
+        "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+        "enabled": True or False, # Whether this configuration is enabled.
+        "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+      },
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          { # An entry for an Access Control list.
+            "expirationTime": "A String", # The time when this access control entry expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+            "kind": "sql#aclEntry", # This is always sql#aclEntry.
+            "value": "A String", # The whitelisted value for the access control list.
+            "name": "A String", # An optional label to identify this entry.
+          },
+        ],
+      },
+      "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
+    "instanceType": "A String", # The instance type. This can be one of the following.
+        # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
+        # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
+    "selfLink": "A String", # The URI of this resource.
+    "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Lists instances under a given project in the alphabetical order of the instance name.
+
+Args:
+  project: string, Project ID of the project for which to list Cloud SQL instances. (required)
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  maxResults: integer, The maximum number of results to return per response.
+
+Returns:
+  An object of the form:
+
+    { # Database instances list response.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # List of database instance resources.
+      { # A Cloud SQL instance resource.
+          "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+          "kind": "sql#instance", # This is always sql#instance.
+          "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+          "ipv6Address": "A String", # The IPv6 address assigned to the instance.
+          "serverCaCert": { # SslCerts Resource # SSL configuration.
+            "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+            "kind": "sql#sslCert", # This is always sql#sslCert.
+            "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+            "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+            "instance": "A String", # Name of the database instance.
+            "cert": "A String", # PEM representation.
+            "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+            "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+            "selfLink": "A String",
+          },
+          "replicaNames": [ # The replicas of the instance.
+            "A String",
+          ],
+          "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+          "settings": { # Database instance settings. # The user settings.
+            "databaseFlags": [ # The database flags passed to the instance at startup.
+              { # MySQL flags for Cloud SQL instances.
+                "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  character_set_server utf8 or utf8mb4 event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off. If set to on, you must also set the log_output flag to TABLE to receive logs. wait_timeout 1..31536000
+                "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+              },
+            ],
+            "kind": "sql#settings", # This is always sql#settings.
+            "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance.
+              "A String",
+            ],
+            "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+                # ALWAYS: The instance should always be active.
+                # NEVER: The instance should never be activated.
+                # ON_DEMAND: The instance is activated upon receiving requests.
+            "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance.
+              "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+              "enabled": True or False, # Whether this configuration is enabled.
+              "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+              "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+            },
+            "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+              "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+              "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not.
+              "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+                { # An entry for an Access Control list.
+                  "expirationTime": "A String", # The time when this access control entry expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+                  "kind": "sql#aclEntry", # This is always sql#aclEntry.
+                  "value": "A String", # The whitelisted value for the access control list.
+                  "name": "A String", # An optional label to identify this entry.
+                },
+              ],
+            },
+            "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+            "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+            "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+            "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+            "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+            "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance.
+              "kind": "sql#locationPreference", # This is always sql#locationPreference.
+              "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+              "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+            },
+          },
+          "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup.
+          "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+          "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following.
+              # RUNNABLE: The instance is running, or is ready to run when accessed.
+              # SUSPENDED: The instance is not available, for example due to problems with billing.
+              # PENDING_CREATE: The instance is being created.
+              # MAINTENANCE: The instance is down for maintenance.
+              # UNKNOWN_STATE: The state of the instance is unknown.
+          "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+          "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance.
+          "ipAddresses": [ # The assigned IP addresses for the instance.
+            { # Database instance IP Mapping.
+              "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+              "ipAddress": "A String", # The IP address assigned.
+            },
+          ],
+          "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
+          "instanceType": "A String", # The instance type. This can be one of the following.
+              # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
+              # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
+          "selfLink": "A String", # The URI of this resource.
+          "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+        },
+    ],
+    "kind": "sql#instancesList", # This is always sql#instancesList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(project, instance, body)</code>
+  <pre>Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "ipv6Address": "A String", # The IPv6 address assigned to the instance.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+      "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+      "selfLink": "A String",
+    },
+    "replicaNames": [ # The replicas of the instance.
+      "A String",
+    ],
+    "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  character_set_server utf8 or utf8mb4 event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off. If set to on, you must also set the log_output flag to TABLE to receive logs. wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance.
+        "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+        "enabled": True or False, # Whether this configuration is enabled.
+        "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+      },
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          { # An entry for an Access Control list.
+            "expirationTime": "A String", # The time when this access control entry expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+            "kind": "sql#aclEntry", # This is always sql#aclEntry.
+            "value": "A String", # The whitelisted value for the access control list.
+            "name": "A String", # An optional label to identify this entry.
+          },
+        ],
+      },
+      "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
+    "instanceType": "A String", # The instance type. This can be one of the following.
+        # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
+        # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
+    "selfLink": "A String", # The URI of this resource.
+    "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="promoteReplica">promoteReplica(project, instance)</code>
+  <pre>Promotes the read replica instance to be a stand-alone Cloud SQL instance.
+
+Args:
+  project: string, ID of the project that contains the read replica. (required)
+  instance: string, Cloud SQL read replica instance name. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetSslConfig">resetSslConfig(project, instance)</code>
+  <pre>Deletes all client certificates and generates a new server SSL certificate for the instance. The changes will not take effect until the instance is restarted. Existing instances without a server certificate will need to call this once to set a server certificate.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="restart">restart(project, instance)</code>
+  <pre>Restarts a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be restarted. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="restoreBackup">restoreBackup(project, instance, body)</code>
+  <pre>Restores a backup of a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance restore backup request.
+    "restoreBackupContext": { # Database instance restore from backup context. # Parameters required to perform the restore backup operation.
+      "kind": "sql#restoreBackupContext", # This is always sql#restoreBackupContext.
+      "backupRunId": "A String", # The ID of the backup run to restore from.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="startReplica">startReplica(project, instance)</code>
+  <pre>Starts the replication in the read replica instance.
+
+Args:
+  project: string, ID of the project that contains the read replica. (required)
+  instance: string, Cloud SQL read replica instance name. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="stopReplica">stopReplica(project, instance)</code>
+  <pre>Stops the replication in the read replica instance.
+
+Args:
+  project: string, ID of the project that contains the read replica. (required)
+  instance: string, Cloud SQL read replica instance name. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, instance, body)</code>
+  <pre>Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "ipv6Address": "A String", # The IPv6 address assigned to the instance.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+      "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+      "selfLink": "A String",
+    },
+    "replicaNames": [ # The replicas of the instance.
+      "A String",
+    ],
+    "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  character_set_server utf8 or utf8mb4 event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off. If set to on, you must also set the log_output flag to TABLE to receive logs. wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance.
+        "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+        "enabled": True or False, # Whether this configuration is enabled.
+        "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+      },
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          { # An entry for an Access Control list.
+            "expirationTime": "A String", # The time when this access control entry expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+            "kind": "sql#aclEntry", # This is always sql#aclEntry.
+            "value": "A String", # The whitelisted value for the access control list.
+            "name": "A String", # An optional label to identify this entry.
+          },
+        ],
+      },
+      "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
+    "instanceType": "A String", # The instance type. This can be one of the following.
+        # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
+        # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
+    "selfLink": "A String", # The URI of this resource.
+    "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.operations.html b/docs/dyn/sqladmin_v1beta4.operations.html
new file mode 100644
index 0000000..80970e8
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.operations.html
@@ -0,0 +1,245 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, operation)</a></code></p>
+<p class="firstline">Retrieves an instance operation that has been performed on an instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, operation)</code>
+  <pre>Retrieves an instance operation that has been performed on an instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  operation: string, Instance operation ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance, maxResults=None, pageToken=None)</code>
+  <pre>Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  maxResults: integer, Maximum number of operations per response.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+
+Returns:
+  An object of the form:
+
+    { # Database instance list operations response.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # List of operation resources.
+      { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+        "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+        "importContext": { # Database instance import context. # The context for import operation, if applicable.
+          "fileType": "A String", # The file type for the specified uri.
+              # SQL: The file contains SQL statements.
+              # CSV: The file contains CSV data.
+          "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+          "kind": "sql#importContext", # This is always sql#importContext.
+          "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+          "csvImportOptions": { # Options for importing data as CSV.
+            "table": "A String", # The table to which CSV data is imported.
+            "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+              "A String",
+            ],
+          },
+        },
+        "kind": "sql#operation", # This is always sql#instanceOperation.
+        "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+        "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+          "kind": "sql#exportContext", # This is always sql#exportContext.
+          "fileType": "A String", # The file type for the specified uri.
+              # SQL: The file contains SQL statements.
+              # CSV: The file contains CSV data.
+          "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+          "csvExportOptions": { # Options for exporting data as CSV.
+            "selectQuery": "A String", # The select query used to extract the data.
+          },
+          "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+            "A String",
+          ],
+          "sqlExportOptions": { # Options for exporting data as SQL statements.
+            "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+              "A String",
+            ],
+          },
+        },
+        "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "targetProject": "A String", # The project ID of the target instance related to this operation.
+        "targetId": "A String", # Name of the database instance related to this operation.
+        "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+        "targetLink": "A String", # The URI of the instance related to the operation.
+        "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "error": { # If errors occurred during processing of this operation, this field will be populated.
+          "errors": [ # The list of errors encountered while processing this operation.
+            { # Database instance operation error.
+              "kind": "sql#operationError", # This is always sql#operationError.
+              "code": "A String", # Identifies the specific error that occurred.
+              "message": "A String", # Additional information about the error encountered.
+            },
+          ],
+        },
+        "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "selfLink": "A String", # The URI of this resource.
+        "user": "A String", # The email address of the user who initiated this operation.
+      },
+    ],
+    "kind": "sql#operationsList", # This is always sql#operationsList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.sslCerts.html b/docs/dyn/sqladmin_v1beta4.sslCerts.html
new file mode 100644
index 0000000..21675da
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.sslCerts.html
@@ -0,0 +1,261 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.sslCerts.html">sslCerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance, sha1Fingerprint)</a></code></p>
+<p class="firstline">Deletes the SSL certificate. The change will not take effect until the instance is restarted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, sha1Fingerprint)</a></code></p>
+<p class="firstline">Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, instance, body)</a></code></p>
+<p class="firstline">Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance)</a></code></p>
+<p class="firstline">Lists all of the current SSL certificates for the instance.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, instance, sha1Fingerprint)</code>
+  <pre>Deletes the SSL certificate. The change will not take effect until the instance is restarted.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be deleted. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  sha1Fingerprint: string, Sha1 FingerPrint. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, instance, sha1Fingerprint)</code>
+  <pre>Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  sha1Fingerprint: string, Sha1 FingerPrint. (required)
+
+Returns:
+  An object of the form:
+
+    { # SslCerts Resource
+    "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+    "kind": "sql#sslCert", # This is always sql#sslCert.
+    "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+    "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+    "instance": "A String", # Name of the database instance.
+    "cert": "A String", # PEM representation.
+    "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+    "selfLink": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, instance, body)</code>
+  <pre>Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.
+
+Args:
+  project: string, Project ID of the project to which the newly created Cloud SQL instances should belong. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SslCerts insert request.
+    "commonName": "A String", # User supplied name. Must be a distinct name from the other certificates for this instance. New certificates will not be usable until the instance is restarted.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # SslCert insert response.
+    "kind": "sql#sslCertsInsert", # This is always sql#sslCertsInsert.
+    "clientCert": { # SslCertDetail. # The new client certificate and private key. The new certificate will not work until the instance is restarted.
+      "certPrivateKey": "A String", # The private key for the client cert, in pem format. Keep private in order to protect your security.
+      "certInfo": { # SslCerts Resource # The public information about the cert.
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+        "selfLink": "A String",
+      },
+    },
+    "serverCaCert": { # SslCerts Resource # The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+      "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+      "selfLink": "A String",
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance)</code>
+  <pre>Lists all of the current SSL certificates for the instance.
+
+Args:
+  project: string, Project ID of the project for which to list Cloud SQL instances. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # SslCerts list response.
+    "items": [ # List of client certificates for the instance.
+      { # SslCerts Resource
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
+        "selfLink": "A String",
+      },
+    ],
+    "kind": "sql#sslCertsList", # This is always sql#sslCertsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.tiers.html b/docs/dyn/sqladmin_v1beta4.tiers.html
new file mode 100644
index 0000000..b73f236
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.tiers.html
@@ -0,0 +1,107 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.tiers.html">tiers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project)</a></code></p>
+<p class="firstline">Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(project)</code>
+  <pre>Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.
+
+Args:
+  project: string, Project ID of the project for which to list tiers. (required)
+
+Returns:
+  An object of the form:
+
+    { # Tiers list response.
+    "items": [ # List of tiers.
+      { # A Google Cloud SQL service tier resource.
+        "DiskQuota": "A String", # The maximum disk size of this tier in bytes.
+        "tier": "A String", # An identifier for the service tier, for example D1, D2 etc. For related information, see Pricing.
+        "kind": "sql#tier", # This is always sql#tier.
+        "RAM": "A String", # The maximum RAM usage of this tier in bytes.
+        "region": [ # The applicable regions for this tier. Can be us-east1, europe-west1 or asia-east1.
+          "A String",
+        ],
+      },
+    ],
+    "kind": "sql#tiersList", # This is always sql#tiersList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta4.users.html b/docs/dyn/sqladmin_v1beta4.users.html
new file mode 100644
index 0000000..8c18bc1
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta4.users.html
@@ -0,0 +1,352 @@
+<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="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.users.html">users</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance, host, name)</a></code></p>
+<p class="firstline">Deletes a user from a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, instance, body)</a></code></p>
+<p class="firstline">Creates a new user in a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance)</a></code></p>
+<p class="firstline">Lists users in the specified Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, instance, host, name, body)</a></code></p>
+<p class="firstline">Updates an existing user in a Cloud SQL instance.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, instance, host, name)</code>
+  <pre>Deletes a user from a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  host: string, Host of the user in the instance. (required)
+  name: string, Name of the user in the instance. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, instance, body)</code>
+  <pre>Creates a new user in a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL user resource.
+    "kind": "sql#user", # This is always sql#user.
+    "name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL.
+    "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL.
+    "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL.
+    "host": "A String", # The host name from which the user can connect. For insert operations, host is set to '%'. For update operations, host is specified as part of the request URL. The host name is not mutable with this API.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "password": "A String", # The password for the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance)</code>
+  <pre>Lists users in the specified Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # User list response.
+    "nextPageToken": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "items": [ # List of user resources in the instance.
+      { # A Cloud SQL user resource.
+          "kind": "sql#user", # This is always sql#user.
+          "name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL.
+          "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL.
+          "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL.
+          "host": "A String", # The host name from which the user can connect. For insert operations, host is set to '%'. For update operations, host is specified as part of the request URL. The host name is not mutable with this API.
+          "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+          "password": "A String", # The password for the user.
+        },
+    ],
+    "kind": "sql#usersList", # This is always sql#usersList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, instance, host, name, body)</code>
+  <pre>Updates an existing user in a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  host: string, Host of the user in the instance. (required)
+  name: string, Name of the user in the instance. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL user resource.
+    "kind": "sql#user", # This is always sql#user.
+    "name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL.
+    "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL.
+    "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL.
+    "host": "A String", # The host name from which the user can connect. For insert operations, host is set to '%'. For update operations, host is specified as part of the request URL. The host name is not mutable with this API.
+    "etag": "A String", # HTTP 1.1 Entity tag for the resource.
+    "password": "A String", # The password for the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL.
+      "csvImportOptions": { # Options for importing data as CSV.
+        "table": "A String", # The table to which CSV data is imported.
+        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
+          "A String",
+        ],
+      },
+    },
+    "kind": "sql#operation", # This is always sql#instanceOperation.
+    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "fileType": "A String", # The file type for the specified uri.
+          # SQL: The file contains SQL statements.
+          # CSV: The file contains CSV data.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
+      "csvExportOptions": { # Options for exporting data as CSV.
+        "selectQuery": "A String", # The select query used to extract the data.
+      },
+      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
+        "A String",
+      ],
+      "sqlExportOptions": { # Options for exporting data as SQL statements.
+        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+          "A String",
+        ],
+      },
+    },
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "targetProject": "A String", # The project ID of the target instance related to this operation.
+    "targetId": "A String", # Name of the database instance related to this operation.
+    "operationType": "A String", # TODO(b/18431310): update this list to reflect current values. The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "targetLink": "A String", # The URI of the instance related to the operation.
+    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # If errors occurred during processing of this operation, this field will be populated.
+      "errors": [ # The list of errors encountered while processing this operation.
+        { # Database instance operation error.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+          "message": "A String", # Additional information about the error encountered.
+        },
+      ],
+    },
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "selfLink": "A String", # The URI of this resource.
+    "user": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1.buckets.html b/docs/dyn/storage_v1.buckets.html
index 0ff294a..47ebd6d 100644
--- a/docs/dyn/storage_v1.buckets.html
+++ b/docs/dyn/storage_v1.buckets.html
@@ -81,19 +81,19 @@
   <code><a href="#get">get(bucket, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
 <p class="firstline">Returns metadata for the specified bucket.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(project, body, projection=None, predefinedAcl=None)</a></code></p>
+  <code><a href="#insert">insert(project, body, projection=None, predefinedDefaultObjectAcl=None, predefinedAcl=None)</a></code></p>
 <p class="firstline">Creates a new bucket.</p>
 <p class="toc_element">
-  <code><a href="#list">list(project, projection=None, pageToken=None, maxResults=None)</a></code></p>
+  <code><a href="#list">list(project, projection=None, pageToken=None, prefix=None, maxResults=None)</a></code></p>
 <p class="firstline">Retrieves a list of buckets for a given project.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</a></code></p>
+  <code><a href="#patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedDefaultObjectAcl=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</a></code></p>
 <p class="firstline">Updates a bucket. This method supports patch semantics.</p>
 <p class="toc_element">
-  <code><a href="#update">update(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</a></code></p>
+  <code><a href="#update">update(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedDefaultObjectAcl=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</a></code></p>
 <p class="firstline">Updates a bucket.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -242,7 +242,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(project, body, projection=None, predefinedAcl=None)</code>
+    <code class="details" id="insert">insert(project, body, projection=None, predefinedDefaultObjectAcl=None, predefinedAcl=None)</code>
   <pre>Creates a new bucket.
 
 Args:
@@ -371,6 +371,14 @@
     Allowed values
       full - Include all properties.
       noAcl - Omit acl and defaultObjectAcl properties.
+  predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket.
+    Allowed values
+      authenticatedRead - Object owner gets OWNER access, and allAuthenticatedUsers get READER access.
+      bucketOwnerFullControl - Object owner gets OWNER access, and project team owners get OWNER access.
+      bucketOwnerRead - Object owner gets OWNER access, and project team owners get READER access.
+      private - Object owner gets OWNER access.
+      projectPrivate - Object owner gets OWNER access, and project team members get access according to their roles.
+      publicRead - Object owner gets OWNER access, and allUsers get READER access.
   predefinedAcl: string, Apply a predefined set of access controls to this bucket.
     Allowed values
       authenticatedRead - Project team owners get OWNER access, and allAuthenticatedUsers get READER access.
@@ -501,7 +509,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(project, projection=None, pageToken=None, maxResults=None)</code>
+    <code class="details" id="list">list(project, projection=None, pageToken=None, prefix=None, maxResults=None)</code>
   <pre>Retrieves a list of buckets for a given project.
 
 Args:
@@ -511,6 +519,7 @@
       full - Include all properties.
       noAcl - Omit acl and defaultObjectAcl properties.
   pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  prefix: string, Filter results to buckets whose names begin with this prefix.
   maxResults: integer, Maximum number of buckets to return.
 
 Returns:
@@ -655,7 +664,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</code>
+    <code class="details" id="patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedDefaultObjectAcl=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</code>
   <pre>Updates a bucket. This method supports patch semantics.
 
 Args:
@@ -785,6 +794,14 @@
       full - Include all properties.
       noAcl - Omit acl and defaultObjectAcl properties.
   ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket.
+    Allowed values
+      authenticatedRead - Object owner gets OWNER access, and allAuthenticatedUsers get READER access.
+      bucketOwnerFullControl - Object owner gets OWNER access, and project team owners get OWNER access.
+      bucketOwnerRead - Object owner gets OWNER access, and project team owners get READER access.
+      private - Object owner gets OWNER access.
+      projectPrivate - Object owner gets OWNER access, and project team members get access according to their roles.
+      publicRead - Object owner gets OWNER access, and allUsers get READER access.
   predefinedAcl: string, Apply a predefined set of access controls to this bucket.
     Allowed values
       authenticatedRead - Project team owners get OWNER access, and allAuthenticatedUsers get READER access.
@@ -916,7 +933,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</code>
+    <code class="details" id="update">update(bucket, body, projection=None, ifMetagenerationMatch=None, predefinedDefaultObjectAcl=None, predefinedAcl=None, ifMetagenerationNotMatch=None)</code>
   <pre>Updates a bucket.
 
 Args:
@@ -1046,6 +1063,14 @@
       full - Include all properties.
       noAcl - Omit acl and defaultObjectAcl properties.
   ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket.
+    Allowed values
+      authenticatedRead - Object owner gets OWNER access, and allAuthenticatedUsers get READER access.
+      bucketOwnerFullControl - Object owner gets OWNER access, and project team owners get OWNER access.
+      bucketOwnerRead - Object owner gets OWNER access, and project team owners get READER access.
+      private - Object owner gets OWNER access.
+      projectPrivate - Object owner gets OWNER access, and project team members get access according to their roles.
+      publicRead - Object owner gets OWNER access, and allUsers get READER access.
   predefinedAcl: string, Apply a predefined set of access controls to this bucket.
     Allowed values
       authenticatedRead - Project team owners get OWNER access, and allAuthenticatedUsers get READER access.
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.html b/docs/dyn/tagmanager_v1.accounts.containers.html
index b66d672..20249d1 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.html
@@ -131,6 +131,9 @@
 
 { # Represents a Google Tag Manager Container.
     "timeZoneId": "A String", # Container Time Zone ID.
+    "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+      "A String",
+    ],
     "timeZoneCountryId": "A String", # Container Country ID.
     "publicId": "A String", # Container Public ID.
     "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -152,6 +155,9 @@
 
     { # Represents a Google Tag Manager Container.
       "timeZoneId": "A String", # Container Time Zone ID.
+      "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+        "A String",
+      ],
       "timeZoneCountryId": "A String", # Container Country ID.
       "publicId": "A String", # Container Public ID.
       "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -191,6 +197,9 @@
 
     { # Represents a Google Tag Manager Container.
       "timeZoneId": "A String", # Container Time Zone ID.
+      "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+        "A String",
+      ],
       "timeZoneCountryId": "A String", # Container Country ID.
       "publicId": "A String", # Container Public ID.
       "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -221,6 +230,9 @@
     "containers": [ # All Containers of a GTM Account.
       { # Represents a Google Tag Manager Container.
           "timeZoneId": "A String", # Container Time Zone ID.
+          "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+            "A String",
+          ],
           "timeZoneCountryId": "A String", # Container Country ID.
           "publicId": "A String", # Container Public ID.
           "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -251,6 +263,9 @@
 
 { # Represents a Google Tag Manager Container.
     "timeZoneId": "A String", # Container Time Zone ID.
+    "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+      "A String",
+    ],
     "timeZoneCountryId": "A String", # Container Country ID.
     "publicId": "A String", # Container Public ID.
     "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -273,6 +288,9 @@
 
     { # Represents a Google Tag Manager Container.
       "timeZoneId": "A String", # Container Time Zone ID.
+      "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+        "A String",
+      ],
       "timeZoneCountryId": "A String", # Container Country ID.
       "publicId": "A String", # Container Public ID.
       "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.tags.html b/docs/dyn/tagmanager_v1.accounts.containers.tags.html
index 1683e46..84df802 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.tags.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.tags.html
@@ -127,22 +127,6 @@
     "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
       "A String",
     ],
-    "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
     "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
     "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
     "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -206,22 +190,6 @@
       "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
         "A String",
       ],
-      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
       "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
       "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
       "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -305,22 +273,6 @@
       "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
         "A String",
       ],
-      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
       "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
       "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
       "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -394,22 +346,6 @@
           "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
             "A String",
           ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
           "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
           "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
           "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -483,22 +419,6 @@
     "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
       "A String",
     ],
-    "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-      "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-        # Object with schema name: Parameter
-      ],
-      "list": [ # This list parameter's parameters (keys will be ignored).
-        # Object with schema name: Parameter
-      ],
-      "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-      "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-      "type": "A String", # The parameter type. Valid values are:
-          # - boolean: The value represents a boolean, represented as 'true' or 'false'
-          # - integer: The value represents a 64-bit signed integer value, in base 10
-          # - list: A list of parameters should be specified
-          # - map: A map of parameters should be specified
-          # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-    },
     "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
     "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
     "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -563,22 +483,6 @@
       "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
         "A String",
       ],
-      "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-        "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-          # Object with schema name: Parameter
-        ],
-        "list": [ # This list parameter's parameters (keys will be ignored).
-          # Object with schema name: Parameter
-        ],
-        "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-        "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-        "type": "A String", # The parameter type. Valid values are:
-            # - boolean: The value represents a boolean, represented as 'true' or 'false'
-            # - integer: The value represents a 64-bit signed integer value, in base 10
-            # - list: A list of parameters should be specified
-            # - map: A map of parameters should be specified
-            # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-      },
       "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
       "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
       "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.triggers.html b/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
index 3231788..97d6a54 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.triggers.html
@@ -144,7 +144,7 @@
           # - map: A map of parameters should be specified
           # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
     },
-    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
       "map": [ # This map parameter's parameters (must have keys; keys must be unique).
         # Object with schema name: Parameter
       ],
@@ -382,7 +382,7 @@
             # - map: A map of parameters should be specified
             # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
         "map": [ # This map parameter's parameters (must have keys; keys must be unique).
           # Object with schema name: Parameter
         ],
@@ -640,7 +640,7 @@
             # - map: A map of parameters should be specified
             # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
         "map": [ # This map parameter's parameters (must have keys; keys must be unique).
           # Object with schema name: Parameter
         ],
@@ -888,7 +888,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -1136,7 +1136,7 @@
           # - map: A map of parameters should be specified
           # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
     },
-    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+    "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
       "map": [ # This map parameter's parameters (must have keys; keys must be unique).
         # Object with schema name: Parameter
       ],
@@ -1375,7 +1375,7 @@
             # - map: A map of parameters should be specified
             # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
       },
-      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+      "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
         "map": [ # This map parameter's parameters (must have keys; keys must be unique).
           # Object with schema name: Parameter
         ],
diff --git a/docs/dyn/tagmanager_v1.accounts.containers.versions.html b/docs/dyn/tagmanager_v1.accounts.containers.versions.html
index 7c2910b..8d9a4fb 100644
--- a/docs/dyn/tagmanager_v1.accounts.containers.versions.html
+++ b/docs/dyn/tagmanager_v1.accounts.containers.versions.html
@@ -123,6 +123,9 @@
     "containerVersion": { # Represents a Google Tag Manager Container Version. # The container version created.
       "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
           "timeZoneId": "A String", # Container Time Zone ID.
+          "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+            "A String",
+          ],
           "timeZoneCountryId": "A String", # Container Country ID.
           "publicId": "A String", # Container Public ID.
           "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -243,22 +246,6 @@
             "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
               "A String",
             ],
-            "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
             "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
             "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
             "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -293,6 +280,43 @@
       ],
       "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
       "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+      "variable": [ # The variables in the container that this version was taken from.
+        { # Represents a Google Tag Manager Variable.
+            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+            "name": "A String", # Variable display name.
+            "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+            "type": "A String", # GTM Variable Type.
+            "notes": "A String", # User notes on how to apply this variable in the container.
+            "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+              "A String",
+            ],
+            "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+            "accountId": "A String", # GTM Account ID.
+            "parameter": [ # The variable's parameters.
+              { # Represents a Google Tag Manager Parameter.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+            ],
+            "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+              "A String",
+            ],
+            "containerId": "A String", # GTM Container ID.
+          },
+      ],
       "trigger": [ # The triggers in the container that this version was taken from.
         { # Represents a Google Tag Manager Trigger
             "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -338,7 +362,7 @@
                   # - map: A map of parameters should be specified
                   # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
             },
-            "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+            "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
               "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                 # Object with schema name: Parameter
               ],
@@ -560,6 +584,9 @@
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
         "timeZoneId": "A String", # Container Time Zone ID.
+        "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+          "A String",
+        ],
         "timeZoneCountryId": "A String", # Container Country ID.
         "publicId": "A String", # Container Public ID.
         "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -680,22 +707,6 @@
           "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
             "A String",
           ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
           "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
           "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
           "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -730,6 +741,43 @@
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "variable": [ # The variables in the container that this version was taken from.
+      { # Represents a Google Tag Manager Variable.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+          "name": "A String", # Variable display name.
+          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+          "type": "A String", # GTM Variable Type.
+          "notes": "A String", # User notes on how to apply this variable in the container.
+          "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+          "accountId": "A String", # GTM Account ID.
+          "parameter": [ # The variable's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+            "A String",
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
+    ],
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
           "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -775,7 +823,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -987,6 +1035,7 @@
         "name": "A String", # Container version display name.
         "deleted": True or False, # A value of true indicates this container version has been deleted.
         "numMacros": "A String", # Number of macros in the container version.
+        "numVariables": "A String", # Number of variables in the container version.
         "numTags": "A String", # Number of tags in the container version.
         "numRules": "A String", # Number of rules in the container version.
         "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
@@ -999,6 +1048,9 @@
       { # Represents a Google Tag Manager Container Version.
         "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
             "timeZoneId": "A String", # Container Time Zone ID.
+            "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+              "A String",
+            ],
             "timeZoneCountryId": "A String", # Container Country ID.
             "publicId": "A String", # Container Public ID.
             "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -1119,22 +1171,6 @@
               "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
                 "A String",
               ],
-              "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                  # Object with schema name: Parameter
-                ],
-                "list": [ # This list parameter's parameters (keys will be ignored).
-                  # Object with schema name: Parameter
-                ],
-                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-                "type": "A String", # The parameter type. Valid values are:
-                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                    # - integer: The value represents a 64-bit signed integer value, in base 10
-                    # - list: A list of parameters should be specified
-                    # - map: A map of parameters should be specified
-                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-              },
               "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
               "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
               "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -1169,6 +1205,43 @@
         ],
         "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
         "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+        "variable": [ # The variables in the container that this version was taken from.
+          { # Represents a Google Tag Manager Variable.
+              "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+              "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+              "name": "A String", # Variable display name.
+              "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+              "type": "A String", # GTM Variable Type.
+              "notes": "A String", # User notes on how to apply this variable in the container.
+              "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+                "A String",
+              ],
+              "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+              "accountId": "A String", # GTM Account ID.
+              "parameter": [ # The variable's parameters.
+                { # Represents a Google Tag Manager Parameter.
+                  "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                    # Object with schema name: Parameter
+                  ],
+                  "list": [ # This list parameter's parameters (keys will be ignored).
+                    # Object with schema name: Parameter
+                  ],
+                  "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                  "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                  "type": "A String", # The parameter type. Valid values are:
+                      # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                      # - integer: The value represents a 64-bit signed integer value, in base 10
+                      # - list: A list of parameters should be specified
+                      # - map: A map of parameters should be specified
+                      # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+                },
+              ],
+              "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+                "A String",
+              ],
+              "containerId": "A String", # GTM Container ID.
+            },
+        ],
         "trigger": [ # The triggers in the container that this version was taken from.
           { # Represents a Google Tag Manager Trigger
               "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -1214,7 +1287,7 @@
                     # - map: A map of parameters should be specified
                     # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
               },
-              "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+              "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
                 "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                   # Object with schema name: Parameter
                 ],
@@ -1427,6 +1500,9 @@
     "containerVersion": { # Represents a Google Tag Manager Container Version. # The container version created.
       "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
           "timeZoneId": "A String", # Container Time Zone ID.
+          "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+            "A String",
+          ],
           "timeZoneCountryId": "A String", # Container Country ID.
           "publicId": "A String", # Container Public ID.
           "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -1547,22 +1623,6 @@
             "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
               "A String",
             ],
-            "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-                # Object with schema name: Parameter
-              ],
-              "list": [ # This list parameter's parameters (keys will be ignored).
-                # Object with schema name: Parameter
-              ],
-              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-              "type": "A String", # The parameter type. Valid values are:
-                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                  # - integer: The value represents a 64-bit signed integer value, in base 10
-                  # - list: A list of parameters should be specified
-                  # - map: A map of parameters should be specified
-                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-            },
             "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
             "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
             "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -1597,6 +1657,43 @@
       ],
       "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
       "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+      "variable": [ # The variables in the container that this version was taken from.
+        { # Represents a Google Tag Manager Variable.
+            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+            "name": "A String", # Variable display name.
+            "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+            "type": "A String", # GTM Variable Type.
+            "notes": "A String", # User notes on how to apply this variable in the container.
+            "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+              "A String",
+            ],
+            "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+            "accountId": "A String", # GTM Account ID.
+            "parameter": [ # The variable's parameters.
+              { # Represents a Google Tag Manager Parameter.
+                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                  # Object with schema name: Parameter
+                ],
+                "list": [ # This list parameter's parameters (keys will be ignored).
+                  # Object with schema name: Parameter
+                ],
+                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+                "type": "A String", # The parameter type. Valid values are:
+                    # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                    # - integer: The value represents a 64-bit signed integer value, in base 10
+                    # - list: A list of parameters should be specified
+                    # - map: A map of parameters should be specified
+                    # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+              },
+            ],
+            "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+              "A String",
+            ],
+            "containerId": "A String", # GTM Container ID.
+          },
+      ],
       "trigger": [ # The triggers in the container that this version was taken from.
         { # Represents a Google Tag Manager Trigger
             "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -1642,7 +1739,7 @@
                   # - map: A map of parameters should be specified
                   # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
             },
-            "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+            "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
               "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                 # Object with schema name: Parameter
               ],
@@ -1853,6 +1950,9 @@
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
         "timeZoneId": "A String", # Container Time Zone ID.
+        "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+          "A String",
+        ],
         "timeZoneCountryId": "A String", # Container Country ID.
         "publicId": "A String", # Container Public ID.
         "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -1973,22 +2073,6 @@
           "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
             "A String",
           ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
           "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
           "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
           "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -2023,6 +2107,43 @@
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "variable": [ # The variables in the container that this version was taken from.
+      { # Represents a Google Tag Manager Variable.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+          "name": "A String", # Variable display name.
+          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+          "type": "A String", # GTM Variable Type.
+          "notes": "A String", # User notes on how to apply this variable in the container.
+          "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+          "accountId": "A String", # GTM Account ID.
+          "parameter": [ # The variable's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+            "A String",
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
+    ],
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
           "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -2068,7 +2189,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -2277,6 +2398,9 @@
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
         "timeZoneId": "A String", # Container Time Zone ID.
+        "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+          "A String",
+        ],
         "timeZoneCountryId": "A String", # Container Country ID.
         "publicId": "A String", # Container Public ID.
         "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -2397,22 +2521,6 @@
           "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
             "A String",
           ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
           "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
           "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
           "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -2447,6 +2555,43 @@
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "variable": [ # The variables in the container that this version was taken from.
+      { # Represents a Google Tag Manager Variable.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+          "name": "A String", # Variable display name.
+          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+          "type": "A String", # GTM Variable Type.
+          "notes": "A String", # User notes on how to apply this variable in the container.
+          "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+          "accountId": "A String", # GTM Account ID.
+          "parameter": [ # The variable's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+            "A String",
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
+    ],
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
           "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -2492,7 +2637,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
@@ -2700,6 +2845,9 @@
 { # Represents a Google Tag Manager Container Version.
   "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
       "timeZoneId": "A String", # Container Time Zone ID.
+      "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+        "A String",
+      ],
       "timeZoneCountryId": "A String", # Container Country ID.
       "publicId": "A String", # Container Public ID.
       "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -2820,22 +2968,6 @@
         "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
           "A String",
         ],
-        "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-            # Object with schema name: Parameter
-          ],
-          "list": [ # This list parameter's parameters (keys will be ignored).
-            # Object with schema name: Parameter
-          ],
-          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-          "type": "A String", # The parameter type. Valid values are:
-              # - boolean: The value represents a boolean, represented as 'true' or 'false'
-              # - integer: The value represents a 64-bit signed integer value, in base 10
-              # - list: A list of parameters should be specified
-              # - map: A map of parameters should be specified
-              # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-        },
         "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
         "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
         "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -2870,6 +3002,43 @@
   ],
   "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
   "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+  "variable": [ # The variables in the container that this version was taken from.
+    { # Represents a Google Tag Manager Variable.
+        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+        "name": "A String", # Variable display name.
+        "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+        "type": "A String", # GTM Variable Type.
+        "notes": "A String", # User notes on how to apply this variable in the container.
+        "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+          "A String",
+        ],
+        "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+        "accountId": "A String", # GTM Account ID.
+        "parameter": [ # The variable's parameters.
+          { # Represents a Google Tag Manager Parameter.
+            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+              # Object with schema name: Parameter
+            ],
+            "list": [ # This list parameter's parameters (keys will be ignored).
+              # Object with schema name: Parameter
+            ],
+            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+            "type": "A String", # The parameter type. Valid values are:
+                # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                # - integer: The value represents a 64-bit signed integer value, in base 10
+                # - list: A list of parameters should be specified
+                # - map: A map of parameters should be specified
+                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+          },
+        ],
+        "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+          "A String",
+        ],
+        "containerId": "A String", # GTM Container ID.
+      },
+  ],
   "trigger": [ # The triggers in the container that this version was taken from.
     { # Represents a Google Tag Manager Trigger
         "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -2915,7 +3084,7 @@
               # - map: A map of parameters should be specified
               # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
         },
-        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+        "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
           "map": [ # This map parameter's parameters (must have keys; keys must be unique).
             # Object with schema name: Parameter
           ],
@@ -3116,6 +3285,9 @@
     { # Represents a Google Tag Manager Container Version.
     "container": { # Represents a Google Tag Manager Container. # The container that this version was taken from.
         "timeZoneId": "A String", # Container Time Zone ID.
+        "enabledBuiltInVariable": [ # List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.
+          "A String",
+        ],
         "timeZoneCountryId": "A String", # Container Country ID.
         "publicId": "A String", # Container Public ID.
         "containerId": "A String", # The Container ID uniquely identifies the GTM Container.
@@ -3236,22 +3408,6 @@
           "blockingRuleId": [ # Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire.
             "A String",
           ],
-          "dependencies": { # Represents a Google Tag Manager Parameter. # An optional list of tag names that this tag depends on to fire. Execution of this tag will be prevented until the tags with the given names complete their execution.
-            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
-              # Object with schema name: Parameter
-            ],
-            "list": [ # This list parameter's parameters (keys will be ignored).
-              # Object with schema name: Parameter
-            ],
-            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
-            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
-            "type": "A String", # The parameter type. Valid values are:
-                # - boolean: The value represents a boolean, represented as 'true' or 'false'
-                # - integer: The value represents a 64-bit signed integer value, in base 10
-                # - list: A list of parameters should be specified
-                # - map: A map of parameters should be specified
-                # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
-          },
           "liveOnly": True or False, # If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).
           "fingerprint": "A String", # The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.
           "firingRuleId": [ # Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false.
@@ -3286,6 +3442,43 @@
     ],
     "containerVersionId": "A String", # The Container Version ID uniquely identifies the GTM Container Version.
     "fingerprint": "A String", # The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.
+    "variable": [ # The variables in the container that this version was taken from.
+      { # Represents a Google Tag Manager Variable.
+          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
+          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
+          "name": "A String", # Variable display name.
+          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
+          "type": "A String", # GTM Variable Type.
+          "notes": "A String", # User notes on how to apply this variable in the container.
+          "enablingTriggerId": [ # For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.
+            "A String",
+          ],
+          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
+          "accountId": "A String", # GTM Account ID.
+          "parameter": [ # The variable's parameters.
+            { # Represents a Google Tag Manager Parameter.
+              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
+                # Object with schema name: Parameter
+              ],
+              "list": [ # This list parameter's parameters (keys will be ignored).
+                # Object with schema name: Parameter
+              ],
+              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
+              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
+              "type": "A String", # The parameter type. Valid values are:
+                  # - boolean: The value represents a boolean, represented as 'true' or 'false'
+                  # - integer: The value represents a 64-bit signed integer value, in base 10
+                  # - list: A list of parameters should be specified
+                  # - map: A map of parameters should be specified
+                  # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
+            },
+          ],
+          "disablingTriggerId": [ # For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.
+            "A String",
+          ],
+          "containerId": "A String", # GTM Container ID.
+        },
+    ],
     "trigger": [ # The triggers in the container that this version was taken from.
       { # Represents a Google Tag Manager Trigger
           "filter": [ # The trigger will only fire iff all Conditions are true.
@@ -3331,7 +3524,7 @@
                 # - map: A map of parameters should be specified
                 # - template: The value represents any text; this can include macro references (even macro references that might return non-string types)
           },
-          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this Form Submit or Link Click listeners if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submission and Link Click triggers.
+          "uniqueTriggerId": { # Represents a Google Tag Manager Parameter. # Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.
             "map": [ # This map parameter's parameters (must have keys; keys must be unique).
               # Object with schema name: Parameter
             ],
diff --git a/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html b/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html
index 9f34031..adfa4d1 100644
--- a/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html
+++ b/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html
@@ -92,12 +92,7 @@
     "items": [ # A list of batchReportDefinition resources that match the request criteria.
       { # Contains single batchReportDefinition resource.
         "status": "A String", # Status of the report definition.
-        "defaultOutput": [ # Default report definition's output.
-          {
-            "type": "cloudStorageOutput", # Type of the output.
-            "format": "A String", # Format of the output.
-          },
-        ],
+        "kind": "youtubeAnalytics#batchReportDefinition", # This value specifies the type of data of this item. For batch report definition the kind property value is youtubeAnalytics#batchReportDefinition.
         "type": "A String", # Type of the report definition.
         "id": "A String", # The ID that YouTube assigns and uses to uniquely identify the report definition.
         "name": "A String", # Name of the report definition.
diff --git a/docs/dyn/youtubeAnalytics_v1.batchReports.html b/docs/dyn/youtubeAnalytics_v1.batchReports.html
index a43d960..1bd13af 100644
--- a/docs/dyn/youtubeAnalytics_v1.batchReports.html
+++ b/docs/dyn/youtubeAnalytics_v1.batchReports.html
@@ -92,6 +92,11 @@
     { # A paginated list of batchReport resources returned in response to a youtubeAnalytics.batchReport.list request.
     "items": [ # A list of batchReport resources that match the request criteria.
       { # Contains single batchReport resource.
+        "kind": "youtubeAnalytics#batchReport", # This value specifies the type of data of this item. For batch report the kind property value is youtubeAnalytics#batchReport.
+        "timeSpan": { # Period included in the report. For reports containing all entities endTime is not set. Both startTime and endTime are inclusive.
+          "endTime": "A String", # End of the period included in the report. Inclusive. For reports containing all entities endTime is not set.
+          "startTime": "A String", # Start of the period included in the report. Inclusive.
+        },
         "outputs": [ # Report outputs.
           {
             "downloadUrl": "A String", # Cloud storage URL to download this report. This URL is valid for 30 minutes.
@@ -99,13 +104,9 @@
             "format": "A String", # Format of the output.
           },
         ],
-        "timeSpan": { # Period included in the report. For reports containing all entities endTime is not set. Both startTime and endTime are inclusive.
-          "endTime": "A String", # End of the period included in the report. Inclusive. For reports containing all entities endTime is not set.
-          "startTime": "A String", # Start of the period included in the report. Inclusive.
-        },
+        "reportId": "A String", # The ID of the the report definition.
         "timeUpdated": "A String", # The time when the report was updated.
         "id": "A String", # The ID that YouTube assigns and uses to uniquely identify the report.
-        "report_id": "A String", # The ID of the the report definition.
       },
     ],
     "kind": "youtubeAnalytics#batchReportList", # This value specifies the type of data included in the API response. For the list method, the kind property value is youtubeAnalytics#batchReportList.
diff --git a/docs/dyn/youtubeAnalytics_v1.groupItems.html b/docs/dyn/youtubeAnalytics_v1.groupItems.html
new file mode 100644
index 0000000..c52f540
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v1.groupItems.html
@@ -0,0 +1,168 @@
+<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="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.groupItems.html">groupItems</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Removes an item from a group.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Creates a group item.</p>
+<p class="toc_element">
+  <code><a href="#list">list(groupId, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Returns a collection of group items that match the API request parameters.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
+  <pre>Removes an item from a group.
+
+Args:
+  id: string, The id parameter specifies the YouTube group item ID for the group that is being deleted. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, onBehalfOfContentOwner=None)</code>
+  <pre>Creates a group item.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "youtube#groupItem",
+    "etag": "A String",
+    "resource": {
+      "kind": "A String",
+      "id": "A String",
+    },
+    "groupId": "A String",
+    "id": "A String",
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "youtube#groupItem",
+      "etag": "A String",
+      "resource": {
+        "kind": "A String",
+        "id": "A String",
+      },
+      "groupId": "A String",
+      "id": "A String",
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(groupId, onBehalfOfContentOwner=None)</code>
+  <pre>Returns a collection of group items that match the API request parameters.
+
+Args:
+  groupId: string, The id parameter specifies the unique ID of the group for which you want to retrieve group items. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    { # A paginated list of grouList resources returned in response to a youtubeAnalytics.groupApi.list request.
+    "items": [
+      {
+          "kind": "youtube#groupItem",
+          "etag": "A String",
+          "resource": {
+            "kind": "A String",
+            "id": "A String",
+          },
+          "groupId": "A String",
+          "id": "A String",
+        },
+    ],
+    "kind": "youtube#groupItemListResponse",
+    "etag": "A String",
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.groups.html b/docs/dyn/youtubeAnalytics_v1.groups.html
new file mode 100644
index 0000000..a0b2ccf
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v1.groups.html
@@ -0,0 +1,225 @@
+<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="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.groups.html">groups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Deletes a group.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Creates a group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(onBehalfOfContentOwner=None, mine=None, id=None)</a></code></p>
+<p class="firstline">Returns a collection of groups that match the API request parameters. For example, you can retrieve all groups that the authenticated user owns, or you can retrieve one or more groups by their unique IDs.</p>
+<p class="toc_element">
+  <code><a href="#update">update(body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Modifies a group. For example, you could change a group's title.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
+  <pre>Deletes a group.
+
+Args:
+  id: string, The id parameter specifies the YouTube group ID for the group that is being deleted. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, onBehalfOfContentOwner=None)</code>
+  <pre>Creates a group.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "snippet": {
+      "publishedAt": "A String",
+      "title": "A String",
+    },
+    "contentDetails": {
+      "itemCount": "A String",
+      "itemType": "A String",
+    },
+    "kind": "youtube#group",
+    "etag": "A String",
+    "id": "A String",
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    {
+      "snippet": {
+        "publishedAt": "A String",
+        "title": "A String",
+      },
+      "contentDetails": {
+        "itemCount": "A String",
+        "itemType": "A String",
+      },
+      "kind": "youtube#group",
+      "etag": "A String",
+      "id": "A String",
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(onBehalfOfContentOwner=None, mine=None, id=None)</code>
+  <pre>Returns a collection of groups that match the API request parameters. For example, you can retrieve all groups that the authenticated user owns, or you can retrieve one or more groups by their unique IDs.
+
+Args:
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  mine: boolean, Set this parameter's value to true to instruct the API to only return groups owned by the authenticated user.
+  id: string, The id parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. In a group resource, the id property specifies the group's YouTube group ID.
+
+Returns:
+  An object of the form:
+
+    { # A paginated list of grouList resources returned in response to a youtubeAnalytics.groupApi.list request.
+    "items": [
+      {
+          "snippet": {
+            "publishedAt": "A String",
+            "title": "A String",
+          },
+          "contentDetails": {
+            "itemCount": "A String",
+            "itemType": "A String",
+          },
+          "kind": "youtube#group",
+          "etag": "A String",
+          "id": "A String",
+        },
+    ],
+    "kind": "youtube#groupListResponse",
+    "etag": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(body, onBehalfOfContentOwner=None)</code>
+  <pre>Modifies a group. For example, you could change a group's title.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "snippet": {
+      "publishedAt": "A String",
+      "title": "A String",
+    },
+    "contentDetails": {
+      "itemCount": "A String",
+      "itemType": "A String",
+    },
+    "kind": "youtube#group",
+    "etag": "A String",
+    "id": "A String",
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    {
+      "snippet": {
+        "publishedAt": "A String",
+        "title": "A String",
+      },
+      "contentDetails": {
+        "itemCount": "A String",
+        "itemType": "A String",
+      },
+      "kind": "youtube#group",
+      "etag": "A String",
+      "id": "A String",
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.html b/docs/dyn/youtubeAnalytics_v1.html
index 09b5912..8ec35ee 100644
--- a/docs/dyn/youtubeAnalytics_v1.html
+++ b/docs/dyn/youtubeAnalytics_v1.html
@@ -85,6 +85,16 @@
 <p class="firstline">Returns the batchReports Resource.</p>
 
 <p class="toc_element">
+  <code><a href="youtubeAnalytics_v1.groupItems.html">groupItems()</a></code>
+</p>
+<p class="firstline">Returns the groupItems Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtubeAnalytics_v1.groups.html">groups()</a></code>
+</p>
+<p class="firstline">Returns the groups Resource.</p>
+
+<p class="toc_element">
   <code><a href="youtubeAnalytics_v1.reports.html">reports()</a></code>
 </p>
 <p class="firstline">Returns the reports Resource.</p>
diff --git a/docs/dyn/youtube_v3.channelSections.html b/docs/dyn/youtube_v3.channelSections.html
index 2b90420..bcf573b 100644
--- a/docs/dyn/youtube_v3.channelSections.html
+++ b/docs/dyn/youtube_v3.channelSections.html
@@ -75,7 +75,7 @@
 <h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.channelSections.html">channelSections</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
 <p class="firstline">Deletes a channelSection.</p>
 <p class="toc_element">
   <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></p>
@@ -84,15 +84,18 @@
   <code><a href="#list">list(part=None, onBehalfOfContentOwner=None, channelId=None, mine=None, id=None)</a></code></p>
 <p class="firstline">Returns channelSection resources that match the API request criteria.</p>
 <p class="toc_element">
-  <code><a href="#update">update(part=None, body)</a></code></p>
+  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
 <p class="firstline">Update a channelSection.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="delete">delete(id)</code>
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
   <pre>Deletes a channelSection.
 
 Args:
   id: string, The id parameter specifies the YouTube channelSection ID for the resource that is being deleted. In a channelSection resource, the id property specifies the YouTube channelSection ID. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
 </pre>
 </div>
 
@@ -107,15 +110,9 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
-    "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
-      "position": 42, # The position of the channelSection in the channel.
-      "style": "A String", # The style of the channelSection.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
-      "type": "A String", # The type of the channelSection.
-      "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
-    },
-    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+{
+    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
       "channels": [ # The channel ids for type multiple_channels.
         "A String",
       ],
@@ -123,9 +120,24 @@
         "A String",
       ],
     },
-    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "snippet": { # Basic details about a channel section, including title, style and position. # The snippet object contains basic details about the channel section, such as its type, style and title.
+      "style": "A String", # The style of the channel section.
+      "title": "A String", # The channel section's title for multiple_playlists and multiple_channels.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channel section.
+      "defaultLanguage": "A String", # The language of the channel section's default title and description.
+      "position": 42, # The position of the channel section in the channel.
+      "type": "A String", # The type of the channel section.
+      "localized": { # ChannelSection localization setting # Localized title, read-only.
+        "title": "A String", # The localized strings for channel section's title.
+      },
+    },
     "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the channel section.
+    "localizations": { # Localizations for different languages
+      "a_key": { # ChannelSection localization setting # The language tag, using string since map_key require simple types.
+        "title": "A String", # The localized strings for channel section's title.
+      },
+    },
   }
 
   onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
@@ -140,15 +152,9 @@
 Returns:
   An object of the form:
 
-    { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
-      "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
-        "position": 42, # The position of the channelSection in the channel.
-        "style": "A String", # The style of the channelSection.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
-        "type": "A String", # The type of the channelSection.
-        "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
-      },
-      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+    {
+      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
         "channels": [ # The channel ids for type multiple_channels.
           "A String",
         ],
@@ -156,9 +162,24 @@
           "A String",
         ],
       },
-      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "snippet": { # Basic details about a channel section, including title, style and position. # The snippet object contains basic details about the channel section, such as its type, style and title.
+        "style": "A String", # The style of the channel section.
+        "title": "A String", # The channel section's title for multiple_playlists and multiple_channels.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channel section.
+        "defaultLanguage": "A String", # The language of the channel section's default title and description.
+        "position": 42, # The position of the channel section in the channel.
+        "type": "A String", # The type of the channel section.
+        "localized": { # ChannelSection localization setting # Localized title, read-only.
+          "title": "A String", # The localized strings for channel section's title.
+        },
+      },
       "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the channel section.
+      "localizations": { # Localizations for different languages
+        "a_key": { # ChannelSection localization setting # The language tag, using string since map_key require simple types.
+          "title": "A String", # The localized strings for channel section's title.
+        },
+      },
     }</pre>
 </div>
 
@@ -183,15 +204,9 @@
     {
     "eventId": "A String", # Serialized EventId of the request which produced this response.
     "items": [ # A list of ChannelSections that match the request criteria.
-      { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
-          "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
-            "position": 42, # The position of the channelSection in the channel.
-            "style": "A String", # The style of the channelSection.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
-            "type": "A String", # The type of the channelSection.
-            "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
-          },
-          "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+      {
+          "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+          "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
             "channels": [ # The channel ids for type multiple_channels.
               "A String",
             ],
@@ -199,9 +214,24 @@
               "A String",
             ],
           },
-          "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+          "snippet": { # Basic details about a channel section, including title, style and position. # The snippet object contains basic details about the channel section, such as its type, style and title.
+            "style": "A String", # The style of the channel section.
+            "title": "A String", # The channel section's title for multiple_playlists and multiple_channels.
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channel section.
+            "defaultLanguage": "A String", # The language of the channel section's default title and description.
+            "position": 42, # The position of the channel section in the channel.
+            "type": "A String", # The type of the channel section.
+            "localized": { # ChannelSection localization setting # Localized title, read-only.
+              "title": "A String", # The localized strings for channel section's title.
+            },
+          },
           "etag": "A String", # Etag of this resource.
-          "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the channel section.
+          "localizations": { # Localizations for different languages
+            "a_key": { # ChannelSection localization setting # The language tag, using string since map_key require simple types.
+              "title": "A String", # The localized strings for channel section's title.
+            },
+          },
         },
     ],
     "kind": "youtube#channelSectionListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSectionListResponse".
@@ -211,7 +241,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(part=None, body)</code>
+    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
   <pre>Update a channelSection.
 
 Args:
@@ -221,15 +251,9 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
-    "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
-      "position": 42, # The position of the channelSection in the channel.
-      "style": "A String", # The style of the channelSection.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
-      "type": "A String", # The type of the channelSection.
-      "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
-    },
-    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+{
+    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
       "channels": [ # The channel ids for type multiple_channels.
         "A String",
       ],
@@ -237,24 +261,36 @@
         "A String",
       ],
     },
-    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "snippet": { # Basic details about a channel section, including title, style and position. # The snippet object contains basic details about the channel section, such as its type, style and title.
+      "style": "A String", # The style of the channel section.
+      "title": "A String", # The channel section's title for multiple_playlists and multiple_channels.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channel section.
+      "defaultLanguage": "A String", # The language of the channel section's default title and description.
+      "position": 42, # The position of the channel section in the channel.
+      "type": "A String", # The type of the channel section.
+      "localized": { # ChannelSection localization setting # Localized title, read-only.
+        "title": "A String", # The localized strings for channel section's title.
+      },
+    },
     "etag": "A String", # Etag of this resource.
-    "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the channel section.
+    "localizations": { # Localizations for different languages
+      "a_key": { # ChannelSection localization setting # The language tag, using string since map_key require simple types.
+        "title": "A String", # The localized strings for channel section's title.
+      },
+    },
   }
 
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
 
 Returns:
   An object of the form:
 
-    { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
-      "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
-        "position": 42, # The position of the channelSection in the channel.
-        "style": "A String", # The style of the channelSection.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
-        "type": "A String", # The type of the channelSection.
-        "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
-      },
-      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+    {
+      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
         "channels": [ # The channel ids for type multiple_channels.
           "A String",
         ],
@@ -262,9 +298,24 @@
           "A String",
         ],
       },
-      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "snippet": { # Basic details about a channel section, including title, style and position. # The snippet object contains basic details about the channel section, such as its type, style and title.
+        "style": "A String", # The style of the channel section.
+        "title": "A String", # The channel section's title for multiple_playlists and multiple_channels.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channel section.
+        "defaultLanguage": "A String", # The language of the channel section's default title and description.
+        "position": 42, # The position of the channel section in the channel.
+        "type": "A String", # The type of the channel section.
+        "localized": { # ChannelSection localization setting # Localized title, read-only.
+          "title": "A String", # The localized strings for channel section's title.
+        },
+      },
       "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the channel section.
+      "localizations": { # Localizations for different languages
+        "a_key": { # ChannelSection localization setting # The language tag, using string since map_key require simple types.
+          "title": "A String", # The localized strings for channel section's title.
+        },
+      },
     }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.channels.html b/docs/dyn/youtube_v3.channels.html
index 54303b7..c90b919 100644
--- a/docs/dyn/youtube_v3.channels.html
+++ b/docs/dyn/youtube_v3.channels.html
@@ -175,53 +175,68 @@
         },
         "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
           "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-            "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
+            "largeBrandedBannerImageImapScript": { # The image map script for the large banner image.
+              "default": "A String",
+              "localized": [
+                {
+                  "value": "A String",
+                  "language": "A String",
                 },
               ],
+              "defaultLanguage": { # The language of the default property.
+                "value": "A String",
+              },
             },
-            "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
+            "smallBrandedBannerImageUrl": { # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+              "default": "A String",
+              "localized": [
+                {
+                  "value": "A String",
+                  "language": "A String",
                 },
               ],
+              "defaultLanguage": { # The language of the default property.
+                "value": "A String",
+              },
             },
             "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
             "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
-            "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
+            "largeBrandedBannerImageUrl": { # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+              "default": "A String",
+              "localized": [
+                {
+                  "value": "A String",
+                  "language": "A String",
                 },
               ],
+              "defaultLanguage": { # The language of the default property.
+                "value": "A String",
+              },
             },
             "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-            "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
+            "backgroundImageUrl": { # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+              "default": "A String",
+              "localized": [
+                {
+                  "value": "A String",
+                  "language": "A String",
                 },
               ],
+              "defaultLanguage": { # The language of the default property.
+                "value": "A String",
+              },
             },
-            "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-              "default": "A String", # Default value for the localized property.
-              "localized": [ # The localized values.
-                { # A localized string.
-                  "value": "A String", # Value of the property.
-                  "language": "A String", # Language associated to this value.
+            "smallBrandedBannerImageImapScript": { # The image map script for the small banner image.
+              "default": "A String",
+              "localized": [
+                {
+                  "value": "A String",
+                  "language": "A String",
                 },
               ],
+              "defaultLanguage": { # The language of the default property.
+                "value": "A String",
+              },
             },
             "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
             "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
@@ -249,6 +264,7 @@
             "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
             "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
             "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+            "defaultLanguage": "A String",
             "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
             "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
             "profileColor": "A String", # A prominent color that can be rendered on this channel page.
@@ -275,9 +291,6 @@
           ],
         },
         "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-          "title": "A String", # The channel's title.
-          "description": "A String", # The description of the channel.
-          "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
           "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
             "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
               "url": "A String", # The thumbnail image's URL.
@@ -305,6 +318,14 @@
               "height": 42, # (Optional) Height of the thumbnail image.
             },
           },
+          "title": "A String", # The channel's title.
+          "defaultLanguage": "A String", # The language of the channel's default title and description.
+          "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "localized": { # Channel localization setting # Localized title and description, read-only.
+            "description": "A String", # The localized strings for channel's description.
+            "title": "A String", # The localized strings for channel's title, read-only.
+          },
+          "description": "A String", # The description of the channel.
         },
         "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
           "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
@@ -314,6 +335,12 @@
         },
         "etag": "A String", # Etag of this resource.
         "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+        "localizations": { # Localizations for different languages
+          "a_key": { # Channel localization setting # The language tag, using string since map_key require simple types.
+            "description": "A String", # The localized strings for channel's description.
+            "title": "A String", # The localized strings for channel's title, read-only.
+          },
+        },
       },
     ],
     "tokenPagination": { # Stub token pagination template to suppress results.
@@ -418,53 +445,68 @@
   },
   "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
     "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-      "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
+      "largeBrandedBannerImageImapScript": { # The image map script for the large banner image.
+        "default": "A String",
+        "localized": [
+          {
+            "value": "A String",
+            "language": "A String",
           },
         ],
+        "defaultLanguage": { # The language of the default property.
+          "value": "A String",
+        },
       },
-      "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
+      "smallBrandedBannerImageUrl": { # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+        "default": "A String",
+        "localized": [
+          {
+            "value": "A String",
+            "language": "A String",
           },
         ],
+        "defaultLanguage": { # The language of the default property.
+          "value": "A String",
+        },
       },
       "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
       "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
-      "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
+      "largeBrandedBannerImageUrl": { # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+        "default": "A String",
+        "localized": [
+          {
+            "value": "A String",
+            "language": "A String",
           },
         ],
+        "defaultLanguage": { # The language of the default property.
+          "value": "A String",
+        },
       },
       "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-      "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
+      "backgroundImageUrl": { # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+        "default": "A String",
+        "localized": [
+          {
+            "value": "A String",
+            "language": "A String",
           },
         ],
+        "defaultLanguage": { # The language of the default property.
+          "value": "A String",
+        },
       },
-      "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-        "default": "A String", # Default value for the localized property.
-        "localized": [ # The localized values.
-          { # A localized string.
-            "value": "A String", # Value of the property.
-            "language": "A String", # Language associated to this value.
+      "smallBrandedBannerImageImapScript": { # The image map script for the small banner image.
+        "default": "A String",
+        "localized": [
+          {
+            "value": "A String",
+            "language": "A String",
           },
         ],
+        "defaultLanguage": { # The language of the default property.
+          "value": "A String",
+        },
       },
       "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
       "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
@@ -492,6 +534,7 @@
       "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
       "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
       "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+      "defaultLanguage": "A String",
       "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
       "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
       "profileColor": "A String", # A prominent color that can be rendered on this channel page.
@@ -518,9 +561,6 @@
     ],
   },
   "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-    "title": "A String", # The channel's title.
-    "description": "A String", # The description of the channel.
-    "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
     "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
       "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
         "url": "A String", # The thumbnail image's URL.
@@ -548,6 +588,14 @@
         "height": 42, # (Optional) Height of the thumbnail image.
       },
     },
+    "title": "A String", # The channel's title.
+    "defaultLanguage": "A String", # The language of the channel's default title and description.
+    "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "localized": { # Channel localization setting # Localized title and description, read-only.
+      "description": "A String", # The localized strings for channel's description.
+      "title": "A String", # The localized strings for channel's title, read-only.
+    },
+    "description": "A String", # The description of the channel.
   },
   "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
     "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
@@ -557,6 +605,12 @@
   },
   "etag": "A String", # Etag of this resource.
   "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+  "localizations": { # Localizations for different languages
+    "a_key": { # Channel localization setting # The language tag, using string since map_key require simple types.
+      "description": "A String", # The localized strings for channel's description.
+      "title": "A String", # The localized strings for channel's title, read-only.
+    },
+  },
 }
 
   onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
@@ -628,53 +682,68 @@
     },
     "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
       "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
-        "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
+        "largeBrandedBannerImageImapScript": { # The image map script for the large banner image.
+          "default": "A String",
+          "localized": [
+            {
+              "value": "A String",
+              "language": "A String",
             },
           ],
+          "defaultLanguage": { # The language of the default property.
+            "value": "A String",
+          },
         },
-        "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
+        "smallBrandedBannerImageUrl": { # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+          "default": "A String",
+          "localized": [
+            {
+              "value": "A String",
+              "language": "A String",
             },
           ],
+          "defaultLanguage": { # The language of the default property.
+            "value": "A String",
+          },
         },
         "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
         "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
-        "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
+        "largeBrandedBannerImageUrl": { # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+          "default": "A String",
+          "localized": [
+            {
+              "value": "A String",
+              "language": "A String",
             },
           ],
+          "defaultLanguage": { # The language of the default property.
+            "value": "A String",
+          },
         },
         "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
-        "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
+        "backgroundImageUrl": { # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+          "default": "A String",
+          "localized": [
+            {
+              "value": "A String",
+              "language": "A String",
             },
           ],
+          "defaultLanguage": { # The language of the default property.
+            "value": "A String",
+          },
         },
-        "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
-          "default": "A String", # Default value for the localized property.
-          "localized": [ # The localized values.
-            { # A localized string.
-              "value": "A String", # Value of the property.
-              "language": "A String", # Language associated to this value.
+        "smallBrandedBannerImageImapScript": { # The image map script for the small banner image.
+          "default": "A String",
+          "localized": [
+            {
+              "value": "A String",
+              "language": "A String",
             },
           ],
+          "defaultLanguage": { # The language of the default property.
+            "value": "A String",
+          },
         },
         "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
         "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
@@ -702,6 +771,7 @@
         "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
         "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
         "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+        "defaultLanguage": "A String",
         "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
         "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
         "profileColor": "A String", # A prominent color that can be rendered on this channel page.
@@ -728,9 +798,6 @@
       ],
     },
     "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
-      "title": "A String", # The channel's title.
-      "description": "A String", # The description of the channel.
-      "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
         "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
           "url": "A String", # The thumbnail image's URL.
@@ -758,6 +825,14 @@
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
+      "title": "A String", # The channel's title.
+      "defaultLanguage": "A String", # The language of the channel's default title and description.
+      "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "localized": { # Channel localization setting # Localized title and description, read-only.
+        "description": "A String", # The localized strings for channel's description.
+        "title": "A String", # The localized strings for channel's title, read-only.
+      },
+      "description": "A String", # The description of the channel.
     },
     "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
       "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
@@ -767,6 +842,12 @@
     },
     "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+    "localizations": { # Localizations for different languages
+      "a_key": { # Channel localization setting # The language tag, using string since map_key require simple types.
+        "description": "A String", # The localized strings for channel's description.
+        "title": "A String", # The localized strings for channel's title, read-only.
+      },
+    },
   }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.playlists.html b/docs/dyn/youtube_v3.playlists.html
index dbbdd26..207be39 100644
--- a/docs/dyn/youtube_v3.playlists.html
+++ b/docs/dyn/youtube_v3.playlists.html
@@ -131,6 +131,19 @@
       "itemCount": 42, # The number of videos in the playlist.
     },
     "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
+      "description": "A String", # The playlist's description.
+      "tags": [ # Keyword tags associated with the playlist.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+      "title": "A String", # The playlist's title.
+      "defaultLanguage": "A String", # The language of the playlist's default title and description.
+      "localized": { # Playlist localization setting # Localized title and description, read-only.
+        "description": "A String", # The localized strings for playlist's description.
+        "title": "A String", # The localized strings for playlist's title.
+      },
       "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
         "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
           "url": "A String", # The thumbnail image's URL.
@@ -158,20 +171,18 @@
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
-      "tags": [ # Keyword tags associated with the playlist.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-      "title": "A String", # The playlist's title.
-      "description": "A String", # The playlist's description.
     },
     "player": { # The player object contains information that you would use to play the playlist in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
     },
     "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+    "localizations": { # Localizations for different languages
+      "a_key": { # Playlist localization setting # The language tag, using string since map_key require simple types.
+        "description": "A String", # The localized strings for playlist's description.
+        "title": "A String", # The localized strings for playlist's title.
+      },
+    },
   }
 
   onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
@@ -204,6 +215,19 @@
         "itemCount": 42, # The number of videos in the playlist.
       },
       "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
+        "description": "A String", # The playlist's description.
+        "tags": [ # Keyword tags associated with the playlist.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+        "title": "A String", # The playlist's title.
+        "defaultLanguage": "A String", # The language of the playlist's default title and description.
+        "localized": { # Playlist localization setting # Localized title and description, read-only.
+          "description": "A String", # The localized strings for playlist's description.
+          "title": "A String", # The localized strings for playlist's title.
+        },
         "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
           "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
             "url": "A String", # The thumbnail image's URL.
@@ -231,20 +255,18 @@
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
-        "tags": [ # Keyword tags associated with the playlist.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-        "title": "A String", # The playlist's title.
-        "description": "A String", # The playlist's description.
       },
       "player": { # The player object contains information that you would use to play the playlist in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
       },
       "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+      "localizations": { # Localizations for different languages
+        "a_key": { # Playlist localization setting # The language tag, using string since map_key require simple types.
+          "description": "A String", # The localized strings for playlist's description.
+          "title": "A String", # The localized strings for playlist's title.
+        },
+      },
     }</pre>
 </div>
 
@@ -297,6 +319,19 @@
             "itemCount": 42, # The number of videos in the playlist.
           },
           "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
+            "description": "A String", # The playlist's description.
+            "tags": [ # Keyword tags associated with the playlist.
+              "A String",
+            ],
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+            "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+            "title": "A String", # The playlist's title.
+            "defaultLanguage": "A String", # The language of the playlist's default title and description.
+            "localized": { # Playlist localization setting # Localized title and description, read-only.
+              "description": "A String", # The localized strings for playlist's description.
+              "title": "A String", # The localized strings for playlist's title.
+            },
             "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
               "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
                 "url": "A String", # The thumbnail image's URL.
@@ -324,20 +359,18 @@
                 "height": 42, # (Optional) Height of the thumbnail image.
               },
             },
-            "tags": [ # Keyword tags associated with the playlist.
-              "A String",
-            ],
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-            "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-            "title": "A String", # The playlist's title.
-            "description": "A String", # The playlist's description.
           },
           "player": { # The player object contains information that you would use to play the playlist in an embedded player.
             "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
           },
           "etag": "A String", # Etag of this resource.
           "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+          "localizations": { # Localizations for different languages
+            "a_key": { # Playlist localization setting # The language tag, using string since map_key require simple types.
+              "description": "A String", # The localized strings for playlist's description.
+              "title": "A String", # The localized strings for playlist's title.
+            },
+          },
         },
     ],
     "tokenPagination": { # Stub token pagination template to suppress results.
@@ -396,6 +429,19 @@
       "itemCount": 42, # The number of videos in the playlist.
     },
     "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
+      "description": "A String", # The playlist's description.
+      "tags": [ # Keyword tags associated with the playlist.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+      "title": "A String", # The playlist's title.
+      "defaultLanguage": "A String", # The language of the playlist's default title and description.
+      "localized": { # Playlist localization setting # Localized title and description, read-only.
+        "description": "A String", # The localized strings for playlist's description.
+        "title": "A String", # The localized strings for playlist's title.
+      },
       "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
         "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
           "url": "A String", # The thumbnail image's URL.
@@ -423,20 +469,18 @@
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
-      "tags": [ # Keyword tags associated with the playlist.
-        "A String",
-      ],
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-      "title": "A String", # The playlist's title.
-      "description": "A String", # The playlist's description.
     },
     "player": { # The player object contains information that you would use to play the playlist in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
     },
     "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+    "localizations": { # Localizations for different languages
+      "a_key": { # Playlist localization setting # The language tag, using string since map_key require simple types.
+        "description": "A String", # The localized strings for playlist's description.
+        "title": "A String", # The localized strings for playlist's title.
+      },
+    },
   }
 
   onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
@@ -464,6 +508,19 @@
         "itemCount": 42, # The number of videos in the playlist.
       },
       "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
+        "description": "A String", # The playlist's description.
+        "tags": [ # Keyword tags associated with the playlist.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+        "title": "A String", # The playlist's title.
+        "defaultLanguage": "A String", # The language of the playlist's default title and description.
+        "localized": { # Playlist localization setting # Localized title and description, read-only.
+          "description": "A String", # The localized strings for playlist's description.
+          "title": "A String", # The localized strings for playlist's title.
+        },
         "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
           "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
             "url": "A String", # The thumbnail image's URL.
@@ -491,20 +548,18 @@
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
-        "tags": [ # Keyword tags associated with the playlist.
-          "A String",
-        ],
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
-        "title": "A String", # The playlist's title.
-        "description": "A String", # The playlist's description.
       },
       "player": { # The player object contains information that you would use to play the playlist in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
       },
       "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+      "localizations": { # Localizations for different languages
+        "a_key": { # Playlist localization setting # The language tag, using string since map_key require simple types.
+          "description": "A String", # The localized strings for playlist's description.
+          "title": "A String", # The localized strings for playlist's title.
+        },
+      },
     }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html
index b1ce24a..f00d72b 100644
--- a/docs/dyn/youtube_v3.search.html
+++ b/docs/dyn/youtube_v3.search.html
@@ -75,14 +75,14 @@
 <h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.search.html">search</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, eventType=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, location=None, locationRadius=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</a></code></p>
+  <code><a href="#list">list(part=None, eventType=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, location=None, locationRadius=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, relevanceLanguage=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</a></code></p>
 <p class="firstline">Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="list">list(part=None, eventType=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, location=None, locationRadius=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</code>
+    <code class="details" id="list">list(part=None, eventType=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, location=None, locationRadius=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, relevanceLanguage=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</code>
   <pre>Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
 
 Args:
@@ -144,6 +144,7 @@
       standard - Only retrieve videos in standard definition.
   pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
   relatedToVideoId: string, The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.
+  relevanceLanguage: string, The relevanceLanguage parameter instructs the API to return search results that are most relevant to the specified language. The parameter value is typically an ISO 639-1 two-letter language code. However, you should use the values zh-Hans for simplified Chinese and zh-Hant for traditional Chinese. Please note that results in other languages will still be returned if they are highly relevant to the search query term.
   videoDuration: string, The videoDuration parameter filters video search results based on their duration.
     Allowed values
       any - Do not filter video search results based on their duration. This is the default value.
diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html
index a342e31..d3b5de3 100644
--- a/docs/dyn/youtube_v3.videos.html
+++ b/docs/dyn/youtube_v3.videos.html
@@ -84,7 +84,7 @@
   <code><a href="#insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, notifySubscribers=None, autoLevels=None)</a></code></p>
 <p class="firstline">Uploads a video to YouTube and optionally sets the video's metadata.</p>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, regionCode=None, myRating=None, videoCategoryId=None, id=None)</a></code></p>
+  <code><a href="#list">list(part=None, hl=None, locale=None, id=None, onBehalfOfContentOwner=None, regionCode=None, pageToken=None, maxResults=None, chart=None, myRating=None, videoCategoryId=None)</a></code></p>
 <p class="firstline">Returns a list of videos that match the API request parameters.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -122,6 +122,7 @@
   An object of the form:
 
     {
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "items": [ # A list of ratings that match the request criteria.
       {
         "rating": "A String",
@@ -130,6 +131,7 @@
     ],
     "kind": "youtube#videoGetRatingResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#videoGetRatingResponse".
     "etag": "A String", # Etag of this resource.
+    "visitorId": "A String", # The visitorId identifies the visitor.
   }</pre>
 </div>
 
@@ -140,7 +142,7 @@
 Args:
   part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
 
-The part names that you can include in the parameter value are snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
+The part names that you can include in the parameter value are snippet, contentDetails, fileDetails, liveStreamingDetails, localizations, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -153,16 +155,21 @@
       "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
     },
     "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       "description": "A String", # The video's description.
       "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
         "A String",
       ],
       "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "defaultLanguage": "A String", # The language of the videos's default snippet.
       "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
       "channelTitle": "A String", # Channel title for the channel that the video belongs to.
       "title": "A String", # The video's title.
       "categoryId": "A String", # The YouTube video category associated with the video.
+      "localized": { # Localized versions of certain video properties (e.g. title). # Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
+        "description": "A String", # Localized version of the video's description.
+        "title": "A String", # Localized version of the video's title.
+      },
       "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
         "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
           "url": "A String", # The thumbnail image's URL.
@@ -223,8 +230,8 @@
         ],
         "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
       },
-      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-        "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
+      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65 # Specifies the ratings that the video received under various rating schemes.
+        "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
         "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
         "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
         "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
@@ -238,7 +245,9 @@
         "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
         "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
         "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
-        "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
+        "djctqRatingReasons": [
+          "A String",
+        ],
         "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
         "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
         "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
@@ -281,6 +290,7 @@
         "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
         "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
         "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
+        "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
         "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
         "mocRating": "A String", # Rating system for Colombia - MoC
         "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
@@ -412,6 +422,12 @@
         "A String",
       ],
     },
+    "localizations": { # List with all localizations.
+      "a_key": { # Localized versions of certain video properties (e.g. title). # The language tag, using string since map_key require simple types.
+        "description": "A String", # Localized version of the video's description.
+        "title": "A String", # Localized version of the video's title.
+      },
+    },
     "id": "A String", # The ID that YouTube uses to uniquely identify the video.
     "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
       "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
@@ -448,16 +464,21 @@
         "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       },
       "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
         "description": "A String", # The video's description.
         "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
           "A String",
         ],
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "defaultLanguage": "A String", # The language of the videos's default snippet.
         "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
         "channelTitle": "A String", # Channel title for the channel that the video belongs to.
         "title": "A String", # The video's title.
         "categoryId": "A String", # The YouTube video category associated with the video.
+        "localized": { # Localized versions of certain video properties (e.g. title). # Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
+          "description": "A String", # Localized version of the video's description.
+          "title": "A String", # Localized version of the video's title.
+        },
         "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
           "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
             "url": "A String", # The thumbnail image's URL.
@@ -518,8 +539,8 @@
           ],
           "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
         },
-        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-          "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
+        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65 # Specifies the ratings that the video received under various rating schemes.
+          "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
           "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
           "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
           "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
@@ -533,7 +554,9 @@
           "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
           "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
           "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
-          "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
+          "djctqRatingReasons": [
+            "A String",
+          ],
           "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
           "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
           "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
@@ -576,6 +599,7 @@
           "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
           "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
           "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
+          "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
           "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
           "mocRating": "A String", # Rating system for Colombia - MoC
           "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
@@ -707,6 +731,12 @@
           "A String",
         ],
       },
+      "localizations": { # List with all localizations.
+        "a_key": { # Localized versions of certain video properties (e.g. title). # The language tag, using string since map_key require simple types.
+          "description": "A String", # Localized version of the video's description.
+          "title": "A String", # Localized version of the video's title.
+        },
+      },
       "id": "A String", # The ID that YouTube uses to uniquely identify the video.
       "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
         "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
@@ -720,33 +750,34 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, regionCode=None, myRating=None, videoCategoryId=None, id=None)</code>
+    <code class="details" id="list">list(part=None, hl=None, locale=None, id=None, onBehalfOfContentOwner=None, regionCode=None, pageToken=None, maxResults=None, chart=None, myRating=None, videoCategoryId=None)</code>
   <pre>Returns a list of videos that match the API request parameters.
 
 Args:
-  part: string, The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails.
+  part: string, The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, fileDetails, liveStreamingDetails, localizations, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails.
 
 If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set part=snippet, the API response will contain all of those properties. (required)
-  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
-
-Note: This parameter is supported for use in conjunction with the myRating parameter, but it is not supported for use in conjunction with the id parameter.
+  hl: string, The hl parameter instructs the API to return a localized version of the video details. If localized text is nor available for the requested language, the localizations object in the API response will contain the requested information in the default language instead. The parameter value is a BCP-47 language code. Your application can determine whether the requested localization was returned by checking the value of the snippet.localized.language property in the API response.
+  locale: string, DEPRECATED
+  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID.
   onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
 
 The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
-  locale: string, DEPRECATED
-  chart: string, The chart parameter identifies the chart that you want to retrieve.
-    Allowed values
-      mostPopular - Return the most popular videos for the specified content region and video category.
+  regionCode: string, The regionCode parameter instructs the API to select a video chart available in the specified region. This parameter can only be used in conjunction with the chart parameter. The parameter value is an ISO 3166-1 alpha-2 country code.
+  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
+
+Note: This parameter is supported for use in conjunction with the myRating parameter, but it is not supported for use in conjunction with the id parameter.
   maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
 
 Note: This parameter is supported for use in conjunction with the myRating parameter, but it is not supported for use in conjunction with the id parameter.
-  regionCode: string, The regionCode parameter instructs the API to select a video chart available in the specified region. This parameter can only be used in conjunction with the chart parameter. The parameter value is an ISO 3166-1 alpha-2 country code.
+  chart: string, The chart parameter identifies the chart that you want to retrieve.
+    Allowed values
+      mostPopular - Return the most popular videos for the specified content region and video category.
   myRating: string, Set this parameter's value to like or dislike to instruct the API to only return videos liked or disliked by the authenticated user.
     Allowed values
       dislike - Returns only videos disliked by the authenticated user.
       like - Returns only video liked by the authenticated user.
   videoCategoryId: string, The videoCategoryId parameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with the chart parameter. By default, charts are not restricted to a particular category.
-  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID.
 
 Returns:
   An object of the form:
@@ -766,16 +797,21 @@
             "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
           },
           "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
             "description": "A String", # The video's description.
             "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
               "A String",
             ],
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "defaultLanguage": "A String", # The language of the videos's default snippet.
             "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
             "channelTitle": "A String", # Channel title for the channel that the video belongs to.
             "title": "A String", # The video's title.
             "categoryId": "A String", # The YouTube video category associated with the video.
+            "localized": { # Localized versions of certain video properties (e.g. title). # Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
+              "description": "A String", # Localized version of the video's description.
+              "title": "A String", # Localized version of the video's title.
+            },
             "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
               "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
                 "url": "A String", # The thumbnail image's URL.
@@ -836,8 +872,8 @@
               ],
               "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
             },
-            "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-              "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
+            "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65 # Specifies the ratings that the video received under various rating schemes.
+              "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
               "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
               "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
               "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
@@ -851,7 +887,9 @@
               "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
               "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
               "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
-              "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
+              "djctqRatingReasons": [
+                "A String",
+              ],
               "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
               "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
               "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
@@ -894,6 +932,7 @@
               "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
               "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
               "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
+              "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
               "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
               "mocRating": "A String", # Rating system for Colombia - MoC
               "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
@@ -1025,6 +1064,12 @@
               "A String",
             ],
           },
+          "localizations": { # List with all localizations.
+            "a_key": { # Localized versions of certain video properties (e.g. title). # The language tag, using string since map_key require simple types.
+              "description": "A String", # Localized version of the video's description.
+              "title": "A String", # Localized version of the video's title.
+            },
+          },
           "id": "A String", # The ID that YouTube uses to uniquely identify the video.
           "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
             "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
@@ -1085,7 +1130,7 @@
 Args:
   part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
 
-The part names that you can include in the parameter value are snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails.
+The part names that you can include in the parameter value are snippet, contentDetails, fileDetails, liveStreamingDetails, localizations, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails.
 
 Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting.
 
@@ -1102,16 +1147,21 @@
       "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
     },
     "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       "description": "A String", # The video's description.
       "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
         "A String",
       ],
       "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "defaultLanguage": "A String", # The language of the videos's default snippet.
       "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
       "channelTitle": "A String", # Channel title for the channel that the video belongs to.
       "title": "A String", # The video's title.
       "categoryId": "A String", # The YouTube video category associated with the video.
+      "localized": { # Localized versions of certain video properties (e.g. title). # Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
+        "description": "A String", # Localized version of the video's description.
+        "title": "A String", # Localized version of the video's title.
+      },
       "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
         "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
           "url": "A String", # The thumbnail image's URL.
@@ -1172,8 +1222,8 @@
         ],
         "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
       },
-      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-        "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
+      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65 # Specifies the ratings that the video received under various rating schemes.
+        "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
         "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
         "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
         "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
@@ -1187,7 +1237,9 @@
         "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
         "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
         "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
-        "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
+        "djctqRatingReasons": [
+          "A String",
+        ],
         "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
         "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
         "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
@@ -1230,6 +1282,7 @@
         "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
         "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
         "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
+        "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
         "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
         "mocRating": "A String", # Rating system for Colombia - MoC
         "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
@@ -1361,6 +1414,12 @@
         "A String",
       ],
     },
+    "localizations": { # List with all localizations.
+      "a_key": { # Localized versions of certain video properties (e.g. title). # The language tag, using string since map_key require simple types.
+        "description": "A String", # Localized version of the video's description.
+        "title": "A String", # Localized version of the video's title.
+      },
+    },
     "id": "A String", # The ID that YouTube uses to uniquely identify the video.
     "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
       "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
@@ -1388,16 +1447,21 @@
         "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       },
       "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
         "description": "A String", # The video's description.
         "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
           "A String",
         ],
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
-        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "defaultLanguage": "A String", # The language of the videos's default snippet.
         "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
         "channelTitle": "A String", # Channel title for the channel that the video belongs to.
         "title": "A String", # The video's title.
         "categoryId": "A String", # The YouTube video category associated with the video.
+        "localized": { # Localized versions of certain video properties (e.g. title). # Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
+          "description": "A String", # Localized version of the video's description.
+          "title": "A String", # Localized version of the video's title.
+        },
         "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
           "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
             "url": "A String", # The thumbnail image's URL.
@@ -1458,8 +1522,8 @@
           ],
           "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
         },
-        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
-          "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
+        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65 # Specifies the ratings that the video received under various rating schemes.
+          "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
           "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
           "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
           "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
@@ -1473,7 +1537,9 @@
           "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
           "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
           "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
-          "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
+          "djctqRatingReasons": [
+            "A String",
+          ],
           "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
           "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
           "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
@@ -1516,6 +1582,7 @@
           "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
           "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
           "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
+          "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
           "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
           "mocRating": "A String", # Rating system for Colombia - MoC
           "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
@@ -1647,6 +1714,12 @@
           "A String",
         ],
       },
+      "localizations": { # List with all localizations.
+        "a_key": { # Localized versions of certain video properties (e.g. title). # The language tag, using string since map_key require simple types.
+          "description": "A String", # Localized version of the video's description.
+          "title": "A String", # Localized version of the video's title.
+        },
+      },
       "id": "A String", # The ID that YouTube uses to uniquely identify the video.
       "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
         "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
diff --git a/docs/epy/api-objects.txt b/docs/epy/api-objects.txt
index f1ef59e..41ede1d 100644
--- a/docs/epy/api-objects.txt
+++ b/docs/epy/api-objects.txt
@@ -25,6 +25,7 @@
 googleapiclient.discovery.logger	googleapiclient.discovery-module.html#logger
 googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE	googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE
 googleapiclient.discovery._media_size_to_long	googleapiclient.discovery-module.html#_media_size_to_long
+googleapiclient.discovery._urljoin	googleapiclient.discovery-module.html#_urljoin
 googleapiclient.discovery._fix_up_method_description	googleapiclient.discovery-module.html#_fix_up_method_description
 googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE	googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE
 googleapiclient.discovery.createMethod	googleapiclient.discovery-module.html#createMethod
diff --git a/docs/epy/class-tree.html b/docs/epy/class-tree.html
index cc7419f..5d2d4b8 100644
--- a/docs/epy/class-tree.html
+++ b/docs/epy/class-tree.html
@@ -154,7 +154,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient-module.html b/docs/epy/googleapiclient-module.html
index 9e84da2..7732200 100644
--- a/docs/epy/googleapiclient-module.html
+++ b/docs/epy/googleapiclient-module.html
@@ -57,7 +57,7 @@
 <h1 class="epydoc">Package googleapiclient</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient-pysrc.html">source&nbsp;code</a></span></p>
 <hr />
 <div class="fields">      <p><strong>Version:</strong>
-        1.3.1
+        1.3.2
       </p>
 </div><!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
@@ -116,7 +116,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Fri Oct 17 20:28:50 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient-pysrc.html b/docs/epy/googleapiclient-pysrc.html
index 4cb3fef..634f41d 100644
--- a/docs/epy/googleapiclient-pysrc.html
+++ b/docs/epy/googleapiclient-pysrc.html
@@ -69,7 +69,7 @@
 <a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
 <a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
 <a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"1.3.1"</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"1.3.2"</tt> </tt>
 <a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
@@ -103,7 +103,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Fri Oct 17 20:28:51 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.channel-module.html b/docs/epy/googleapiclient.channel-module.html
index 6077d1c..1318939 100644
--- a/docs/epy/googleapiclient.channel-module.html
+++ b/docs/epy/googleapiclient.channel-module.html
@@ -455,7 +455,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.channel-pysrc.html b/docs/epy/googleapiclient.channel-pysrc.html
index fd7722f..cb98a3e 100644
--- a/docs/epy/googleapiclient.channel-pysrc.html
+++ b/docs/epy/googleapiclient.channel-pysrc.html
@@ -373,7 +373,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.channel.Channel-class.html b/docs/epy/googleapiclient.channel.Channel-class.html
index bcbc279..6d8c9bc 100644
--- a/docs/epy/googleapiclient.channel.Channel-class.html
+++ b/docs/epy/googleapiclient.channel.Channel-class.html
@@ -376,7 +376,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.channel.Notification-class.html b/docs/epy/googleapiclient.channel.Notification-class.html
index 48dfeb6..0dd3703 100644
--- a/docs/epy/googleapiclient.channel.Notification-class.html
+++ b/docs/epy/googleapiclient.channel.Notification-class.html
@@ -249,7 +249,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.discovery-module.html b/docs/epy/googleapiclient.discovery-module.html
index b81fb31..70680b4 100644
--- a/docs/epy/googleapiclient.discovery-module.html
+++ b/docs/epy/googleapiclient.discovery-module.html
@@ -316,6 +316,24 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="_urljoin"></a><span class="summary-sig-name">_urljoin</span>(<span class="summary-sig-arg">base</span>,
+        <span class="summary-sig-arg">url</span>)</span><br />
+      Custom urljoin replacement supporting : before / in url.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_urljoin">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#createMethod" class="summary-sig-name" onclick="show_private();">createMethod</a>(<span class="summary-sig-arg">methodName</span>,
         <span class="summary-sig-arg">methodDesc</span>,
         <span class="summary-sig-arg">rootDesc</span>,
@@ -1081,7 +1099,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.discovery-pysrc.html b/docs/epy/googleapiclient.discovery-pysrc.html
index 4a200b6..e1203d6 100644
--- a/docs/epy/googleapiclient.discovery-pysrc.html
+++ b/docs/epy/googleapiclient.discovery-pysrc.html
@@ -56,1059 +56,1076 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="googleapiclient.discovery-module.html">Module googleapiclient.discovery</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Client for discovery based APIs.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">A client library for Google's discovery based APIs.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-string">'build'</tt><tt class="py-op">,</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-string">'build_from_document'</tt><tt class="py-op">,</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-string">'fix_method_name'</tt><tt class="py-op">,</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-string">'key2param'</tt><tt class="py-op">,</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"># Standard library imports</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">generator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Generator</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyword</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-comment"># Third-party imports</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module googleapiclient.mimeparse=googleapiclient.mimeparse-module.html"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uritemplate</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-comment"># Local imports</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-1', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-2', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-3', 'HttpError', 'link-3');">HttpError</a></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-4', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class googleapiclient.errors.InvalidJsonError=googleapiclient.errors.InvalidJsonError-class.html"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-7', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-8', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class googleapiclient.errors.MediaUploadSizeError=googleapiclient.errors.MediaUploadSizeError-class.html"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-9', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-10', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class googleapiclient.errors.UnacceptableMimeTypeError=googleapiclient.errors.UnacceptableMimeTypeError-class.html"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-12', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-13', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-14', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class googleapiclient.errors.UnknownApiNameOrVersion=googleapiclient.errors.UnknownApiNameOrVersion-class.html"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-15', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-16', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-17', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Class googleapiclient.errors.UnknownFileType=googleapiclient.errors.UnknownFileType-class.html"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-18', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-19', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module googleapiclient.http=googleapiclient.http-module.html"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-20', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-21', 'HttpRequest', 'link-21');">HttpRequest</a></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-22" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-22', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-23', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class googleapiclient.http.MediaFileUpload=googleapiclient.http.MediaFileUpload-class.html"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-24', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-25" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-25', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-26', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-27" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-27', 'MediaUpload', 'link-27');">MediaUpload</a></tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-28', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module googleapiclient.model=googleapiclient.model-module.html"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-29', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-30" class="py-name" targets="Class googleapiclient.model.JsonModel=googleapiclient.model.JsonModel-class.html"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-30', 'JsonModel', 'link-30');">JsonModel</a></tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-31', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-32', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class googleapiclient.model.MediaModel=googleapiclient.model.MediaModel-class.html"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-33', 'MediaModel', 'link-33');">MediaModel</a></tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-34" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-34', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-35', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class googleapiclient.model.RawModel=googleapiclient.model.RawModel-class.html"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-36', 'RawModel', 'link-36');">RawModel</a></tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-37', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Module googleapiclient.schema=googleapiclient.schema-module.html"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-38', 'schema', 'link-38');">schema</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Class googleapiclient.schema.Schemas=googleapiclient.schema.Schemas-class.html"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-39', 'Schemas', 'link-39');">Schemas</a></tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">GoogleCredentials</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">_add_query_parameter</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">positional</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-comment"># The client library requires a version of httplib2 that supports RETRIES.</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">RETRIES</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt id="link-40" class="py-name" targets="Variable googleapiclient.discovery.logger=googleapiclient.discovery-module.html#logger"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-40');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt id="link-41" class="py-name" targets="Variable googleapiclient.discovery.URITEMPLATE=googleapiclient.discovery-module.html#URITEMPLATE"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-41', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'{[^}]*}'</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable googleapiclient.discovery.VARNAME=googleapiclient.discovery-module.html#VARNAME"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-42', 'VARNAME', 'link-42');">VARNAME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'[a-zA-Z0-9_-]+'</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt id="link-43" class="py-name" targets="Variable googleapiclient.discovery.DISCOVERY_URI=googleapiclient.discovery-module.html#DISCOVERY_URI"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-43', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'https://www.googleapis.com/discovery/v1/apis/'</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                 <tt class="py-string">'{api}/{apiVersion}/rest'</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt id="link-44" class="py-name" targets="Variable googleapiclient.discovery.DEFAULT_METHOD_DOC=googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-44', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'A description of how to use this function'</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt id="link-45" class="py-name" targets="Variable googleapiclient.discovery.HTTP_PAYLOAD_METHODS=googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-45', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> <tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS=googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-46', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'KB'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">'MB'</tt><tt class="py-op">:</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-string">'GB'</tt><tt class="py-op">:</tt> <tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-string">'TB'</tt><tt class="py-op">:</tt> <tt class="py-number">40</tt><tt class="py-op">}</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-47', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-string">'The request body.'</tt><tt class="py-op">,</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-48', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-string">'The filename of the media request body, or an instance '</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                    <tt class="py-string">'of a MediaUpload object.'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-comment"># Parameters accepted by the stack, but not visible via discovery.</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Remove 'userip' in 'v2'.</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETERS=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-49', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'trace'</tt><tt class="py-op">,</tt> <tt class="py-string">'pp'</tt><tt class="py-op">,</tt> <tt class="py-string">'userip'</tt><tt class="py-op">,</tt> <tt class="py-string">'strict'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-50', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> <tt class="py-string">'location'</tt><tt class="py-op">:</tt> <tt class="py-string">'query'</tt><tt class="py-op">}</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-comment"># Library-specific reserved words beyond Python keywords.</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable googleapiclient.discovery.RESERVED_WORDS=googleapiclient.discovery-module.html#RESERVED_WORDS"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-51', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="fix_method_name"></a><div id="fix_method_name-def"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="fix_method_name-toggle" onclick="return toggle('fix_method_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#fix_method_name">fix_method_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="fix_method_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fix_method_name-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">  <tt class="py-docstring">"""Fix method names to avoid reserved word conflicts.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, method name.</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    The name with a '_' prefixed if the name is a reserved word.</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">keyword</tt><tt class="py-op">.</tt><tt class="py-name">iskeyword</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-52" class="py-name"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-52', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="key2param"></a><div id="key2param-def"><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="key2param-toggle" onclick="return toggle('key2param');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#key2param">key2param</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="key2param-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="key2param-expanded"><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts key names into parameter names.</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">  For example, converting "max-results" -&gt; "max_results"</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    key: string, the method key name.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">    A safe method name based on the key name.</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">  <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">isalpha</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">isalnum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
-<a name="build"></a><div id="build-def"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="build-toggle" onclick="return toggle('build');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build">build</a><tt class="py-op">(</tt><tt class="py-param">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">          <tt class="py-param">version</tt><tt class="py-op">,</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">          <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">          <tt class="py-param">discoveryServiceUrl</tt><tt class="py-op">=</tt><tt id="link-53" class="py-name"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-53', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">          <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">          <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">          <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-54" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-54', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">          <tt class="py-param">credentials</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build-expanded"><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">  <tt class="py-docstring">"""Construct a Resource for interacting with an API.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a Resource object for interacting with an API. The serviceName and</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">  version are the names from the Discovery service.</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    serviceName: string, name of the service.</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, the version of the service.</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">    discoveryServiceUrl: string, a URI Template that points to the location of</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">      the discovery service. It should have two parameters {api} and</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">      {apiVersion} that when filled in produce an absolute URI to the discovery</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">      document for that service.</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, key obtained from</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">      https://code.google.com/apis/console.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">    model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">      request.</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">    credentials: oauth2client.Credentials, credentials to be used for</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">      authentication.</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">  <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">      <tt class="py-string">'api'</tt><tt class="py-op">:</tt> <tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">      <tt class="py-string">'apiVersion'</tt><tt class="py-op">:</tt> <tt class="py-name">version</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-55" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-55', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">    <tt id="link-56" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-56', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">  <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">  <tt class="py-comment"># REMOTE_ADDR is defined by the CGI spec [RFC3875] as the environment</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">  <tt class="py-comment"># variable that contains the network address of the client sending the</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">  <tt class="py-comment"># request. If it exists then add that to the request for the discovery</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">  <tt class="py-comment"># document to avoid exceeding the quota on discovery requests.</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'REMOTE_ADDR'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">,</tt> <tt class="py-string">'userIp'</tt><tt class="py-op">,</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                                         <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'REMOTE_ADDR'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">  <tt id="link-57" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-57', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: GET %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">  <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-58', 'http', 'link-20');">http</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method googleapiclient.http.HttpMock.request()=googleapiclient.http.HttpMock-class.html#request,Method googleapiclient.http.HttpMockSequence.request()=googleapiclient.http.HttpMockSequence-class.html#request,Method googleapiclient.model.BaseModel.request()=googleapiclient.model.BaseModel-class.html#request,Method googleapiclient.model.Model.request()=googleapiclient.model.Model-class.html#request"><a title="googleapiclient.http.HttpMock.request
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">"""Client for discovery based APIs.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">A client library for Google's discovery based APIs.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line">    <tt class="py-string">'build'</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line">    <tt class="py-string">'build_from_document'</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line">    <tt class="py-string">'fix_method_name'</tt><tt class="py-op">,</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line">    <tt class="py-string">'key2param'</tt><tt class="py-op">,</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-comment"># Standard library imports</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">generator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Generator</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyword</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-comment"># Third-party imports</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module googleapiclient.mimeparse=googleapiclient.mimeparse-module.html"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uritemplate</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"><tt class="py-comment"># Local imports</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-1', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-2', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-3', 'HttpError', 'link-3');">HttpError</a></tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-4', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class googleapiclient.errors.InvalidJsonError=googleapiclient.errors.InvalidJsonError-class.html"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-7', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-8', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class googleapiclient.errors.MediaUploadSizeError=googleapiclient.errors.MediaUploadSizeError-class.html"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-9', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-10', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class googleapiclient.errors.UnacceptableMimeTypeError=googleapiclient.errors.UnacceptableMimeTypeError-class.html"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-12', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-13', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-14', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class googleapiclient.errors.UnknownApiNameOrVersion=googleapiclient.errors.UnknownApiNameOrVersion-class.html"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-15', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-16', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-17', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Class googleapiclient.errors.UnknownFileType=googleapiclient.errors.UnknownFileType-class.html"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-18', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-19', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module googleapiclient.http=googleapiclient.http-module.html"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-20', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-21', 'HttpRequest', 'link-21');">HttpRequest</a></tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-22" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-22', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-23', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class googleapiclient.http.MediaFileUpload=googleapiclient.http.MediaFileUpload-class.html"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-24', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-25" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-25', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-26', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-27" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-27', 'MediaUpload', 'link-27');">MediaUpload</a></tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-28', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module googleapiclient.model=googleapiclient.model-module.html"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-29', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-30" class="py-name" targets="Class googleapiclient.model.JsonModel=googleapiclient.model.JsonModel-class.html"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-30', 'JsonModel', 'link-30');">JsonModel</a></tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-31', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-32', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class googleapiclient.model.MediaModel=googleapiclient.model.MediaModel-class.html"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-33', 'MediaModel', 'link-33');">MediaModel</a></tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-34" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-34', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-35', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class googleapiclient.model.RawModel=googleapiclient.model.RawModel-class.html"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-36', 'RawModel', 'link-36');">RawModel</a></tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-37', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Module googleapiclient.schema=googleapiclient.schema-module.html"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-38', 'schema', 'link-38');">schema</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Class googleapiclient.schema.Schemas=googleapiclient.schema.Schemas-class.html"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-39', 'Schemas', 'link-39');">Schemas</a></tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">GoogleCredentials</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">_add_query_parameter</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">positional</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line"><tt class="py-comment"># The client library requires a version of httplib2 that supports RETRIES.</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line"><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">RETRIES</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"><tt id="link-40" class="py-name" targets="Variable googleapiclient.discovery.logger=googleapiclient.discovery-module.html#logger"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-40');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line"><tt id="link-41" class="py-name" targets="Variable googleapiclient.discovery.URITEMPLATE=googleapiclient.discovery-module.html#URITEMPLATE"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-41', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'{[^}]*}'</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable googleapiclient.discovery.VARNAME=googleapiclient.discovery-module.html#VARNAME"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-42', 'VARNAME', 'link-42');">VARNAME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'[a-zA-Z0-9_-]+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"><tt id="link-43" class="py-name" targets="Variable googleapiclient.discovery.DISCOVERY_URI=googleapiclient.discovery-module.html#DISCOVERY_URI"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-43', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'https://www.googleapis.com/discovery/v1/apis/'</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">                 <tt class="py-string">'{api}/{apiVersion}/rest'</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line"><tt id="link-44" class="py-name" targets="Variable googleapiclient.discovery.DEFAULT_METHOD_DOC=googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-44', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'A description of how to use this function'</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line"><tt id="link-45" class="py-name" targets="Variable googleapiclient.discovery.HTTP_PAYLOAD_METHODS=googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-45', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> <tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS=googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-46', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'KB'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">'MB'</tt><tt class="py-op">:</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-string">'GB'</tt><tt class="py-op">:</tt> <tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-string">'TB'</tt><tt class="py-op">:</tt> <tt class="py-number">40</tt><tt class="py-op">}</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-47', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-string">'The request body.'</tt><tt class="py-op">,</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-48', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-string">'The filename of the media request body, or an instance '</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">                    <tt class="py-string">'of a MediaUpload object.'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line"><tt class="py-comment"># Parameters accepted by the stack, but not visible via discovery.</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Remove 'userip' in 'v2'.</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETERS=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-49', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'trace'</tt><tt class="py-op">,</tt> <tt class="py-string">'pp'</tt><tt class="py-op">,</tt> <tt class="py-string">'userip'</tt><tt class="py-op">,</tt> <tt class="py-string">'strict'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-50', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> <tt class="py-string">'location'</tt><tt class="py-op">:</tt> <tt class="py-string">'query'</tt><tt class="py-op">}</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"><tt class="py-comment"># Library-specific reserved words beyond Python keywords.</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable googleapiclient.discovery.RESERVED_WORDS=googleapiclient.discovery-module.html#RESERVED_WORDS"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-51', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="fix_method_name"></a><div id="fix_method_name-def"><a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt> <a class="py-toggle" href="#" id="fix_method_name-toggle" onclick="return toggle('fix_method_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#fix_method_name">fix_method_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fix_method_name-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="fix_method_name-expanded"><a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">  <tt class="py-docstring">"""Fix method names to avoid reserved word conflicts.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, method name.</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line"><tt class="py-docstring">    The name with a '_' prefixed if the name is a reserved word.</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">keyword</tt><tt class="py-op">.</tt><tt class="py-name">iskeyword</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-52" class="py-name"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-52', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
+</div><a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"> </tt>
+<a name="key2param"></a><div id="key2param-def"><a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt> <a class="py-toggle" href="#" id="key2param-toggle" onclick="return toggle('key2param');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#key2param">key2param</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="key2param-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="key2param-expanded"><a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts key names into parameter names.</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring">  For example, converting "max-results" -&gt; "max_results"</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">    key: string, the method key name.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">    A safe method name based on the key name.</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">  <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">isalpha</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">isalnum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"> </tt>
+<a name="build"></a><div id="build-def"><a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt> <a class="py-toggle" href="#" id="build-toggle" onclick="return toggle('build');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build">build</a><tt class="py-op">(</tt><tt class="py-param">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">          <tt class="py-param">version</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">          <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">          <tt class="py-param">discoveryServiceUrl</tt><tt class="py-op">=</tt><tt id="link-53" class="py-name"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-53', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">          <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">          <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">          <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-54" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-54', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">          <tt class="py-param">credentials</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="build-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="build-expanded"><a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">  <tt class="py-docstring">"""Construct a Resource for interacting with an API.</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a Resource object for interacting with an API. The serviceName and</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line"><tt class="py-docstring">  version are the names from the Discovery service.</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring">    serviceName: string, name of the service.</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, the version of the service.</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"><tt class="py-docstring">    discoveryServiceUrl: string, a URI Template that points to the location of</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line"><tt class="py-docstring">      the discovery service. It should have two parameters {api} and</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"><tt class="py-docstring">      {apiVersion} that when filled in produce an absolute URI to the discovery</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">      document for that service.</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, key obtained from</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">      https://code.google.com/apis/console.</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"><tt class="py-docstring">    model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"><tt class="py-docstring">      request.</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line"><tt class="py-docstring">    credentials: oauth2client.Credentials, credentials to be used for</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring">      authentication.</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">  <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">      <tt class="py-string">'api'</tt><tt class="py-op">:</tt> <tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">      <tt class="py-string">'apiVersion'</tt><tt class="py-op">:</tt> <tt class="py-name">version</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line"> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-55" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-55', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">    <tt id="link-56" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-56', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">  <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">  <tt class="py-comment"># REMOTE_ADDR is defined by the CGI spec [RFC3875] as the environment</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">  <tt class="py-comment"># variable that contains the network address of the client sending the</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">  <tt class="py-comment"># request. If it exists then add that to the request for the discovery</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">  <tt class="py-comment"># document to avoid exceeding the quota on discovery requests.</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'REMOTE_ADDR'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">    <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">,</tt> <tt class="py-string">'userIp'</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">                                         <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'REMOTE_ADDR'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">  <tt id="link-57" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-57', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: GET %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line"> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">  <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-58', 'http', 'link-20');">http</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method googleapiclient.http.HttpMock.request()=googleapiclient.http.HttpMock-class.html#request,Method googleapiclient.http.HttpMockSequence.request()=googleapiclient.http.HttpMockSequence-class.html#request,Method googleapiclient.model.BaseModel.request()=googleapiclient.model.BaseModel-class.html#request,Method googleapiclient.model.Model.request()=googleapiclient.model.Model-class.html#request"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-59', 'request', 'link-59');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">404</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-60" class="py-name"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-60', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt><tt class="py-op">(</tt><tt class="py-string">"name: %s  version: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                                                            <tt class="py-name">version</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">400</tt><tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-61" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-61', 'HttpError', 'link-3');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt id="link-62" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-62', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to parse as JSON: '</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-63', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-64" class="py-name" targets="Function googleapiclient.discovery.build_from_document()=googleapiclient.discovery-module.html#build_from_document"><a title="googleapiclient.discovery.build_from_document" class="py-name" href="#" onclick="return doclink('link-64', 'build_from_document', 'link-64');">build_from_document</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">=</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-65', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-66', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">      <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt id="link-67" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-67', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-68" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-68', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">      <tt class="py-name">credentials</tt><tt class="py-op">=</tt><tt class="py-name">credentials</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="build_from_document"></a><div id="build_from_document-def"><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="build_from_document-toggle" onclick="return toggle('build_from_document');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build_from_document">build_from_document</a><tt class="py-op">(</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-param">service</tt><tt class="py-op">,</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-param">base</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-param">future</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">    <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">    <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-69', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">    <tt class="py-param">credentials</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build_from_document-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_from_document-expanded"><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a Resource for interacting with an API.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">  Same as `build()`, but constructs the Resource object from a discovery</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">  document that is it given, as opposed to retrieving one over HTTP.</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">    service: string or object, the JSON discovery document describing the API.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">      The value passed in may either be the JSON string or the deserialized</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">      JSON.</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    base: string, base URI for all HTTP requests, usually the discovery URI.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">      This parameter is no longer used as rootUrl and servicePath are included</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">      within the discovery document. (deprecated)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">    future: string, discovery document with future capabilities (deprecated).</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, Key for controlling API usage, generated</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">      from the API Console.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">    model: Model class instance that serializes and de-serializes requests and</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">      responses.</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: Takes an http request and packages it up to be executed.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">    credentials: object, credentials to be used for authentication.</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">  <tt class="py-comment"># future is no longer used.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">  <tt class="py-name">future</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">  <tt class="py-name">base</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">  <tt id="link-70" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-70', 'schema', 'link-38');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-71', 'Schemas', 'link-39');">Schemas</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">credentials</tt><tt class="py-op">:</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-comment"># If credentials were passed in, we could have two cases:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-comment"># 1. the scopes were specified, in which case the given credentials</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-comment">#    are used for authorizing the http;</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-comment"># 2. the scopes were not provided (meaning the Application Default</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-comment">#    Credentials are to be used). In this case, the Application Default</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-comment">#    Credentials are built and used instead of the original credentials.</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-comment">#    If there are no scopes found (meaning the given service requires no</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-comment">#    authentication), there is no authorization of the http.</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">credentials</tt><tt class="py-op">,</tt> <tt class="py-name">GoogleCredentials</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">create_scoped_required</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">      <tt class="py-name">scopes</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-72', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'auth'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-73', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'oauth2'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-74', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'scopes'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">scopes</tt><tt class="py-op">:</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">create_scoped</tt><tt class="py-op">(</tt><tt class="py-name">scopes</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-comment"># No need to authorize the http object</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-comment"># if the service does not require authentication.</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">credentials</tt><tt class="py-op">:</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">      <tt id="link-75" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-75', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">authorize</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-76', 'http', 'link-20');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-77', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-name">features</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-78', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'features'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt id="link-79" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-79', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-80', 'JsonModel', 'link-30');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-string">'dataWrapper'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">features</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-81" class="py-name" targets="Class googleapiclient.discovery.Resource=googleapiclient.discovery.Resource-class.html"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-81', 'Resource', 'link-81');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-82', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-83" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-83', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-84', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-85" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-85', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                  <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                  <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt id="link-86" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-86', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-87" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-87', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
-<a name="_cast"></a><div id="_cast-def"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="_cast-toggle" onclick="return toggle('_cast');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_cast">_cast</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">schema_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_cast-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_cast-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert value to a string based on JSON Schema type.</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">  JSON Schema.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">    value: any, the value to convert</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring">    schema_type: string, the type that value should be interpreted as</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">    A string representation of 'value' based on the schema_type.</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
-<a name="_media_size_to_long"></a><div id="_media_size_to_long-def"><a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <a class="py-toggle" href="#" id="_media_size_to_long-toggle" onclick="return toggle('_media_size_to_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_size_to_long">_media_size_to_long</a><tt class="py-op">(</tt><tt class="py-param">maxSize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_media_size_to_long-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_size_to_long-expanded"><a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert a string media size, such as 10GB or 3TB into an integer.</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">    maxSize: string, size as a string, such as 2MB or 7GB.</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-docstring">    The size as an integer value.</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-number">0L</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">  <tt class="py-name">units</tt> <tt class="py-op">=</tt> <tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">  <tt class="py-name">bit_shift</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-88', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-89', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">units</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">bit_shift</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-name">bit_shift</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
-<a name="_media_path_url_from_info"></a><div id="_media_path_url_from_info-def"><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <a class="py-toggle" href="#" id="_media_path_url_from_info-toggle" onclick="return toggle('_media_path_url_from_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info</a><tt class="py-op">(</tt><tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_media_path_url_from_info-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_path_url_from_info-expanded"><a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates an absolute media path URL.</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">  Constructed using the API root URI and service path from the discovery</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">  document and the relative path for the API method.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">    String; the absolute URI for media upload for the API method.</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">'%(root)supload/%(service_path)s%(path)s'</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">      <tt class="py-string">'root'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">      <tt class="py-string">'service_path'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">      <tt class="py-string">'path'</tt><tt class="py-op">:</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">  <tt class="py-op">}</tt> </tt>
-</div><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_parameters"></a><div id="_fix_up_parameters-def"><a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <a class="py-toggle" href="#" id="_fix_up_parameters-toggle" onclick="return toggle('_fix_up_parameters');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">http_method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_parameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_parameters-expanded"><a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of an API method with values specific to this library.</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-docstring">  Specifically, adds whatever global parameters are specified by the API to the</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-docstring">  parameters for the individual method. Also adds parameters which don't</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring">  appear in the discovery document, but are available to all discovery based</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">  APIs (these are listed in STACK_QUERY_PARAMETERS).</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: This updates the parameters dictionary object in the method</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-docstring">  description.</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">    http_method: String; the HTTP method used to call the API method described</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring">    The updated Dictionary stored in the 'parameters' key of the method</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">        description dictionary.</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">  <tt class="py-comment"># Add in the parameters common to all methods.</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt> <tt class="py-keyword">in</tt> <tt class="py-name">root_desc</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-90', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">  <tt class="py-comment"># Add in undocumented query parameters.</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-91" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-91', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-92" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-92', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">  <tt class="py-comment"># Add 'body' (our own reserved word) to parameters if the method supports</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">  <tt class="py-comment"># a request payload.</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">http_method</tt> <tt class="py-keyword">in</tt> <tt id="link-93" class="py-name"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-93', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-string">'request'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">:</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">    <tt id="link-94" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-95', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">    <tt id="link-96" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-96', 'body', 'link-94');">body</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-97', 'update', 'link-97');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'request'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-98', 'body', 'link-94');">body</a></tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">parameters</tt> </tt>
-</div><a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_media_upload"></a><div id="_fix_up_media_upload-def"><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <a class="py-toggle" href="#" id="_fix_up_media_upload-toggle" onclick="return toggle('_fix_up_media_upload');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_media_upload-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_media_upload-expanded"><a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of API by adding 'media_body' if supported by method.</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: If the method supports media upload and has a required body,</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-docstring">  sets body to be optional (required=False) instead. Also, if there is a</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"><tt class="py-docstring">  'mediaUpload' in the method description, adds 'media_upload' key to</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"><tt class="py-docstring">  parameters.</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">    parameters: A dictionary describing method parameters for method described</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">    Triple (accept, max_size, media_path_url) where:</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">  <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-99', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'mediaUpload'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">  <tt id="link-100" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">404</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-60" class="py-name"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-60', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt><tt class="py-op">(</tt><tt class="py-string">"name: %s  version: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">                                                            <tt class="py-name">version</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">400</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-61" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-61', 'HttpError', 'link-3');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">    <tt id="link-62" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-62', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to parse as JSON: '</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-63', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-64" class="py-name" targets="Function googleapiclient.discovery.build_from_document()=googleapiclient.discovery-module.html#build_from_document"><a title="googleapiclient.discovery.build_from_document" class="py-name" href="#" onclick="return doclink('link-64', 'build_from_document', 'link-64');">build_from_document</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">=</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-65', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-66', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">      <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt id="link-67" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-67', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-68" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-68', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">      <tt class="py-name">credentials</tt><tt class="py-op">=</tt><tt class="py-name">credentials</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"> </tt>
+<a name="build_from_document"></a><div id="build_from_document-def"><a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt> <a class="py-toggle" href="#" id="build_from_document-toggle" onclick="return toggle('build_from_document');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build_from_document">build_from_document</a><tt class="py-op">(</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">    <tt class="py-param">service</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">    <tt class="py-param">base</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">    <tt class="py-param">future</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">    <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">    <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">    <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">    <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-69', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">    <tt class="py-param">credentials</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="build_from_document-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="build_from_document-expanded"><a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a Resource for interacting with an API.</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line"><tt class="py-docstring">  Same as `build()`, but constructs the Resource object from a discovery</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line"><tt class="py-docstring">  document that is it given, as opposed to retrieving one over HTTP.</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line"><tt class="py-docstring">    service: string or object, the JSON discovery document describing the API.</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"><tt class="py-docstring">      The value passed in may either be the JSON string or the deserialized</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line"><tt class="py-docstring">      JSON.</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"><tt class="py-docstring">    base: string, base URI for all HTTP requests, usually the discovery URI.</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"><tt class="py-docstring">      This parameter is no longer used as rootUrl and servicePath are included</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"><tt class="py-docstring">      within the discovery document. (deprecated)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"><tt class="py-docstring">    future: string, discovery document with future capabilities (deprecated).</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, Key for controlling API usage, generated</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"><tt class="py-docstring">      from the API Console.</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"><tt class="py-docstring">    model: Model class instance that serializes and de-serializes requests and</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"><tt class="py-docstring">      responses.</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: Takes an http request and packages it up to be executed.</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"><tt class="py-docstring">    credentials: object, credentials to be used for authentication.</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line"> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">  <tt class="py-comment"># future is no longer used.</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">  <tt class="py-name">future</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line"> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">  <tt class="py-name">base</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">  <tt id="link-70" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-70', 'schema', 'link-38');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-71', 'Schemas', 'link-39');">Schemas</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line"> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">credentials</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">    <tt class="py-comment"># If credentials were passed in, we could have two cases:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">    <tt class="py-comment"># 1. the scopes were specified, in which case the given credentials</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">    <tt class="py-comment">#    are used for authorizing the http;</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">    <tt class="py-comment"># 2. the scopes were not provided (meaning the Application Default</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">    <tt class="py-comment">#    Credentials are to be used). In this case, the Application Default</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">    <tt class="py-comment">#    Credentials are built and used instead of the original credentials.</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">    <tt class="py-comment">#    If there are no scopes found (meaning the given service requires no</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">    <tt class="py-comment">#    authentication), there is no authorization of the http.</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">credentials</tt><tt class="py-op">,</tt> <tt class="py-name">GoogleCredentials</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">create_scoped_required</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">      <tt class="py-name">scopes</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-72', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'auth'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-73', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'oauth2'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-74', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'scopes'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">scopes</tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">create_scoped</tt><tt class="py-op">(</tt><tt class="py-name">scopes</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">        <tt class="py-comment"># No need to authorize the http object</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-comment"># if the service does not require authentication.</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">credentials</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">      <tt id="link-75" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-75', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">authorize</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-76', 'http', 'link-20');">http</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line"> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-77', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">    <tt class="py-name">features</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-78', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'features'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">    <tt id="link-79" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-79', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-80', 'JsonModel', 'link-30');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-string">'dataWrapper'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">features</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-81" class="py-name" targets="Class googleapiclient.discovery.Resource=googleapiclient.discovery.Resource-class.html"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-81', 'Resource', 'link-81');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-82', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-83" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-83', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-84', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-85" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-85', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">                  <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">                  <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt id="link-86" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-86', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-87" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-87', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"> </tt>
+<a name="_cast"></a><div id="_cast-def"><a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt> <a class="py-toggle" href="#" id="_cast-toggle" onclick="return toggle('_cast');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_cast">_cast</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">schema_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_cast-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_cast-expanded"><a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert value to a string based on JSON Schema type.</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line"><tt class="py-docstring">  See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"><tt class="py-docstring">  JSON Schema.</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line"><tt class="py-docstring">    value: any, the value to convert</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line"><tt class="py-docstring">    schema_type: string, the type that value should be interpreted as</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line"><tt class="py-docstring">    A string representation of 'value' based on the schema_type.</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"> </tt>
+<a name="_media_size_to_long"></a><div id="_media_size_to_long-def"><a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt> <a class="py-toggle" href="#" id="_media_size_to_long-toggle" onclick="return toggle('_media_size_to_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_size_to_long">_media_size_to_long</a><tt class="py-op">(</tt><tt class="py-param">maxSize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_media_size_to_long-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_media_size_to_long-expanded"><a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert a string media size, such as 10GB or 3TB into an integer.</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line"><tt class="py-docstring">    maxSize: string, size as a string, such as 2MB or 7GB.</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line"><tt class="py-docstring">    The size as an integer value.</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-number">0L</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">  <tt class="py-name">units</tt> <tt class="py-op">=</tt> <tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">  <tt class="py-name">bit_shift</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-88', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-89', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">units</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">bit_shift</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-name">bit_shift</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line"> </tt>
+<a name="_media_path_url_from_info"></a><div id="_media_path_url_from_info-def"><a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt> <a class="py-toggle" href="#" id="_media_path_url_from_info-toggle" onclick="return toggle('_media_path_url_from_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info</a><tt class="py-op">(</tt><tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_media_path_url_from_info-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_media_path_url_from_info-expanded"><a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates an absolute media path URL.</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line"><tt class="py-docstring">  Constructed using the API root URI and service path from the discovery</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line"><tt class="py-docstring">  document and the relative path for the API method.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line"><tt class="py-docstring">    String; the absolute URI for media upload for the API method.</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">'%(root)supload/%(service_path)s%(path)s'</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">      <tt class="py-string">'root'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">      <tt class="py-string">'service_path'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">      <tt class="py-string">'path'</tt><tt class="py-op">:</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">  <tt class="py-op">}</tt> </tt>
+</div><a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_parameters"></a><div id="_fix_up_parameters-def"><a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt> <a class="py-toggle" href="#" id="_fix_up_parameters-toggle" onclick="return toggle('_fix_up_parameters');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">http_method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_parameters-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_fix_up_parameters-expanded"><a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of an API method with values specific to this library.</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line"><tt class="py-docstring">  Specifically, adds whatever global parameters are specified by the API to the</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"><tt class="py-docstring">  parameters for the individual method. Also adds parameters which don't</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line"><tt class="py-docstring">  appear in the discovery document, but are available to all discovery based</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line"><tt class="py-docstring">  APIs (these are listed in STACK_QUERY_PARAMETERS).</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: This updates the parameters dictionary object in the method</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">  description.</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line"><tt class="py-docstring">    http_method: String; the HTTP method used to call the API method described</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line"><tt class="py-docstring">    The updated Dictionary stored in the 'parameters' key of the method</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line"><tt class="py-docstring">        description dictionary.</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line"> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">  <tt class="py-comment"># Add in the parameters common to all methods.</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt> <tt class="py-keyword">in</tt> <tt class="py-name">root_desc</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-90', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">  <tt class="py-comment"># Add in undocumented query parameters.</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-91" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-91', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-92" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-92', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line"> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">  <tt class="py-comment"># Add 'body' (our own reserved word) to parameters if the method supports</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">  <tt class="py-comment"># a request payload.</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">http_method</tt> <tt class="py-keyword">in</tt> <tt id="link-93" class="py-name"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-93', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-string">'request'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">:</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">    <tt id="link-94" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-95', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">    <tt id="link-96" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-96', 'body', 'link-94');">body</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-97', 'update', 'link-97');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'request'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-98', 'body', 'link-94');">body</a></tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">parameters</tt> </tt>
+</div><a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_media_upload"></a><div id="_fix_up_media_upload-def"><a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line"> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt> <a class="py-toggle" href="#" id="_fix_up_media_upload-toggle" onclick="return toggle('_fix_up_media_upload');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_media_upload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_fix_up_media_upload-expanded"><a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of API by adding 'media_body' if supported by method.</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: If the method supports media upload and has a required body,</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"><tt class="py-docstring">  sets body to be optional (required=False) instead. Also, if there is a</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"><tt class="py-docstring">  'mediaUpload' in the method description, adds 'media_upload' key to</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"><tt class="py-docstring">  parameters.</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">    parameters: A dictionary describing method parameters for method described</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line"><tt class="py-docstring">    Triple (accept, max_size, media_path_url) where:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">  <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-99', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'mediaUpload'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">  <tt id="link-100" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-100', 'accept', 'link-100');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-101', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'accept'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">  <tt class="py-name">max_size</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name" targets="Function googleapiclient.discovery._media_size_to_long()=googleapiclient.discovery-module.html#_media_size_to_long"><a title="googleapiclient.discovery._media_size_to_long" class="py-name" href="#" onclick="return doclink('link-102', '_media_size_to_long', 'link-102');">_media_size_to_long</a></tt><tt class="py-op">(</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-103', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'maxSize'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">  <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">:</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">    <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name" targets="Function googleapiclient.discovery._media_path_url_from_info()=googleapiclient.discovery-module.html#_media_path_url_from_info"><a title="googleapiclient.discovery._media_path_url_from_info" class="py-name" href="#" onclick="return doclink('link-104', '_media_path_url_from_info', 'link-104');">_media_path_url_from_info</a></tt><tt class="py-op">(</tt><tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'media_body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-105', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">:</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">      <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'required'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-106" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">  <tt class="py-name">max_size</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name" targets="Function googleapiclient.discovery._media_size_to_long()=googleapiclient.discovery-module.html#_media_size_to_long"><a title="googleapiclient.discovery._media_size_to_long" class="py-name" href="#" onclick="return doclink('link-102', '_media_size_to_long', 'link-102');">_media_size_to_long</a></tt><tt class="py-op">(</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-103', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'maxSize'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">  <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line"> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">    <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name" targets="Function googleapiclient.discovery._media_path_url_from_info()=googleapiclient.discovery-module.html#_media_path_url_from_info"><a title="googleapiclient.discovery._media_path_url_from_info" class="py-name" href="#" onclick="return doclink('link-104', '_media_path_url_from_info', 'link-104');">_media_path_url_from_info</a></tt><tt class="py-op">(</tt><tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'media_body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-105', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">:</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">      <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'required'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line"> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-106" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-106', 'accept', 'link-100');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
-</div><a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"> </tt>
-<a name="_fix_up_method_description"></a><div id="_fix_up_method_description-def"><a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <a class="py-toggle" href="#" id="_fix_up_method_description-toggle" onclick="return toggle('_fix_up_method_description');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_fix_up_method_description-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_method_description-expanded"><a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates a method description in a discovery document.</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: Changes the parameters dictionary in the method description with</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring">  extra parameters which are used locally.</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">    Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">    where:</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">      - path_url is a String; the relative URL for the API method. Relative to</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"><tt class="py-docstring">        the API root, which is specified in the discovery document.</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"><tt class="py-docstring">      - http_method is a String; the HTTP method used to call the API method</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"><tt class="py-docstring">        described in the method description.</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"><tt class="py-docstring">      - method_id is a String; the name of the RPC method associated with the</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-docstring">        API method, and is in the method description in the 'id' key.</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">  <tt class="py-name">path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">  <tt class="py-name">http_method</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'httpMethod'</tt><tt class="py-op">]</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">  <tt class="py-name">method_id</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'id'</tt><tt class="py-op">]</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name" targets="Function googleapiclient.discovery._fix_up_parameters()=googleapiclient.discovery-module.html#_fix_up_parameters"><a title="googleapiclient.discovery._fix_up_parameters" class="py-name" href="#" onclick="return doclink('link-107', '_fix_up_parameters', 'link-107');">_fix_up_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">)</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">  <tt class="py-comment"># Order is important. `_fix_up_media_upload` needs `method_desc` to have a</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">  <tt class="py-comment"># 'parameters' key and needs to know if there is a 'body' parameter because it</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">  <tt class="py-comment"># also sets a 'media_body' parameter.</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">  <tt id="link-108" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+</div><a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_method_description"></a><div id="_fix_up_method_description-def"><a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt> <a class="py-toggle" href="#" id="_fix_up_method_description-toggle" onclick="return toggle('_fix_up_method_description');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_method_description-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_fix_up_method_description-expanded"><a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates a method description in a discovery document.</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: Changes the parameters dictionary in the method description with</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">  extra parameters which are used locally.</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"><tt class="py-docstring">    Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">    where:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">      - path_url is a String; the relative URL for the API method. Relative to</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"><tt class="py-docstring">        the API root, which is specified in the discovery document.</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line"><tt class="py-docstring">      - http_method is a String; the HTTP method used to call the API method</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"><tt class="py-docstring">        described in the method description.</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line"><tt class="py-docstring">      - method_id is a String; the name of the RPC method associated with the</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"><tt class="py-docstring">        API method, and is in the method description in the 'id' key.</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">  <tt class="py-name">path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">  <tt class="py-name">http_method</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'httpMethod'</tt><tt class="py-op">]</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">  <tt class="py-name">method_id</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'id'</tt><tt class="py-op">]</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line"> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name" targets="Function googleapiclient.discovery._fix_up_parameters()=googleapiclient.discovery-module.html#_fix_up_parameters"><a title="googleapiclient.discovery._fix_up_parameters" class="py-name" href="#" onclick="return doclink('link-107', '_fix_up_parameters', 'link-107');">_fix_up_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">  <tt class="py-comment"># Order is important. `_fix_up_media_upload` needs `method_desc` to have a</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">  <tt class="py-comment"># 'parameters' key and needs to know if there is a 'body' parameter because it</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">  <tt class="py-comment"># also sets a 'media_body' parameter.</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">  <tt id="link-108" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-108', 'accept', 'link-100');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name" targets="Function googleapiclient.discovery._fix_up_media_upload()=googleapiclient.discovery-module.html#_fix_up_media_upload"><a title="googleapiclient.discovery._fix_up_media_upload" class="py-name" href="#" onclick="return doclink('link-109', '_fix_up_media_upload', 'link-109');">_fix_up_media_upload</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">      <tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">,</tt> <tt class="py-name">method_id</tt><tt class="py-op">,</tt> <tt id="link-110" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">      <tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line"> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">,</tt> <tt class="py-name">method_id</tt><tt class="py-op">,</tt> <tt id="link-110" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-110', 'accept', 'link-100');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
-</div><a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters"></a><div id="ResourceMethodParameters-def"><a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line"> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Convert this class to ResourceMethod and make it callable</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters-toggle" onclick="return toggle('ResourceMethodParameters');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResourceMethodParameters-expanded"><a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">  <tt class="py-docstring">"""Represents the parameters associated with a method.</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line"><tt class="py-docstring">    argmap: Map from method parameter name (string) to query parameter name</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line"><tt class="py-docstring">        (string).</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"><tt class="py-docstring">    required_params: List of required parameters (represented by parameter</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line"><tt class="py-docstring">    repeated_params: List of repeated parameters (represented by parameter</tt> </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line"><tt class="py-docstring">    pattern_params: Map from method parameter name (string) to regular</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"><tt class="py-docstring">        expression (as a string). If the pattern is set for a parameter, the</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line"><tt class="py-docstring">        value for that parameter must match the regular expression.</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line"><tt class="py-docstring">    query_params: List of parameters (represented by parameter name as string)</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the query string.</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line"><tt class="py-docstring">    path_params: Set of parameters (represented by parameter name as string)</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the base URL path.</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"><tt class="py-docstring">    param_types: Map from method parameter name (string) to parameter type. Type</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"><tt class="py-docstring">        can be any valid JSON schema type; valid values are 'any', 'array',</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring">        'boolean', 'integer', 'number', 'object', or 'string'. Reference:</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"><tt class="py-docstring">        http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"><tt class="py-docstring">    enum_params: Map from method parameter name (string) to list of strings,</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line"><tt class="py-docstring">       where each list of strings is the list of acceptable enum values.</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters.__init__"></a><div id="ResourceMethodParameters.__init__-def"><a name="L520"></a><tt class="py-lineno">520</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.__init__-toggle" onclick="return toggle('ResourceMethodParameters.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.__init__-expanded"><a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for ResourceMethodParameters.</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line"><tt class="py-docstring">    Sets default values and defers to set_parameters to populate.</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Change path_params to a list if the extra URITEMPLATE</tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">    <tt class="py-comment">#                parsing is gotten rid of.</tt> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method googleapiclient.discovery.ResourceMethodParameters.set_parameters()=googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters"><a title="googleapiclient.discovery.ResourceMethodParameters.set_parameters" class="py-name" href="#" onclick="return doclink('link-111', 'set_parameters', 'link-111');">set_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"> </tt>
-<a name="ResourceMethodParameters.set_parameters"></a><div id="ResourceMethodParameters.set_parameters-def"><a name="L543"></a><tt class="py-lineno">543</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.set_parameters-toggle" onclick="return toggle('ResourceMethodParameters.set_parameters');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResourceMethodParameters.set_parameters-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.set_parameters-expanded"><a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">    <tt class="py-docstring">"""Populates maps and lists based on method description.</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"><tt class="py-docstring">    Iterates through each parameter for the method and parses the values from</tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line"><tt class="py-docstring">    the parameter dictionary.</tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-112', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">      <tt class="py-name">param</tt> <tt class="py-op">=</tt> <tt id="link-113" class="py-name" targets="Function googleapiclient.discovery.key2param()=googleapiclient.discovery-module.html#key2param"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-113', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">arg</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-114', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'pattern'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'pattern'</tt><tt class="py-op">]</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-115', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'enum'</tt><tt class="py-op">]</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-116', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'required'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-117', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'repeated'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-118', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'query'</tt><tt class="py-op">:</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-119', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'path'</tt><tt class="py-op">:</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest.add()=googleapiclient.http.BatchHttpRequest-class.html#add"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-120', 'add', 'link-120');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-121', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Determine if this is still necessary. Discovery based APIs</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">    <tt class="py-comment">#                should have all path parameters already marked with</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">    <tt class="py-comment">#                'location: path'.</tt> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">match</tt> <tt class="py-keyword">in</tt> <tt id="link-122" class="py-name"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-122', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">namematch</tt> <tt class="py-keyword">in</tt> <tt id="link-123" class="py-name"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-123', 'VARNAME', 'link-42');">VARNAME</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt id="link-124" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-124', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">namematch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-125', 'add', 'link-120');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line"> </tt>
-<a name="createMethod"></a><div id="createMethod-def"><a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt> <a class="py-toggle" href="#" id="createMethod-toggle" onclick="return toggle('createMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createMethod">createMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="createMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createMethod-expanded"><a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates a method for attaching to a Resource.</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line"><tt class="py-docstring">    methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line"><tt class="py-docstring">      describes the method.</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line"><tt class="py-docstring">    rootDesc: object, the entire deserialized discovery document.</tt> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line"><tt class="py-docstring">    schema: object, mapping of schema names to schema descriptions.</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name" targets="Function googleapiclient.discovery.fix_method_name()=googleapiclient.discovery-module.html#fix_method_name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-126', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">  <tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> <tt class="py-name">methodId</tt><tt class="py-op">,</tt> <tt id="link-127" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+</div><a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line"> </tt>
+<a name="_urljoin"></a><div id="_urljoin-def"><a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line"> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt> <a class="py-toggle" href="#" id="_urljoin-toggle" onclick="return toggle('_urljoin');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_urljoin">_urljoin</a><tt class="py-op">(</tt><tt class="py-param">base</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_urljoin-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_urljoin-expanded"><a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">  <tt class="py-docstring">"""Custom urljoin replacement supporting : before / in url."""</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">  <tt class="py-comment"># In general, it's unsafe to simply join base and url. However, for</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">  <tt class="py-comment"># the case of discovery documents, we know:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">  <tt class="py-comment">#  * base will never contain params, query, or fragment</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">  <tt class="py-comment">#  * url will never contain a scheme or net_loc.</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">  <tt class="py-comment"># In general, this means we can safely join on /; we just need to</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">  <tt class="py-comment"># ensure we end up with precisely one / joining base and url. The</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">  <tt class="py-comment"># exception here is the case of media uploads, where url will be an</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">  <tt class="py-comment"># absolute url.</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'http://'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'https://'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">  <tt class="py-name">new_base</tt> <tt class="py-op">=</tt> <tt class="py-name">base</tt> <tt class="py-keyword">if</tt> <tt class="py-name">base</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">base</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">  <tt class="py-name">new_url</tt> <tt class="py-op">=</tt> <tt class="py-name">url</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">url</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">new_base</tt> <tt class="py-op">+</tt> <tt class="py-name">new_url</tt> </tt>
+</div><a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters"></a><div id="ResourceMethodParameters-def"><a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line"> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Convert this class to ResourceMethod and make it callable</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters-toggle" onclick="return toggle('ResourceMethodParameters');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ResourceMethodParameters-expanded"><a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">  <tt class="py-docstring">"""Represents the parameters associated with a method.</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line"><tt class="py-docstring">    argmap: Map from method parameter name (string) to query parameter name</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line"><tt class="py-docstring">        (string).</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line"><tt class="py-docstring">    required_params: List of required parameters (represented by parameter</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"><tt class="py-docstring">    repeated_params: List of repeated parameters (represented by parameter</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line"><tt class="py-docstring">    pattern_params: Map from method parameter name (string) to regular</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line"><tt class="py-docstring">        expression (as a string). If the pattern is set for a parameter, the</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"><tt class="py-docstring">        value for that parameter must match the regular expression.</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line"><tt class="py-docstring">    query_params: List of parameters (represented by parameter name as string)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the query string.</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line"><tt class="py-docstring">    path_params: Set of parameters (represented by parameter name as string)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the base URL path.</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line"><tt class="py-docstring">    param_types: Map from method parameter name (string) to parameter type. Type</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line"><tt class="py-docstring">        can be any valid JSON schema type; valid values are 'any', 'array',</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"><tt class="py-docstring">        'boolean', 'integer', 'number', 'object', or 'string'. Reference:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">        http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"><tt class="py-docstring">    enum_params: Map from method parameter name (string) to list of strings,</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"><tt class="py-docstring">       where each list of strings is the list of acceptable enum values.</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters.__init__"></a><div id="ResourceMethodParameters.__init__-def"><a name="L537"></a><tt class="py-lineno"> 537</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.__init__-toggle" onclick="return toggle('ResourceMethodParameters.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="ResourceMethodParameters.__init__-expanded"><a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for ResourceMethodParameters.</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line"><tt class="py-docstring">    Sets default values and defers to set_parameters to populate.</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Change path_params to a list if the extra URITEMPLATE</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">    <tt class="py-comment">#                parsing is gotten rid of.</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line"> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method googleapiclient.discovery.ResourceMethodParameters.set_parameters()=googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters"><a title="googleapiclient.discovery.ResourceMethodParameters.set_parameters" class="py-name" href="#" onclick="return doclink('link-111', 'set_parameters', 'link-111');">set_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters.set_parameters"></a><div id="ResourceMethodParameters.set_parameters-def"><a name="L560"></a><tt class="py-lineno"> 560</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.set_parameters-toggle" onclick="return toggle('ResourceMethodParameters.set_parameters');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters.set_parameters-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="ResourceMethodParameters.set_parameters-expanded"><a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">    <tt class="py-docstring">"""Populates maps and lists based on method description.</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line"><tt class="py-docstring">    Iterates through each parameter for the method and parses the values from</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"><tt class="py-docstring">    the parameter dictionary.</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-112', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">      <tt class="py-name">param</tt> <tt class="py-op">=</tt> <tt id="link-113" class="py-name" targets="Function googleapiclient.discovery.key2param()=googleapiclient.discovery-module.html#key2param"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-113', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">arg</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-114', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'pattern'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'pattern'</tt><tt class="py-op">]</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-115', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'enum'</tt><tt class="py-op">]</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-116', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'required'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-117', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'repeated'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-118', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'query'</tt><tt class="py-op">:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-119', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'path'</tt><tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest.add()=googleapiclient.http.BatchHttpRequest-class.html#add"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-120', 'add', 'link-120');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-121', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line"> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Determine if this is still necessary. Discovery based APIs</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">    <tt class="py-comment">#                should have all path parameters already marked with</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-comment">#                'location: path'.</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">match</tt> <tt class="py-keyword">in</tt> <tt id="link-122" class="py-name"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-122', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">namematch</tt> <tt class="py-keyword">in</tt> <tt id="link-123" class="py-name"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-123', 'VARNAME', 'link-42');">VARNAME</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt id="link-124" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-124', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">namematch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-125', 'add', 'link-120');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"> </tt>
+<a name="createMethod"></a><div id="createMethod-def"><a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt> <a class="py-toggle" href="#" id="createMethod-toggle" onclick="return toggle('createMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createMethod">createMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="createMethod-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="createMethod-expanded"><a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates a method for attaching to a Resource.</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line"><tt class="py-docstring">    methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line"><tt class="py-docstring">      describes the method.</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line"><tt class="py-docstring">    rootDesc: object, the entire deserialized discovery document.</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line"><tt class="py-docstring">    schema: object, mapping of schema names to schema descriptions.</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name" targets="Function googleapiclient.discovery.fix_method_name()=googleapiclient.discovery-module.html#fix_method_name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-126', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">  <tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> <tt class="py-name">methodId</tt><tt class="py-op">,</tt> <tt id="link-127" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-127', 'accept', 'link-100');">accept</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">   <tt class="py-name">maxSize</tt><tt class="py-op">,</tt> <tt class="py-name">mediaPathUrl</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name" targets="Function googleapiclient.discovery._fix_up_method_description()=googleapiclient.discovery-module.html#_fix_up_method_description"><a title="googleapiclient.discovery._fix_up_method_description" class="py-name" href="#" onclick="return doclink('link-128', '_fix_up_method_description', 'link-128');">_fix_up_method_description</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name" targets="Class googleapiclient.discovery.ResourceMethodParameters=googleapiclient.discovery.ResourceMethodParameters-class.html"><a title="googleapiclient.discovery.ResourceMethodParameters" class="py-name" href="#" onclick="return doclink('link-129', 'ResourceMethodParameters', 'link-129');">ResourceMethodParameters</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line"> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">method</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">    <tt class="py-comment"># Don't bother with doc string, it will be over-written by createMethod.</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line"> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iterkeys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">:</tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Got an unexpected keyword argument "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line"> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">    <tt class="py-comment"># Remove args that have a value of None.</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">    <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line"> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Missing required parameter "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line"> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pvalues</tt><tt class="py-op">:</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">regex</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" does not match the pattern "%s"'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line"> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">enums</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">        <tt class="py-comment"># We need to handle the case of a repeated enum</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">        <tt class="py-comment"># name differently, since we want to handle both</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">        <tt class="py-comment"># arg='value' and arg=['value1', 'value2']</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enums</tt><tt class="py-op">:</tt> </tt>
-<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
-<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" is not an allowed value in "%s"'</tt> <tt class="py-op">%</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">enums</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line"> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">    <tt class="py-name">actual_query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">    <tt class="py-name">actual_path_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">      <tt class="py-name">to_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-130', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">      <tt class="py-comment"># For repeated parameters we cast each member of the list.</tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-131" class="py-name" targets="Function googleapiclient.discovery._cast()=googleapiclient.discovery-module.html#_cast"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-131', '_cast', 'link-131');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-132', '_cast', 'link-131');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">    <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-133', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">    <tt class="py-name">media_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-134', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'media_body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line"> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">:</tt> </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">      <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-string">'key'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> </tt>
-<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">    <tt id="link-135" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-135', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">      <tt id="link-136" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-136', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-137', 'MediaModel', 'link-33');">MediaModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">      <tt id="link-138" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-138', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-139" class="py-name"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-139', 'RawModel', 'link-36');">RawModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line"> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-140', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-141" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-141', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">   <tt class="py-name">maxSize</tt><tt class="py-op">,</tt> <tt class="py-name">mediaPathUrl</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name" targets="Function googleapiclient.discovery._fix_up_method_description()=googleapiclient.discovery-module.html#_fix_up_method_description"><a title="googleapiclient.discovery._fix_up_method_description" class="py-name" href="#" onclick="return doclink('link-128', '_fix_up_method_description', 'link-128');">_fix_up_method_description</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line"> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name" targets="Class googleapiclient.discovery.ResourceMethodParameters=googleapiclient.discovery.ResourceMethodParameters-class.html"><a title="googleapiclient.discovery.ResourceMethodParameters" class="py-name" href="#" onclick="return doclink('link-129', 'ResourceMethodParameters', 'link-129');">ResourceMethodParameters</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line"> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">method</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">    <tt class="py-comment"># Don't bother with doc string, it will be over-written by createMethod.</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line"> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iterkeys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">:</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Got an unexpected keyword argument "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">    <tt class="py-comment"># Remove args that have a value of None.</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">    <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Missing required parameter "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pvalues</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">regex</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" does not match the pattern "%s"'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">enums</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-comment"># We need to handle the case of a repeated enum</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">        <tt class="py-comment"># name differently, since we want to handle both</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">        <tt class="py-comment"># arg='value' and arg=['value1', 'value2']</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enums</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" is not an allowed value in "%s"'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">enums</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">    <tt class="py-name">actual_query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">    <tt class="py-name">actual_path_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">      <tt class="py-name">to_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-130', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">      <tt class="py-comment"># For repeated parameters we cast each member of the list.</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-131" class="py-name" targets="Function googleapiclient.discovery._cast()=googleapiclient.discovery-module.html#_cast"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-131', '_cast', 'link-131');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-132', '_cast', 'link-131');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">        <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">    <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-133', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">    <tt class="py-name">media_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-134', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'media_body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">:</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">      <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-string">'key'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">    <tt id="link-135" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-135', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">      <tt id="link-136" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-136', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-137', 'MediaModel', 'link-33');">MediaModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">      <tt id="link-138" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-138', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-139" class="py-name"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-139', 'RawModel', 'link-36');">RawModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line"> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-140', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-141" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-141', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-142', 'request', 'link-59');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">,</tt> <tt class="py-name">actual_query_params</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">    <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line"> </tt>
-<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">    <tt id="link-143" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.resumable()=googleapiclient.http.MediaIoBaseUpload-class.html#resumable,Method googleapiclient.http.MediaUpload.resumable()=googleapiclient.http.MediaUpload-class.html#resumable"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-143', 'resumable', 'link-143');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">    <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line"> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">media_filename</tt><tt class="py-op">:</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">      <tt class="py-comment"># Ensure we end up with a valid MediaUpload object.</tt> </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">media_mime_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-144" class="py-name"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-144', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-145" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-145', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name" targets="Function googleapiclient.mimeparse.best_match()=googleapiclient.mimeparse-module.html#best_match"><a title="googleapiclient.mimeparse.best_match" class="py-name" href="#" onclick="return doclink('link-146', 'best_match', 'link-146');">best_match</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-147" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">,</tt> <tt class="py-name">actual_query_params</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line"> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">    <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt id="link-143" class="py-name" targets="Function googleapiclient.discovery._urljoin()=googleapiclient.discovery-module.html#_urljoin"><a title="googleapiclient.discovery._urljoin" class="py-name" href="#" onclick="return doclink('link-143', '_urljoin', 'link-143');">_urljoin</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line"> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt id="link-144" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.resumable()=googleapiclient.http.MediaIoBaseUpload-class.html#resumable,Method googleapiclient.http.MediaUpload.resumable()=googleapiclient.http.MediaUpload-class.html#resumable"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-144', 'resumable', 'link-144');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">    <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line"> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">media_filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">      <tt class="py-comment"># Ensure we end up with a valid MediaUpload object.</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">media_mime_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-145" class="py-name"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-145', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-146" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-146', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Function googleapiclient.mimeparse.best_match()=googleapiclient.mimeparse-module.html#best_match"><a title="googleapiclient.mimeparse.best_match" class="py-name" href="#" onclick="return doclink('link-147', 'best_match', 'link-147');">best_match</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-148" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
-googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-147', 'accept', 'link-100');">accept</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-148" class="py-name"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-148', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt><tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt id="link-149" class="py-name"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-149', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> </tt>
-<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">                                       <tt id="link-150" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.mimetype()=googleapiclient.http.MediaIoBaseUpload-class.html#mimetype,Method googleapiclient.http.MediaUpload.mimetype()=googleapiclient.http.MediaUpload-class.html#mimetype"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
-googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-150', 'mimetype', 'link-150');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt id="link-151" class="py-name"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-151', 'MediaUpload', 'link-27');">MediaUpload</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_filename</tt> </tt>
-<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'media_filename must be str or MediaUpload.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line"> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">      <tt class="py-comment"># Check the maxSize</tt> </tt>
-<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">maxSize</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.size()=googleapiclient.http.MediaIoBaseUpload-class.html#size,Method googleapiclient.http.MediaUpload.size()=googleapiclient.http.MediaUpload-class.html#size"><a title="googleapiclient.http.MediaIoBaseUpload.size
-googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-152', 'size', 'link-152');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">maxSize</tt><tt class="py-op">:</tt> </tt>
-<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-153" class="py-name"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-153', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media larger than: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
-<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line"> </tt>
-<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">      <tt class="py-comment"># Use the media path uri for media uploads</tt> </tt>
-<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">      <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">mediaPathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">      <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-154', 'resumable', 'link-143');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'resumable'</tt><tt class="py-op">)</tt> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line"> </tt>
-<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-155', 'resumable', 'link-143');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">        <tt class="py-comment"># This is all we need to do for resumable, if the body exists it gets</tt> </tt>
-<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-comment"># sent in the first request, otherwise an empty body is sent.</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-156', 'resumable', 'link-143');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">        <tt class="py-comment"># A non-resumable upload</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-157" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-157', 'body', 'link-94');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">          <tt class="py-comment"># This is a simple media upload</tt> </tt>
-<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
-googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-158', 'mimetype', 'link-150');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">          <tt id="link-159" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-159', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.getbytes()=googleapiclient.http.MediaIoBaseUpload-class.html#getbytes,Method googleapiclient.http.MediaUpload.getbytes()=googleapiclient.http.MediaUpload-class.html#getbytes"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
-googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-160', 'getbytes', 'link-160');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
-googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-161', 'size', 'link-152');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'media'</tt><tt class="py-op">)</tt> </tt>
-<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">          <tt class="py-comment"># This is a multipart/related upload.</tt> </tt>
-<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'related'</tt><tt class="py-op">)</tt> </tt>
-<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">          <tt class="py-comment"># msgRoot should not write out it's own headers</tt> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">          <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line"> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">          <tt class="py-comment"># attach the body as one part</tt> </tt>
-<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-162', 'body', 'link-94');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line"> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">          <tt class="py-comment"># attach the media as the second part</tt> </tt>
-<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
-googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-163', 'mimetype', 'link-150');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
-<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line"> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">          <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
-googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-164', 'getbytes', 'link-160');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
-googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-165', 'size', 'link-152');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">          <tt class="py-comment"># encode the body: note that we can't use `as_string`, because</tt> </tt>
-<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">          <tt class="py-comment"># it plays games with `From ` lines.</tt> </tt>
-<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">          <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">          <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">mangle_from_</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">          <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">          <tt id="link-166" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-166', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line"> </tt>
-<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">          <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/related; '</tt> </tt>
-<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">                                     <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">multipart_boundary</tt> </tt>
-<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'multipart'</tt><tt class="py-op">)</tt> </tt>
-<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line"> </tt>
-<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">    <tt id="link-167" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-167', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt><tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> </tt>
-<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">                                <tt id="link-168" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-168', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
-googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-169', 'response', 'link-169');">response</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">                                <tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
-<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">                                <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> </tt>
-<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">                                <tt id="link-170" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-170', 'body', 'link-94');">body</a></tt><tt class="py-op">=</tt><tt id="link-171" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-171', 'body', 'link-94');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">                                <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">                                <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">,</tt> </tt>
-<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">                                <tt id="link-172" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-172', 'resumable', 'link-143');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-173" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
-googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-173', 'resumable', 'link-143');">resumable</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line"> </tt>
-<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">  <tt class="py-name">docs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-174', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt id="link-175" class="py-name"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-175', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'\n\n'</tt><tt class="py-op">]</tt> </tt>
-<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">    <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'Args:\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line"> </tt>
-<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">  <tt class="py-comment"># Skip undocumented params and params common to all methods.</tt> </tt>
-<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-176', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-177" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-177', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line"> </tt>
-<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">  <tt class="py-name">all_args</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">  <tt class="py-name">args_ordered</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-178" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-178', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-179', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameterOrder'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line"> </tt>
-<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">  <tt class="py-comment"># Move body to the front of the line.</tt> </tt>
-<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
-<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line">    <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
-<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line"> </tt>
-<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
-<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
-<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">      <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line"> </tt>
-<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
-<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">skip_parameters</tt><tt class="py-op">:</tt> </tt>
-<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line">      <tt class="py-keyword">continue</tt> </tt>
-<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line"> </tt>
-<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line">    <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line">      <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">' (repeated)'</tt> </tt>
-<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line">    <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
-<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line">      <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">' (required)'</tt> </tt>
-<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">    <tt class="py-name">paramdesc</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'parameters'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">arg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">    <tt class="py-name">paramdoc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-180', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">'A parameter'</tt><tt class="py-op">)</tt> </tt>
-<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
-<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-string">'  %s: object, %s%s%s\n    The object takes the'</tt> </tt>
-<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line">          <tt class="py-string">' form of:\n\n%s\n\n'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> <tt class="py-name">repeated</tt><tt class="py-op">,</tt> </tt>
-<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">            <tt id="link-181" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-181', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintByName()=googleapiclient.schema.Schemas-class.html#prettyPrintByName"><a title="googleapiclient.schema.Schemas.prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-182', 'prettyPrintByName', 'link-182');">prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">paramdesc</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line">      <tt class="py-name">paramtype</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-183', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'  %s: %s, %s%s%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramtype</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> </tt>
-<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">                                          <tt class="py-name">repeated</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">    <tt class="py-name">enum</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-184', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line">    <tt class="py-name">enumDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-185', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enumDescriptions'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">enum</tt> <tt class="py-keyword">and</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'    Allowed values\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">enum</tt><tt class="py-op">,</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">        <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'      %s - %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  The media object as a string.\n\n    '</tt><tt class="py-op">)</tt> </tt>
-<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  An object of the form:\n\n    '</tt><tt class="py-op">)</tt> </tt>
-<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-186" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-186', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintSchema()=googleapiclient.schema.Schemas-class.html#prettyPrintSchema"><a title="googleapiclient.schema.Schemas.prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-187', 'prettyPrintSchema', 'link-187');">prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line"> </tt>
-<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line">  <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">docs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line"> </tt>
-<a name="createNextMethod"></a><div id="createNextMethod-def"><a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line"> </tt>
-<a name="L812"></a><tt class="py-lineno">812</tt> <a class="py-toggle" href="#" id="createNextMethod-toggle" onclick="return toggle('createNextMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createNextMethod">createNextMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="createNextMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createNextMethod-expanded"><a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates any _next methods for attaching to a Resource.</tt> </tt>
-<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line"><tt class="py-docstring">  The _next methods allow for easy iteration through list() responses.</tt> </tt>
-<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
-<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-188" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-188', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line"> </tt>
-<a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">methodNext</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">previous_request</tt><tt class="py-op">,</tt> <tt class="py-param">previous_response</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieves the next page of results.</tt> </tt>
-<a name="L824"></a><tt class="py-lineno">824</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line"><tt class="py-docstring">Args:</tt> </tt>
-<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line"><tt class="py-docstring">  previous_request: The request for the previous page. (required)</tt> </tt>
-<a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line"><tt class="py-docstring">  previous_response: The response from the request for the previous page. (required)</tt> </tt>
-<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line"><tt class="py-docstring">Returns:</tt> </tt>
-<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line"><tt class="py-docstring">  A request object that you can call 'execute()' on to request the next</tt> </tt>
-<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line"><tt class="py-docstring">  page. Returns None if there are no more items in the collection.</tt> </tt>
-<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line">    <tt class="py-comment"># Retrieve nextPageToken from previous_response</tt> </tt>
-<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line">    <tt class="py-comment"># Use as pageToken in previous_request to create new request.</tt> </tt>
-<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line"> </tt>
-<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">previous_response</tt><tt class="py-op">:</tt> </tt>
-<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line"> </tt>
-<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line">    <tt id="link-189" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-148', 'accept', 'link-100');">accept</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-149" class="py-name"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-149', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt><tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-150', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                                       <tt id="link-151" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.mimetype()=googleapiclient.http.MediaIoBaseUpload-class.html#mimetype,Method googleapiclient.http.MediaUpload.mimetype()=googleapiclient.http.MediaUpload-class.html#mimetype"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-151', 'mimetype', 'link-151');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt id="link-152" class="py-name"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-152', 'MediaUpload', 'link-27');">MediaUpload</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_filename</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'media_filename must be str or MediaUpload.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line"> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">      <tt class="py-comment"># Check the maxSize</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">maxSize</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.size()=googleapiclient.http.MediaIoBaseUpload-class.html#size,Method googleapiclient.http.MediaUpload.size()=googleapiclient.http.MediaUpload-class.html#size"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-153', 'size', 'link-153');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">maxSize</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-154" class="py-name"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-154', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media larger than: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">      <tt class="py-comment"># Use the media path uri for media uploads</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">      <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">mediaPathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">      <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="googleapiclient.discovery._urljoin" class="py-name" href="#" onclick="return doclink('link-155', '_urljoin', 'link-143');">_urljoin</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-156', 'resumable', 'link-144');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'resumable'</tt><tt class="py-op">)</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line"> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-157', 'resumable', 'link-144');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">        <tt class="py-comment"># This is all we need to do for resumable, if the body exists it gets</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">        <tt class="py-comment"># sent in the first request, otherwise an empty body is sent.</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">        <tt id="link-158" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-158', 'resumable', 'link-144');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">        <tt class="py-comment"># A non-resumable upload</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-159" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-159', 'body', 'link-94');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">          <tt class="py-comment"># This is a simple media upload</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-160', 'mimetype', 'link-151');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">          <tt id="link-161" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-161', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.getbytes()=googleapiclient.http.MediaIoBaseUpload-class.html#getbytes,Method googleapiclient.http.MediaUpload.getbytes()=googleapiclient.http.MediaUpload-class.html#getbytes"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
+googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-162', 'getbytes', 'link-162');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-163', 'size', 'link-153');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'media'</tt><tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">          <tt class="py-comment"># This is a multipart/related upload.</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'related'</tt><tt class="py-op">)</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">          <tt class="py-comment"># msgRoot should not write out it's own headers</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">          <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">          <tt class="py-comment"># attach the body as one part</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-164" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-164', 'body', 'link-94');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">          <tt class="py-comment"># attach the media as the second part</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-165', 'mimetype', 'link-151');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">          <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
+googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-166', 'getbytes', 'link-162');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-167', 'size', 'link-153');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">          <tt class="py-comment"># encode the body: note that we can't use `as_string`, because</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">          <tt class="py-comment"># it plays games with `From ` lines.</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">          <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">          <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">mangle_from_</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">          <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">          <tt id="link-168" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-168', 'body', 'link-94');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">          <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/related; '</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                                     <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">multipart_boundary</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'multipart'</tt><tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">    <tt id="link-169" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-169', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt><tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                                <tt id="link-170" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-170', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-171', 'response', 'link-171');">response</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                                <tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                                <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">                                <tt id="link-172" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-172', 'body', 'link-94');">body</a></tt><tt class="py-op">=</tt><tt id="link-173" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-173', 'body', 'link-94');">body</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">                                <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">                                <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">,</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">                                <tt id="link-174" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-174', 'resumable', 'link-144');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-175" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-175', 'resumable', 'link-144');">resumable</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">  <tt class="py-name">docs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-176', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt id="link-177" class="py-name"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-177', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'\n\n'</tt><tt class="py-op">]</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">    <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'Args:\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">  <tt class="py-comment"># Skip undocumented params and params common to all methods.</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-178', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-179" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-179', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">  <tt class="py-name">all_args</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">  <tt class="py-name">args_ordered</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-180" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-180', 'key2param', 'link-113');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-181', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameterOrder'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line"> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">  <tt class="py-comment"># Move body to the front of the line.</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">    <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">      <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line"> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">skip_parameters</tt><tt class="py-op">:</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">      <tt class="py-keyword">continue</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line"> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">    <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">      <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">' (repeated)'</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">    <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">      <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">' (required)'</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">    <tt class="py-name">paramdesc</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'parameters'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">arg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">    <tt class="py-name">paramdoc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-182', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">'A parameter'</tt><tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-string">'  %s: object, %s%s%s\n    The object takes the'</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">          <tt class="py-string">' form of:\n\n%s\n\n'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> <tt class="py-name">repeated</tt><tt class="py-op">,</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt id="link-183" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-183', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintByName()=googleapiclient.schema.Schemas-class.html#prettyPrintByName"><a title="googleapiclient.schema.Schemas.prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-184', 'prettyPrintByName', 'link-184');">prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">paramdesc</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">      <tt class="py-name">paramtype</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-185', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'  %s: %s, %s%s%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramtype</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                                          <tt class="py-name">repeated</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">    <tt class="py-name">enum</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-186', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">    <tt class="py-name">enumDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-187', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enumDescriptions'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">enum</tt> <tt class="py-keyword">and</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'    Allowed values\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">enum</tt><tt class="py-op">,</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">        <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'      %s - %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  The media object as a string.\n\n    '</tt><tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  An object of the form:\n\n    '</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-188" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-188', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-189" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintSchema()=googleapiclient.schema.Schemas-class.html#prettyPrintSchema"><a title="googleapiclient.schema.Schemas.prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-189', 'prettyPrintSchema', 'link-189');">prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line"> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">  <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">docs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"> </tt>
+<a name="createNextMethod"></a><div id="createNextMethod-def"><a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt> <a class="py-toggle" href="#" id="createNextMethod-toggle" onclick="return toggle('createNextMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createNextMethod">createNextMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="createNextMethod-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="createNextMethod-expanded"><a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates any _next methods for attaching to a Resource.</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"><tt class="py-docstring">  The _next methods allow for easy iteration through list() responses.</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-190', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">methodNext</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">previous_request</tt><tt class="py-op">,</tt> <tt class="py-param">previous_response</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieves the next page of results.</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"><tt class="py-docstring">Args:</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line"><tt class="py-docstring">  previous_request: The request for the previous page. (required)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line"><tt class="py-docstring">  previous_response: The response from the request for the previous page. (required)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"><tt class="py-docstring">Returns:</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line"><tt class="py-docstring">  A request object that you can call 'execute()' on to request the next</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"><tt class="py-docstring">  page. Returns None if there are no more items in the collection.</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">    <tt class="py-comment"># Retrieve nextPageToken from previous_response</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">    <tt class="py-comment"># Use as pageToken in previous_request to create new request.</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line"> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">previous_response</tt><tt class="py-op">:</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line"> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">    <tt id="link-191" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
-googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-189', 'request', 'link-59');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">previous_request</tt><tt class="py-op">)</tt> </tt>
-<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line"> </tt>
-<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line">    <tt class="py-name">pageToken</tt> <tt class="py-op">=</tt> <tt class="py-name">previous_response</tt><tt class="py-op">[</tt><tt class="py-string">'nextPageToken'</tt><tt class="py-op">]</tt> </tt>
-<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-190" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-191', 'request', 'link-59');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">previous_request</tt><tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line"> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">    <tt class="py-name">pageToken</tt> <tt class="py-op">=</tt> <tt class="py-name">previous_response</tt><tt class="py-op">[</tt><tt class="py-string">'nextPageToken'</tt><tt class="py-op">]</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
-googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-190', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line">    <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line"> </tt>
-<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line">    <tt class="py-comment"># Find and remove old 'pageToken' value from URI</tt> </tt>
-<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">    <tt class="py-name">newq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">q</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'pageToken'</tt><tt class="py-op">]</tt> </tt>
-<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line">    <tt class="py-name">newq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'pageToken'</tt><tt class="py-op">,</tt> <tt class="py-name">pageToken</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">newq</tt><tt class="py-op">)</tt> </tt>
-<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">    <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">)</tt> </tt>
-<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line"> </tt>
-<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">    <tt id="link-191" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-192', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">    <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line"> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">    <tt class="py-comment"># Find and remove old 'pageToken' value from URI</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">    <tt class="py-name">newq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">q</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'pageToken'</tt><tt class="py-op">]</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">    <tt class="py-name">newq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'pageToken'</tt><tt class="py-op">,</tt> <tt class="py-name">pageToken</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">newq</tt><tt class="py-op">)</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">    <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line"> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">    <tt id="link-193" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
-googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-191', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line"> </tt>
-<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">    <tt id="link-192" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-192', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line"> </tt>
-<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-193" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-193', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line"> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">    <tt id="link-194" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-194', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line"> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-195" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
-googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-193', 'request', 'link-59');">request</a></tt> </tt>
-</div><a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line"> </tt>
-<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodNext</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line"> </tt>
-<a name="Resource"></a><div id="Resource-def"><a name="L859"></a><tt class="py-lineno">859</tt>  <tt class="py-line"> </tt>
-<a name="L860"></a><tt class="py-lineno">860</tt> <a class="py-toggle" href="#" id="Resource-toggle" onclick="return toggle('Resource');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html">Resource</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Resource-expanded"><a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line">  <tt class="py-docstring">"""A class for interacting with a resource."""</tt> </tt>
-<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__init__"></a><div id="Resource.__init__-def"><a name="L863"></a><tt class="py-lineno">863</tt> <a class="py-toggle" href="#" id="Resource.__init__-toggle" onclick="return toggle('Resource.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">baseUrl</tt><tt class="py-op">,</tt> <tt class="py-param">model</tt><tt class="py-op">,</tt> <tt class="py-param">requestBuilder</tt><tt class="py-op">,</tt> <tt class="py-param">developerKey</tt><tt class="py-op">,</tt> </tt>
-<a name="L864"></a><tt class="py-lineno">864</tt>  <tt class="py-line">               <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__init__-expanded"><a name="L865"></a><tt class="py-lineno">865</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a Resource from the API description.</tt> </tt>
-<a name="L866"></a><tt class="py-lineno">866</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L867"></a><tt class="py-lineno">867</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L868"></a><tt class="py-lineno">868</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, Object to make http requests with.</tt> </tt>
-<a name="L869"></a><tt class="py-lineno">869</tt>  <tt class="py-line"><tt class="py-docstring">      baseUrl: string, base URL for the API. All requests are relative to this</tt> </tt>
-<a name="L870"></a><tt class="py-lineno">870</tt>  <tt class="py-line"><tt class="py-docstring">          URI.</tt> </tt>
-<a name="L871"></a><tt class="py-lineno">871</tt>  <tt class="py-line"><tt class="py-docstring">      model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
-<a name="L872"></a><tt class="py-lineno">872</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder: class or callable that instantiates an</tt> </tt>
-<a name="L873"></a><tt class="py-lineno">873</tt>  <tt class="py-line"><tt class="py-docstring">          googleapiclient.HttpRequest object.</tt> </tt>
-<a name="L874"></a><tt class="py-lineno">874</tt>  <tt class="py-line"><tt class="py-docstring">      developerKey: string, key obtained from</tt> </tt>
-<a name="L875"></a><tt class="py-lineno">875</tt>  <tt class="py-line"><tt class="py-docstring">          https://code.google.com/apis/console</tt> </tt>
-<a name="L876"></a><tt class="py-lineno">876</tt>  <tt class="py-line"><tt class="py-docstring">      resourceDesc: object, section of deserialized discovery document that</tt> </tt>
-<a name="L877"></a><tt class="py-lineno">877</tt>  <tt class="py-line"><tt class="py-docstring">          describes a resource. Note that the top level discovery document</tt> </tt>
-<a name="L878"></a><tt class="py-lineno">878</tt>  <tt class="py-line"><tt class="py-docstring">          is considered a resource.</tt> </tt>
-<a name="L879"></a><tt class="py-lineno">879</tt>  <tt class="py-line"><tt class="py-docstring">      rootDesc: object, the entire deserialized discovery document.</tt> </tt>
-<a name="L880"></a><tt class="py-lineno">880</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, mapping of schema names to schema descriptions.</tt> </tt>
-<a name="L881"></a><tt class="py-lineno">881</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L882"></a><tt class="py-lineno">882</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L883"></a><tt class="py-lineno">883</tt>  <tt class="py-line"> </tt>
-<a name="L884"></a><tt class="py-lineno">884</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt> <tt class="py-op">=</tt> <tt id="link-194" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-194', 'http', 'link-20');">http</a></tt> </tt>
-<a name="L885"></a><tt class="py-lineno">885</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt> <tt class="py-op">=</tt> <tt class="py-name">baseUrl</tt> </tt>
-<a name="L886"></a><tt class="py-lineno">886</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-195', 'model', 'link-29');">model</a></tt> </tt>
-<a name="L887"></a><tt class="py-lineno">887</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> <tt class="py-op">=</tt> <tt class="py-name">developerKey</tt> </tt>
-<a name="L888"></a><tt class="py-lineno">888</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt> <tt class="py-op">=</tt> <tt class="py-name">requestBuilder</tt> </tt>
-<a name="L889"></a><tt class="py-lineno">889</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">resourceDesc</tt> </tt>
-<a name="L890"></a><tt class="py-lineno">890</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt> </tt>
-<a name="L891"></a><tt class="py-lineno">891</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-196', 'schema', 'link-38');">schema</a></tt> </tt>
-<a name="L892"></a><tt class="py-lineno">892</tt>  <tt class="py-line"> </tt>
-<a name="L893"></a><tt class="py-lineno">893</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name" targets="Method googleapiclient.discovery.Resource._set_service_methods()=googleapiclient.discovery.Resource-class.html#_set_service_methods"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-197', '_set_service_methods', 'link-197');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L894"></a><tt class="py-lineno">894</tt>  <tt class="py-line"> </tt>
-<a name="Resource._set_dynamic_attr"></a><div id="Resource._set_dynamic_attr-def"><a name="L895"></a><tt class="py-lineno">895</tt> <a class="py-toggle" href="#" id="Resource._set_dynamic_attr-toggle" onclick="return toggle('Resource._set_dynamic_attr');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr_name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._set_dynamic_attr-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_dynamic_attr-expanded"><a name="L896"></a><tt class="py-lineno">896</tt>  <tt class="py-line">    <tt class="py-docstring">"""Sets an instance attribute and tracks it in a list of dynamic attributes.</tt> </tt>
-<a name="L897"></a><tt class="py-lineno">897</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L898"></a><tt class="py-lineno">898</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L899"></a><tt class="py-lineno">899</tt>  <tt class="py-line"><tt class="py-docstring">      attr_name: string; The name of the attribute to be set</tt> </tt>
-<a name="L900"></a><tt class="py-lineno">900</tt>  <tt class="py-line"><tt class="py-docstring">      value: The value being set on the object and tracked in the dynamic cache.</tt> </tt>
-<a name="L901"></a><tt class="py-lineno">901</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L902"></a><tt class="py-lineno">902</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">attr_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L903"></a><tt class="py-lineno">903</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-</div><a name="L904"></a><tt class="py-lineno">904</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__getstate__"></a><div id="Resource.__getstate__-def"><a name="L905"></a><tt class="py-lineno">905</tt> <a class="py-toggle" href="#" id="Resource.__getstate__-toggle" onclick="return toggle('Resource.__getstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__getstate__">__getstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__getstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__getstate__-expanded"><a name="L906"></a><tt class="py-lineno">906</tt>  <tt class="py-line">    <tt class="py-docstring">"""Trim the state down to something that can be pickled.</tt> </tt>
-<a name="L907"></a><tt class="py-lineno">907</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L908"></a><tt class="py-lineno">908</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
-<a name="L909"></a><tt class="py-lineno">909</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
-<a name="L910"></a><tt class="py-lineno">910</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L911"></a><tt class="py-lineno">911</tt>  <tt class="py-line">    <tt class="py-name">state_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L912"></a><tt class="py-lineno">912</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">dynamic_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">:</tt> </tt>
-<a name="L913"></a><tt class="py-lineno">913</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-name">dynamic_attr</tt><tt class="py-op">]</tt> </tt>
-<a name="L914"></a><tt class="py-lineno">914</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-string">'_dynamic_attrs'</tt><tt class="py-op">]</tt> </tt>
-<a name="L915"></a><tt class="py-lineno">915</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">state_dict</tt> </tt>
-</div><a name="L916"></a><tt class="py-lineno">916</tt>  <tt class="py-line"> </tt>
-<a name="Resource.__setstate__"></a><div id="Resource.__setstate__-def"><a name="L917"></a><tt class="py-lineno">917</tt> <a class="py-toggle" href="#" id="Resource.__setstate__-toggle" onclick="return toggle('Resource.__setstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__setstate__">__setstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource.__setstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__setstate__-expanded"><a name="L918"></a><tt class="py-lineno">918</tt>  <tt class="py-line">    <tt class="py-docstring">"""Reconstitute the state of the object from being pickled.</tt> </tt>
-<a name="L919"></a><tt class="py-lineno">919</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L920"></a><tt class="py-lineno">920</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
-<a name="L921"></a><tt class="py-lineno">921</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
-<a name="L922"></a><tt class="py-lineno">922</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L923"></a><tt class="py-lineno">923</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-198', 'update', 'link-97');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt>
-<a name="L924"></a><tt class="py-lineno">924</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L925"></a><tt class="py-lineno">925</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-199', '_set_service_methods', 'link-197');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L926"></a><tt class="py-lineno">926</tt>  <tt class="py-line"> </tt>
-<a name="Resource._set_service_methods"></a><div id="Resource._set_service_methods-def"><a name="L927"></a><tt class="py-lineno">927</tt> <a class="py-toggle" href="#" id="Resource._set_service_methods-toggle" onclick="return toggle('Resource._set_service_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._set_service_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_service_methods-expanded"><a name="L928"></a><tt class="py-lineno">928</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method googleapiclient.discovery.Resource._add_basic_methods()=googleapiclient.discovery.Resource-class.html#_add_basic_methods"><a title="googleapiclient.discovery.Resource._add_basic_methods" class="py-name" href="#" onclick="return doclink('link-200', '_add_basic_methods', 'link-200');">_add_basic_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-<a name="L929"></a><tt class="py-lineno">929</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name" targets="Method googleapiclient.discovery.Resource._add_nested_resources()=googleapiclient.discovery.Resource-class.html#_add_nested_resources"><a title="googleapiclient.discovery.Resource._add_nested_resources" class="py-name" href="#" onclick="return doclink('link-201', '_add_nested_resources', 'link-201');">_add_nested_resources</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-<a name="L930"></a><tt class="py-lineno">930</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name" targets="Method googleapiclient.discovery.Resource._add_next_methods()=googleapiclient.discovery.Resource-class.html#_add_next_methods"><a title="googleapiclient.discovery.Resource._add_next_methods" class="py-name" href="#" onclick="return doclink('link-202', '_add_next_methods', 'link-202');">_add_next_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L931"></a><tt class="py-lineno">931</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_basic_methods"></a><div id="Resource._add_basic_methods-def"><a name="L932"></a><tt class="py-lineno">932</tt> <a class="py-toggle" href="#" id="Resource._add_basic_methods-toggle" onclick="return toggle('Resource._add_basic_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_basic_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_basic_methods-expanded"><a name="L933"></a><tt class="py-lineno">933</tt>  <tt class="py-line">    <tt class="py-comment"># Add basic methods to Resource</tt> </tt>
-<a name="L934"></a><tt class="py-lineno">934</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L935"></a><tt class="py-lineno">935</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L936"></a><tt class="py-lineno">936</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-203" class="py-name" targets="Function googleapiclient.discovery.createMethod()=googleapiclient.discovery-module.html#createMethod"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-203', 'createMethod', 'link-203');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L937"></a><tt class="py-lineno">937</tt>  <tt class="py-line">            <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-204', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L938"></a><tt class="py-lineno">938</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Method googleapiclient.discovery.Resource._set_dynamic_attr()=googleapiclient.discovery.Resource-class.html#_set_dynamic_attr"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-205', '_set_dynamic_attr', 'link-205');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L939"></a><tt class="py-lineno">939</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L940"></a><tt class="py-lineno">940</tt>  <tt class="py-line">        <tt class="py-comment"># Add in _media methods. The functionality of the attached method will</tt> </tt>
-<a name="L941"></a><tt class="py-lineno">941</tt>  <tt class="py-line">        <tt class="py-comment"># change when it sees that the method name ends in _media.</tt> </tt>
-<a name="L942"></a><tt class="py-lineno">942</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-206', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'supportsMediaDownload'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L943"></a><tt class="py-lineno">943</tt>  <tt class="py-line">          <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-207" class="py-name"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-207', 'createMethod', 'link-203');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L944"></a><tt class="py-lineno">944</tt>  <tt class="py-line">              <tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_media'</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-208" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-208', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L945"></a><tt class="py-lineno">945</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-209', '_set_dynamic_attr', 'link-205');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L946"></a><tt class="py-lineno">946</tt>  <tt class="py-line">                                 <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L947"></a><tt class="py-lineno">947</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_nested_resources"></a><div id="Resource._add_nested_resources-def"><a name="L948"></a><tt class="py-lineno">948</tt> <a class="py-toggle" href="#" id="Resource._add_nested_resources-toggle" onclick="return toggle('Resource._add_nested_resources');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_nested_resources-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_nested_resources-expanded"><a name="L949"></a><tt class="py-lineno">949</tt>  <tt class="py-line">    <tt class="py-comment"># Add in nested resources</tt> </tt>
-<a name="L950"></a><tt class="py-lineno">950</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'resources'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L951"></a><tt class="py-lineno">951</tt>  <tt class="py-line"> </tt>
-<a name="L952"></a><tt class="py-lineno">952</tt>  <tt class="py-line">      <tt class="py-keyword">def</tt> <tt class="py-def-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L953"></a><tt class="py-lineno">953</tt>  <tt class="py-line">        <tt class="py-docstring">"""Create a method on the Resource to access a nested Resource.</tt> </tt>
-<a name="L954"></a><tt class="py-lineno">954</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L955"></a><tt class="py-lineno">955</tt>  <tt class="py-line"><tt class="py-docstring">        Args:</tt> </tt>
-<a name="L956"></a><tt class="py-lineno">956</tt>  <tt class="py-line"><tt class="py-docstring">          methodName: string, name of the method to use.</tt> </tt>
-<a name="L957"></a><tt class="py-lineno">957</tt>  <tt class="py-line"><tt class="py-docstring">          methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
-<a name="L958"></a><tt class="py-lineno">958</tt>  <tt class="py-line"><tt class="py-docstring">            describes the method.</tt> </tt>
-<a name="L959"></a><tt class="py-lineno">959</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L960"></a><tt class="py-lineno">960</tt>  <tt class="py-line">        <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-210', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
-<a name="L961"></a><tt class="py-lineno">961</tt>  <tt class="py-line"> </tt>
-<a name="L962"></a><tt class="py-lineno">962</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">methodResource</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L963"></a><tt class="py-lineno">963</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> <tt id="link-211" class="py-name"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-211', 'Resource', 'link-81');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-212" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-212', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> </tt>
-<a name="L964"></a><tt class="py-lineno">964</tt>  <tt class="py-line">                          <tt id="link-213" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-213', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">,</tt> </tt>
-<a name="L965"></a><tt class="py-lineno">965</tt>  <tt class="py-line">                          <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">,</tt> </tt>
-<a name="L966"></a><tt class="py-lineno">966</tt>  <tt class="py-line">                          <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> </tt>
-<a name="L967"></a><tt class="py-lineno">967</tt>  <tt class="py-line">                          <tt id="link-214" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-214', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-215" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-215', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L968"></a><tt class="py-lineno">968</tt>  <tt class="py-line"> </tt>
-<a name="L969"></a><tt class="py-lineno">969</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">'A collection resource.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L970"></a><tt class="py-lineno">970</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__is_resource__'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L971"></a><tt class="py-lineno">971</tt>  <tt class="py-line"> </tt>
-<a name="L972"></a><tt class="py-lineno">972</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodResource</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L973"></a><tt class="py-lineno">973</tt>  <tt class="py-line"> </tt>
-<a name="L974"></a><tt class="py-lineno">974</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'resources'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L975"></a><tt class="py-lineno">975</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
-<a name="L976"></a><tt class="py-lineno">976</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-216', '_set_dynamic_attr', 'link-205');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L977"></a><tt class="py-lineno">977</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L978"></a><tt class="py-lineno">978</tt>  <tt class="py-line"> </tt>
-<a name="Resource._add_next_methods"></a><div id="Resource._add_next_methods-def"><a name="L979"></a><tt class="py-lineno">979</tt> <a class="py-toggle" href="#" id="Resource._add_next_methods-toggle" onclick="return toggle('Resource._add_next_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Resource._add_next_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_next_methods-expanded"><a name="L980"></a><tt class="py-lineno">980</tt>  <tt class="py-line">    <tt class="py-comment"># Add _next() methods</tt> </tt>
-<a name="L981"></a><tt class="py-lineno">981</tt>  <tt class="py-line">    <tt class="py-comment"># Look for response bodies in schema that contain nextPageToken, and methods</tt> </tt>
-<a name="L982"></a><tt class="py-lineno">982</tt>  <tt class="py-line">    <tt class="py-comment"># that take a pageToken parameter.</tt> </tt>
-<a name="L983"></a><tt class="py-lineno">983</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L984"></a><tt class="py-lineno">984</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L985"></a><tt class="py-lineno">985</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
-<a name="L986"></a><tt class="py-lineno">986</tt>  <tt class="py-line">          <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt> </tt>
-<a name="L987"></a><tt class="py-lineno">987</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">:</tt> </tt>
-<a name="L988"></a><tt class="py-lineno">988</tt>  <tt class="py-line">            <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt id="link-217" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-217', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-218', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">responseSchema</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L989"></a><tt class="py-lineno">989</tt>  <tt class="py-line">          <tt class="py-name">hasNextPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-219', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> </tt>
-<a name="L990"></a><tt class="py-lineno">990</tt>  <tt class="py-line">                                                                   <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L991"></a><tt class="py-lineno">991</tt>  <tt class="py-line">          <tt class="py-name">hasPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'pageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-220', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L992"></a><tt class="py-lineno">992</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">hasNextPageToken</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasPageToken</tt><tt class="py-op">:</tt> </tt>
-<a name="L993"></a><tt class="py-lineno">993</tt>  <tt class="py-line">            <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-221" class="py-name" targets="Function googleapiclient.discovery.createNextMethod()=googleapiclient.discovery-module.html#createNextMethod"><a title="googleapiclient.discovery.createNextMethod" class="py-name" href="#" onclick="return doclink('link-221', 'createNextMethod', 'link-221');">createNextMethod</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_next'</tt><tt class="py-op">)</tt> </tt>
-<a name="L994"></a><tt class="py-lineno">994</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-222', '_set_dynamic_attr', 'link-205');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
-<a name="L995"></a><tt class="py-lineno">995</tt>  <tt class="py-line">                                   <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L996"></a><tt class="py-lineno">996</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-195', 'request', 'link-59');">request</a></tt> </tt>
+</div><a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodNext</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
+<a name="Resource"></a><div id="Resource-def"><a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line"> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt> <a class="py-toggle" href="#" id="Resource-toggle" onclick="return toggle('Resource');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html">Resource</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Resource-expanded"><a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">  <tt class="py-docstring">"""A class for interacting with a resource."""</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__init__"></a><div id="Resource.__init__-def"><a name="L880"></a><tt class="py-lineno"> 880</tt> <a class="py-toggle" href="#" id="Resource.__init__-toggle" onclick="return toggle('Resource.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">baseUrl</tt><tt class="py-op">,</tt> <tt class="py-param">model</tt><tt class="py-op">,</tt> <tt class="py-param">requestBuilder</tt><tt class="py-op">,</tt> <tt class="py-param">developerKey</tt><tt class="py-op">,</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">               <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource.__init__-expanded"><a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a Resource from the API description.</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, Object to make http requests with.</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring">      baseUrl: string, base URL for the API. All requests are relative to this</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">          URI.</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">      model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder: class or callable that instantiates an</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line"><tt class="py-docstring">          googleapiclient.HttpRequest object.</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line"><tt class="py-docstring">      developerKey: string, key obtained from</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line"><tt class="py-docstring">          https://code.google.com/apis/console</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line"><tt class="py-docstring">      resourceDesc: object, section of deserialized discovery document that</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line"><tt class="py-docstring">          describes a resource. Note that the top level discovery document</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line"><tt class="py-docstring">          is considered a resource.</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line"><tt class="py-docstring">      rootDesc: object, the entire deserialized discovery document.</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, mapping of schema names to schema descriptions.</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line"> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-196', 'http', 'link-20');">http</a></tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt> <tt class="py-op">=</tt> <tt class="py-name">baseUrl</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> <tt class="py-op">=</tt> <tt id="link-197" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-197', 'model', 'link-29');">model</a></tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> <tt class="py-op">=</tt> <tt class="py-name">developerKey</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt> <tt class="py-op">=</tt> <tt class="py-name">requestBuilder</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">resourceDesc</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt> <tt class="py-op">=</tt> <tt id="link-198" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-198', 'schema', 'link-38');">schema</a></tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line"> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name" targets="Method googleapiclient.discovery.Resource._set_service_methods()=googleapiclient.discovery.Resource-class.html#_set_service_methods"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-199', '_set_service_methods', 'link-199');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line"> </tt>
+<a name="Resource._set_dynamic_attr"></a><div id="Resource._set_dynamic_attr-def"><a name="L912"></a><tt class="py-lineno"> 912</tt> <a class="py-toggle" href="#" id="Resource._set_dynamic_attr-toggle" onclick="return toggle('Resource._set_dynamic_attr');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr_name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._set_dynamic_attr-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource._set_dynamic_attr-expanded"><a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">    <tt class="py-docstring">"""Sets an instance attribute and tracks it in a list of dynamic attributes.</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line"><tt class="py-docstring">      attr_name: string; The name of the attribute to be set</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"><tt class="py-docstring">      value: The value being set on the object and tracked in the dynamic cache.</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">attr_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+</div><a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__getstate__"></a><div id="Resource.__getstate__-def"><a name="L922"></a><tt class="py-lineno"> 922</tt> <a class="py-toggle" href="#" id="Resource.__getstate__-toggle" onclick="return toggle('Resource.__getstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__getstate__">__getstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__getstate__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource.__getstate__-expanded"><a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">    <tt class="py-docstring">"""Trim the state down to something that can be pickled.</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">    <tt class="py-name">state_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">dynamic_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">:</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-name">dynamic_attr</tt><tt class="py-op">]</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-string">'_dynamic_attrs'</tt><tt class="py-op">]</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">state_dict</tt> </tt>
+</div><a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__setstate__"></a><div id="Resource.__setstate__-def"><a name="L934"></a><tt class="py-lineno"> 934</tt> <a class="py-toggle" href="#" id="Resource.__setstate__-toggle" onclick="return toggle('Resource.__setstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__setstate__">__setstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__setstate__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource.__setstate__-expanded"><a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">    <tt class="py-docstring">"""Reconstitute the state of the object from being pickled.</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-200', 'update', 'link-97');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-201', '_set_service_methods', 'link-199');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"> </tt>
+<a name="Resource._set_service_methods"></a><div id="Resource._set_service_methods-def"><a name="L944"></a><tt class="py-lineno"> 944</tt> <a class="py-toggle" href="#" id="Resource._set_service_methods-toggle" onclick="return toggle('Resource._set_service_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._set_service_methods-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource._set_service_methods-expanded"><a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name" targets="Method googleapiclient.discovery.Resource._add_basic_methods()=googleapiclient.discovery.Resource-class.html#_add_basic_methods"><a title="googleapiclient.discovery.Resource._add_basic_methods" class="py-name" href="#" onclick="return doclink('link-202', '_add_basic_methods', 'link-202');">_add_basic_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name" targets="Method googleapiclient.discovery.Resource._add_nested_resources()=googleapiclient.discovery.Resource-class.html#_add_nested_resources"><a title="googleapiclient.discovery.Resource._add_nested_resources" class="py-name" href="#" onclick="return doclink('link-203', '_add_nested_resources', 'link-203');">_add_nested_resources</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name" targets="Method googleapiclient.discovery.Resource._add_next_methods()=googleapiclient.discovery.Resource-class.html#_add_next_methods"><a title="googleapiclient.discovery.Resource._add_next_methods" class="py-name" href="#" onclick="return doclink('link-204', '_add_next_methods', 'link-204');">_add_next_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_basic_methods"></a><div id="Resource._add_basic_methods-def"><a name="L949"></a><tt class="py-lineno"> 949</tt> <a class="py-toggle" href="#" id="Resource._add_basic_methods-toggle" onclick="return toggle('Resource._add_basic_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_basic_methods-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource._add_basic_methods-expanded"><a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">    <tt class="py-comment"># Add basic methods to Resource</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name" targets="Function googleapiclient.discovery.createMethod()=googleapiclient.discovery-module.html#createMethod"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-205', 'createMethod', 'link-205');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">            <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-206" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-206', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name" targets="Method googleapiclient.discovery.Resource._set_dynamic_attr()=googleapiclient.discovery.Resource-class.html#_set_dynamic_attr"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-207', '_set_dynamic_attr', 'link-207');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">        <tt class="py-comment"># Add in _media methods. The functionality of the attached method will</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">        <tt class="py-comment"># change when it sees that the method name ends in _media.</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-208', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'supportsMediaDownload'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">          <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-209" class="py-name"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-209', 'createMethod', 'link-205');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">              <tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_media'</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-210" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-210', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-211', '_set_dynamic_attr', 'link-207');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                                 <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_nested_resources"></a><div id="Resource._add_nested_resources-def"><a name="L965"></a><tt class="py-lineno"> 965</tt> <a class="py-toggle" href="#" id="Resource._add_nested_resources-toggle" onclick="return toggle('Resource._add_nested_resources');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_nested_resources-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource._add_nested_resources-expanded"><a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">    <tt class="py-comment"># Add in nested resources</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'resources'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line"> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">      <tt class="py-keyword">def</tt> <tt class="py-def-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">        <tt class="py-docstring">"""Create a method on the Resource to access a nested Resource.</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"><tt class="py-docstring">        Args:</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring">          methodName: string, name of the method to use.</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">          methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">            describes the method.</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">        <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-212" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-212', 'fix_method_name', 'link-126');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">methodResource</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> <tt id="link-213" class="py-name"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-213', 'Resource', 'link-81');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-214" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-214', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">                          <tt id="link-215" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-215', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">,</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                          <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">,</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                          <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                          <tt id="link-216" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-216', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-217" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-217', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line"> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">'A collection resource.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__is_resource__'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodResource</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'resources'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-218', '_set_dynamic_attr', 'link-207');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_next_methods"></a><div id="Resource._add_next_methods-def"><a name="L996"></a><tt class="py-lineno"> 996</tt> <a class="py-toggle" href="#" id="Resource._add_next_methods-toggle" onclick="return toggle('Resource._add_next_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_next_methods-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Resource._add_next_methods-expanded"><a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">    <tt class="py-comment"># Add _next() methods</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">    <tt class="py-comment"># Look for response bodies in schema that contain nextPageToken, and methods</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">    <tt class="py-comment"># that take a pageToken parameter.</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">          <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">:</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-219', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-220', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">responseSchema</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">          <tt class="py-name">hasNextPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-221', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                                                                   <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">          <tt class="py-name">hasPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'pageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-222', 'get', 'link-72');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">hasNextPageToken</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasPageToken</tt><tt class="py-op">:</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-223" class="py-name" targets="Function googleapiclient.discovery.createNextMethod()=googleapiclient.discovery-module.html#createNextMethod"><a title="googleapiclient.discovery.createNextMethod" class="py-name" href="#" onclick="return doclink('link-223', 'createNextMethod', 'link-223');">createNextMethod</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_next'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-224', '_set_dynamic_attr', 'link-207');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">                                   <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -1141,7 +1158,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.discovery.Resource-class.html b/docs/epy/googleapiclient.discovery.Resource-class.html
index 36bfef7..f965270 100644
--- a/docs/epy/googleapiclient.discovery.Resource-class.html
+++ b/docs/epy/googleapiclient.discovery.Resource-class.html
@@ -458,7 +458,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html b/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html
index 9a88c10..595d99b 100644
--- a/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html
+++ b/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html
@@ -300,7 +300,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors-module.html b/docs/epy/googleapiclient.errors-module.html
index 0a50ab9..ada8bb3 100644
--- a/docs/epy/googleapiclient.errors-module.html
+++ b/docs/epy/googleapiclient.errors-module.html
@@ -224,7 +224,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors-pysrc.html b/docs/epy/googleapiclient.errors-pysrc.html
index e62ca0c..d15f1f9 100644
--- a/docs/epy/googleapiclient.errors-pysrc.html
+++ b/docs/epy/googleapiclient.errors-pysrc.html
@@ -56,138 +56,136 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="googleapiclient.errors-module.html">Module googleapiclient.errors</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
 <a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Errors for the library.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">All exceptions defined by the library</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">should be defined in this file.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Errors for the library.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">All exceptions defined by the library</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">should be defined in this file.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
 <a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
 <a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
-<a name="Error"></a><div id="Error-def"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="HttpError"></a><div id="HttpError-def"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="HttpError-toggle" onclick="return toggle('HttpError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html">HttpError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HttpError-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">  <tt class="py-docstring">"""HTTP data was invalid or unexpected."""</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpError.__init__"></a><div id="HttpError.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="HttpError.__init__-toggle" onclick="return toggle('HttpError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="HttpError._get_reason"></a><div id="HttpError._get_reason-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="HttpError._get_reason-toggle" onclick="return toggle('HttpError._get_reason');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#_get_reason">_get_reason</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError._get_reason-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError._get_reason-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-docstring">"""Calculate the reason for the error from the response content."""</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'message'</tt><tt class="py-op">]</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">reason</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">reason</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="HttpError.__repr__"></a><div id="HttpError.__repr__-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="HttpError.__repr__-toggle" onclick="return toggle('HttpError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__repr__-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s when requesting %s returned "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method googleapiclient.errors.HttpError._get_reason()=googleapiclient.errors.HttpError-class.html#_get_reason"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-0', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-1', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Method googleapiclient.errors.BatchError.__repr__()=googleapiclient.errors.BatchError-class.html#__repr__,Method googleapiclient.errors.HttpError.__repr__()=googleapiclient.errors.HttpError-class.html#__repr__"><a title="googleapiclient.errors.BatchError.__repr__
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
+<a name="Error"></a><div id="Error-def"><a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="HttpError"></a><div id="HttpError-def"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="HttpError-toggle" onclick="return toggle('HttpError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html">HttpError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HttpError-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">  <tt class="py-docstring">"""HTTP data was invalid or unexpected."""</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpError.__init__"></a><div id="HttpError.__init__-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="HttpError.__init__-toggle" onclick="return toggle('HttpError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__init__-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="HttpError._get_reason"></a><div id="HttpError._get_reason-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="HttpError._get_reason-toggle" onclick="return toggle('HttpError._get_reason');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#_get_reason">_get_reason</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError._get_reason-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError._get_reason-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-docstring">"""Calculate the reason for the error from the response content."""</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'message'</tt><tt class="py-op">]</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">reason</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">reason</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
+<a name="HttpError.__repr__"></a><div id="HttpError.__repr__-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="HttpError.__repr__-toggle" onclick="return toggle('HttpError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__repr__-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s when requesting %s returned "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method googleapiclient.errors.HttpError._get_reason()=googleapiclient.errors.HttpError-class.html#_get_reason"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-0', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-1', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Method googleapiclient.errors.BatchError.__repr__()=googleapiclient.errors.BatchError-class.html#__repr__,Method googleapiclient.errors.HttpError.__repr__()=googleapiclient.errors.HttpError-class.html#__repr__"><a title="googleapiclient.errors.BatchError.__repr__
 googleapiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-2', '__repr__', 'link-2');">__repr__</a></tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="InvalidJsonError"></a><div id="InvalidJsonError-def"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="InvalidJsonError-toggle" onclick="return toggle('InvalidJsonError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidJsonError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidJsonError-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-docstring">"""The JSON returned could not be parsed."""</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="UnknownFileType"></a><div id="UnknownFileType-def"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="UnknownFileType-toggle" onclick="return toggle('UnknownFileType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownFileType-class.html">UnknownFileType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownFileType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownFileType-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-docstring">"""File type unknown or unexpected."""</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
-<a name="UnknownLinkType"></a><div id="UnknownLinkType-def"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="UnknownLinkType-toggle" onclick="return toggle('UnknownLinkType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownLinkType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownLinkType-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">  <tt class="py-docstring">"""Link type unknown or unexpected."""</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="UnknownApiNameOrVersion"></a><div id="UnknownApiNameOrVersion-def"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="UnknownApiNameOrVersion-toggle" onclick="return toggle('UnknownApiNameOrVersion');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnknownApiNameOrVersion-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownApiNameOrVersion-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">  <tt class="py-docstring">"""No API with that name and version exists."""</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="UnacceptableMimeTypeError"></a><div id="UnacceptableMimeTypeError-def"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="UnacceptableMimeTypeError-toggle" onclick="return toggle('UnacceptableMimeTypeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnacceptableMimeTypeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnacceptableMimeTypeError-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">  <tt class="py-docstring">"""That is an unacceptable mimetype for this operation."""</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
-<a name="MediaUploadSizeError"></a><div id="MediaUploadSizeError-def"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="MediaUploadSizeError-toggle" onclick="return toggle('MediaUploadSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaUploadSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaUploadSizeError-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">  <tt class="py-docstring">"""Media is larger than the method can accept."""</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
-<a name="ResumableUploadError"></a><div id="ResumableUploadError-def"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="ResumableUploadError-toggle" onclick="return toggle('ResumableUploadError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ResumableUploadError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResumableUploadError-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during resumable upload."""</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="InvalidChunkSizeError"></a><div id="InvalidChunkSizeError-def"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="InvalidChunkSizeError-toggle" onclick="return toggle('InvalidChunkSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidChunkSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidChunkSizeError-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt class="py-docstring">"""The given chunksize is not valid."""</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="InvalidNotificationError"></a><div id="InvalidNotificationError-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="InvalidNotificationError-toggle" onclick="return toggle('InvalidNotificationError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="InvalidNotificationError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidNotificationError-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">  <tt class="py-docstring">"""The channel Notification is invalid."""</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="BatchError"></a><div id="BatchError-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="BatchError-toggle" onclick="return toggle('BatchError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html">BatchError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BatchError-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during batch operations."""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchError.__init__"></a><div id="BatchError.__init__-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="BatchError.__init__-toggle" onclick="return toggle('BatchError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">reason</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__init__-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
-</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
-<a name="BatchError.__repr__"></a><div id="BatchError.__repr__-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="BatchError.__repr__-toggle" onclick="return toggle('BatchError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__repr__-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;BatchError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="googleapiclient.errors.BatchError.__repr__
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="InvalidJsonError"></a><div id="InvalidJsonError-def"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="InvalidJsonError-toggle" onclick="return toggle('InvalidJsonError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidJsonError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidJsonError-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">  <tt class="py-docstring">"""The JSON returned could not be parsed."""</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
+<a name="UnknownFileType"></a><div id="UnknownFileType-def"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="UnknownFileType-toggle" onclick="return toggle('UnknownFileType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownFileType-class.html">UnknownFileType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownFileType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownFileType-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">  <tt class="py-docstring">"""File type unknown or unexpected."""</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="UnknownLinkType"></a><div id="UnknownLinkType-def"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="UnknownLinkType-toggle" onclick="return toggle('UnknownLinkType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownLinkType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownLinkType-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">  <tt class="py-docstring">"""Link type unknown or unexpected."""</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="UnknownApiNameOrVersion"></a><div id="UnknownApiNameOrVersion-def"><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="UnknownApiNameOrVersion-toggle" onclick="return toggle('UnknownApiNameOrVersion');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownApiNameOrVersion-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownApiNameOrVersion-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">  <tt class="py-docstring">"""No API with that name and version exists."""</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="UnacceptableMimeTypeError"></a><div id="UnacceptableMimeTypeError-def"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="UnacceptableMimeTypeError-toggle" onclick="return toggle('UnacceptableMimeTypeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnacceptableMimeTypeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnacceptableMimeTypeError-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">  <tt class="py-docstring">"""That is an unacceptable mimetype for this operation."""</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="MediaUploadSizeError"></a><div id="MediaUploadSizeError-def"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="MediaUploadSizeError-toggle" onclick="return toggle('MediaUploadSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUploadSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaUploadSizeError-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">  <tt class="py-docstring">"""Media is larger than the method can accept."""</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="ResumableUploadError"></a><div id="ResumableUploadError-def"><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="ResumableUploadError-toggle" onclick="return toggle('ResumableUploadError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResumableUploadError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResumableUploadError-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during resumable upload."""</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
+<a name="InvalidChunkSizeError"></a><div id="InvalidChunkSizeError-def"><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="InvalidChunkSizeError-toggle" onclick="return toggle('InvalidChunkSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidChunkSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidChunkSizeError-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt class="py-docstring">"""The given chunksize is not valid."""</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="InvalidNotificationError"></a><div id="InvalidNotificationError-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="InvalidNotificationError-toggle" onclick="return toggle('InvalidNotificationError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidNotificationError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidNotificationError-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">  <tt class="py-docstring">"""The channel Notification is invalid."""</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
+<a name="BatchError"></a><div id="BatchError-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="BatchError-toggle" onclick="return toggle('BatchError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html">BatchError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BatchError-expanded"><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during batch operations."""</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchError.__init__"></a><div id="BatchError.__init__-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="BatchError.__init__-toggle" onclick="return toggle('BatchError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">reason</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__init__-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
+</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="BatchError.__repr__"></a><div id="BatchError.__repr__-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="BatchError.__repr__-toggle" onclick="return toggle('BatchError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__repr__-expanded"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;BatchError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="googleapiclient.errors.BatchError.__repr__
 googleapiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-3', '__repr__', 'link-2');">__repr__</a></tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedMethodError"></a><div id="UnexpectedMethodError-def"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError-toggle" onclick="return toggle('UnexpectedMethodError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedMethodError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedMethodError-expanded"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected calls."""</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="UnexpectedMethodError.__init__"></a><div id="UnexpectedMethodError.__init__-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError.__init__-toggle" onclick="return toggle('UnexpectedMethodError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedMethodError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedMethodError.__init__-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class googleapiclient.errors.UnexpectedMethodError=googleapiclient.errors.UnexpectedMethodError-class.html"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-4', 'UnexpectedMethodError', 'link-4');">UnexpectedMethodError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method googleapiclient.channel.Channel.__init__()=googleapiclient.channel.Channel-class.html#__init__,Method googleapiclient.channel.Notification.__init__()=googleapiclient.channel.Notification-class.html#__init__,Method googleapiclient.discovery.Resource.__init__()=googleapiclient.discovery.Resource-class.html#__init__,Method googleapiclient.discovery.ResourceMethodParameters.__init__()=googleapiclient.discovery.ResourceMethodParameters-class.html#__init__,Method googleapiclient.errors.BatchError.__init__()=googleapiclient.errors.BatchError-class.html#__init__,Method googleapiclient.errors.HttpError.__init__()=googleapiclient.errors.HttpError-class.html#__init__,Method googleapiclient.errors.UnexpectedBodyError.__init__()=googleapiclient.errors.UnexpectedBodyError-class.html#__init__,Method googleapiclient.errors.UnexpectedMethodError.__init__()=googleapiclient.errors.UnexpectedMethodError-class.html#__init__,Method googleapiclient.http.BatchHttpRequest.__init__()=googleapiclient.http.BatchHttpRequest-class.html#__init__,Method googleapiclient.http.HttpMock.__init__()=googleapiclient.http.HttpMock-class.html#__init__,Method googleapiclient.http.HttpMockSequence.__init__()=googleapiclient.http.HttpMockSequence-class.html#__init__,Method googleapiclient.http.HttpRequest.__init__()=googleapiclient.http.HttpRequest-class.html#__init__,Method googleapiclient.http.HttpRequestMock.__init__()=googleapiclient.http.HttpRequestMock-class.html#__init__,Method googleapiclient.http.MediaDownloadProgress.__init__()=googleapiclient.http.MediaDownloadProgress-class.html#__init__,Method googleapiclient.http.MediaFileUpload.__init__()=googleapiclient.http.MediaFileUpload-class.html#__init__,Method googleapiclient.http.MediaInMemoryUpload.__init__()=googleapiclient.http.MediaInMemoryUpload-class.html#__init__,Method googleapiclient.http.MediaIoBaseDownload.__init__()=googleapiclient.http.MediaIoBaseDownload-class.html#__init__,Method googleapiclient.http.MediaIoBaseUpload.__init__()=googleapiclient.http.MediaIoBaseUpload-class.html#__init__,Method googleapiclient.http.MediaUploadProgress.__init__()=googleapiclient.http.MediaUploadProgress-class.html#__init__,Method googleapiclient.http.RequestMockBuilder.__init__()=googleapiclient.http.RequestMockBuilder-class.html#__init__,Method googleapiclient.http._StreamSlice.__init__()=googleapiclient.http._StreamSlice-class.html#__init__,Method googleapiclient.model.JsonModel.__init__()=googleapiclient.model.JsonModel-class.html#__init__,Method googleapiclient.model.ProtocolBufferModel.__init__()=googleapiclient.model.ProtocolBufferModel-class.html#__init__,Method googleapiclient.schema.Schemas.__init__()=googleapiclient.schema.Schemas-class.html#__init__,Method googleapiclient.schema._SchemaToStruct.__init__()=googleapiclient.schema._SchemaToStruct-class.html#__init__"><a title="googleapiclient.channel.Channel.__init__
+</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedMethodError"></a><div id="UnexpectedMethodError-def"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError-toggle" onclick="return toggle('UnexpectedMethodError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedMethodError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedMethodError-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected calls."""</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="UnexpectedMethodError.__init__"></a><div id="UnexpectedMethodError.__init__-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError.__init__-toggle" onclick="return toggle('UnexpectedMethodError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedMethodError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedMethodError.__init__-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class googleapiclient.errors.UnexpectedMethodError=googleapiclient.errors.UnexpectedMethodError-class.html"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-4', 'UnexpectedMethodError', 'link-4');">UnexpectedMethodError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method googleapiclient.channel.Channel.__init__()=googleapiclient.channel.Channel-class.html#__init__,Method googleapiclient.channel.Notification.__init__()=googleapiclient.channel.Notification-class.html#__init__,Method googleapiclient.discovery.Resource.__init__()=googleapiclient.discovery.Resource-class.html#__init__,Method googleapiclient.discovery.ResourceMethodParameters.__init__()=googleapiclient.discovery.ResourceMethodParameters-class.html#__init__,Method googleapiclient.errors.BatchError.__init__()=googleapiclient.errors.BatchError-class.html#__init__,Method googleapiclient.errors.HttpError.__init__()=googleapiclient.errors.HttpError-class.html#__init__,Method googleapiclient.errors.UnexpectedBodyError.__init__()=googleapiclient.errors.UnexpectedBodyError-class.html#__init__,Method googleapiclient.errors.UnexpectedMethodError.__init__()=googleapiclient.errors.UnexpectedMethodError-class.html#__init__,Method googleapiclient.http.BatchHttpRequest.__init__()=googleapiclient.http.BatchHttpRequest-class.html#__init__,Method googleapiclient.http.HttpMock.__init__()=googleapiclient.http.HttpMock-class.html#__init__,Method googleapiclient.http.HttpMockSequence.__init__()=googleapiclient.http.HttpMockSequence-class.html#__init__,Method googleapiclient.http.HttpRequest.__init__()=googleapiclient.http.HttpRequest-class.html#__init__,Method googleapiclient.http.HttpRequestMock.__init__()=googleapiclient.http.HttpRequestMock-class.html#__init__,Method googleapiclient.http.MediaDownloadProgress.__init__()=googleapiclient.http.MediaDownloadProgress-class.html#__init__,Method googleapiclient.http.MediaFileUpload.__init__()=googleapiclient.http.MediaFileUpload-class.html#__init__,Method googleapiclient.http.MediaInMemoryUpload.__init__()=googleapiclient.http.MediaInMemoryUpload-class.html#__init__,Method googleapiclient.http.MediaIoBaseDownload.__init__()=googleapiclient.http.MediaIoBaseDownload-class.html#__init__,Method googleapiclient.http.MediaIoBaseUpload.__init__()=googleapiclient.http.MediaIoBaseUpload-class.html#__init__,Method googleapiclient.http.MediaUploadProgress.__init__()=googleapiclient.http.MediaUploadProgress-class.html#__init__,Method googleapiclient.http.RequestMockBuilder.__init__()=googleapiclient.http.RequestMockBuilder-class.html#__init__,Method googleapiclient.http._StreamSlice.__init__()=googleapiclient.http._StreamSlice-class.html#__init__,Method googleapiclient.model.JsonModel.__init__()=googleapiclient.model.JsonModel-class.html#__init__,Method googleapiclient.model.ProtocolBufferModel.__init__()=googleapiclient.model.ProtocolBufferModel-class.html#__init__,Method googleapiclient.schema.Schemas.__init__()=googleapiclient.schema.Schemas-class.html#__init__,Method googleapiclient.schema._SchemaToStruct.__init__()=googleapiclient.schema._SchemaToStruct-class.html#__init__"><a title="googleapiclient.channel.Channel.__init__
 googleapiclient.channel.Notification.__init__
 googleapiclient.discovery.Resource.__init__
 googleapiclient.discovery.ResourceMethodParameters.__init__
@@ -212,15 +210,15 @@
 googleapiclient.model.ProtocolBufferModel.__init__
 googleapiclient.schema.Schemas.__init__
 googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-string">'Received unexpected call %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedBodyError"></a><div id="UnexpectedBodyError-def"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError-toggle" onclick="return toggle('UnexpectedBodyError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedBodyError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedBodyError-expanded"><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected bodies."""</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
-<a name="UnexpectedBodyError.__init__"></a><div id="UnexpectedBodyError.__init__-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError.__init__-toggle" onclick="return toggle('UnexpectedBodyError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">,</tt> <tt class="py-param">provided</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UnexpectedBodyError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedBodyError.__init__-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name" targets="Class googleapiclient.errors.UnexpectedBodyError=googleapiclient.errors.UnexpectedBodyError-class.html"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-6', 'UnexpectedBodyError', 'link-6');">UnexpectedBodyError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="googleapiclient.channel.Channel.__init__
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-string">'Received unexpected call %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedBodyError"></a><div id="UnexpectedBodyError-def"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError-toggle" onclick="return toggle('UnexpectedBodyError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedBodyError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedBodyError-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected bodies."""</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedBodyError.__init__"></a><div id="UnexpectedBodyError.__init__-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError.__init__-toggle" onclick="return toggle('UnexpectedBodyError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">,</tt> <tt class="py-param">provided</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedBodyError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedBodyError.__init__-expanded"><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name" targets="Class googleapiclient.errors.UnexpectedBodyError=googleapiclient.errors.UnexpectedBodyError-class.html"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-6', 'UnexpectedBodyError', 'link-6');">UnexpectedBodyError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="googleapiclient.channel.Channel.__init__
 googleapiclient.channel.Notification.__init__
 googleapiclient.discovery.Resource.__init__
 googleapiclient.discovery.ResourceMethodParameters.__init__
@@ -245,8 +243,8 @@
 googleapiclient.model.ProtocolBufferModel.__init__
 googleapiclient.schema.Schemas.__init__
 googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-7', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-string">'Expected: [%s] - Provided: [%s]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">provided</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-string">'Expected: [%s] - Provided: [%s]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">provided</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -279,7 +277,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.BatchError-class.html b/docs/epy/googleapiclient.errors.BatchError-class.html
index c96c782..7295a87 100644
--- a/docs/epy/googleapiclient.errors.BatchError-class.html
+++ b/docs/epy/googleapiclient.errors.BatchError-class.html
@@ -64,20 +64,20 @@
 <area shape="rect" id="node1_16" href="googleapiclient.errors.BatchError-class.html#__str__" title="str(x)" alt="" coords="17,508,311,527"/>
 <area shape="rect" id="node1" href="googleapiclient.errors.BatchError-class.html" title="Error occured during batch operations." alt="" coords="5,440,323,533"/>
 <area shape="rect" id="node2" href="googleapiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="125,379,203,421"/>
-<area shape="rect" id="node3_17" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="85,28,241,47"/>
-<area shape="rect" id="node3_18" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="85,47,241,65"/>
-<area shape="rect" id="node3_19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="85,68,241,87"/>
-<area shape="rect" id="node3_20" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="85,87,241,105"/>
-<area shape="rect" id="node3_21" href="javascript:void(0);" title="x[y]" alt="" coords="85,105,241,124"/>
-<area shape="rect" id="node3_22" href="javascript:void(0);" title="x[i:j]" alt="" coords="85,124,241,143"/>
-<area shape="rect" id="node3_23" href="javascript:void(0);" title="helper for pickle" alt="" coords="85,143,241,161"/>
-<area shape="rect" id="node3_24" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="85,161,241,180"/>
-<area shape="rect" id="node3_25" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="85,180,241,199"/>
-<area shape="rect" id="node3_26" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="85,199,241,217"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="73,5,253,224"/>
+<area shape="rect" id="node3" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="137,317,191,360"/>
+<area shape="rect" id="node4_17" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="85,28,241,47"/>
+<area shape="rect" id="node4_18" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="85,47,241,65"/>
+<area shape="rect" id="node4_19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="85,68,241,87"/>
+<area shape="rect" id="node4_20" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="85,87,241,105"/>
+<area shape="rect" id="node4_21" href="javascript:void(0);" title="x[y]" alt="" coords="85,105,241,124"/>
+<area shape="rect" id="node4_22" href="javascript:void(0);" title="x[i:j]" alt="" coords="85,124,241,143"/>
+<area shape="rect" id="node4_23" href="javascript:void(0);" title="helper for pickle" alt="" coords="85,143,241,161"/>
+<area shape="rect" id="node4_24" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="85,161,241,180"/>
+<area shape="rect" id="node4_25" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="85,180,241,199"/>
+<area shape="rect" id="node4_26" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="85,199,241,217"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="73,5,253,224"/>
 <area shape="rect" id="node5_27" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="101,273,227,292"/>
 <area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="89,243,239,299"/>
-<area shape="rect" id="node4" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="137,317,191,360"/>
 </map>
   <img src="uml_class_diagram_for_googleap_5.gif" alt='' usemap="#uml_class_diagram_for_googleap_5" ismap="ismap" class="graph-without-title" />
 </center>
@@ -349,7 +349,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Fri Oct 17 20:28:50 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.Error-class.html b/docs/epy/googleapiclient.errors.Error-class.html
index 134c268..0b4494c 100644
--- a/docs/epy/googleapiclient.errors.Error-class.html
+++ b/docs/epy/googleapiclient.errors.Error-class.html
@@ -186,7 +186,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.HttpError-class.html b/docs/epy/googleapiclient.errors.HttpError-class.html
index b1139c3..985e9b4 100644
--- a/docs/epy/googleapiclient.errors.HttpError-class.html
+++ b/docs/epy/googleapiclient.errors.HttpError-class.html
@@ -362,7 +362,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html b/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html
index e49acc6..eef236b 100644
--- a/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html
+++ b/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.InvalidJsonError-class.html b/docs/epy/googleapiclient.errors.InvalidJsonError-class.html
index 3305908..7fe67ee 100644
--- a/docs/epy/googleapiclient.errors.InvalidJsonError-class.html
+++ b/docs/epy/googleapiclient.errors.InvalidJsonError-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html b/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html
index f6e1620..28207e9 100644
--- a/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html
+++ b/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html b/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html
index fceece5..08e23be 100644
--- a/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html
+++ b/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.ResumableUploadError-class.html b/docs/epy/googleapiclient.errors.ResumableUploadError-class.html
index 7c1e59a..76687cf 100644
--- a/docs/epy/googleapiclient.errors.ResumableUploadError-class.html
+++ b/docs/epy/googleapiclient.errors.ResumableUploadError-class.html
@@ -64,20 +64,20 @@
 <area shape="rect" id="node2_15" href="googleapiclient.errors.HttpError-class.html#__repr__" title="str(x)" alt="" coords="18,428,246,447"/>
 <area shape="rect" id="node2_16" href="googleapiclient.errors.HttpError-class.html#__str__" title="str(x)" alt="" coords="18,447,246,465"/>
 <area shape="rect" id="node2" href="googleapiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="5,379,257,472"/>
-<area shape="rect" id="node3_17" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="54,28,210,47"/>
-<area shape="rect" id="node3_18" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="54,47,210,65"/>
-<area shape="rect" id="node3_19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="54,68,210,87"/>
-<area shape="rect" id="node3_20" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="54,87,210,105"/>
-<area shape="rect" id="node3_21" href="javascript:void(0);" title="x[y]" alt="" coords="54,105,210,124"/>
-<area shape="rect" id="node3_22" href="javascript:void(0);" title="x[i:j]" alt="" coords="54,124,210,143"/>
-<area shape="rect" id="node3_23" href="javascript:void(0);" title="helper for pickle" alt="" coords="54,143,210,161"/>
-<area shape="rect" id="node3_24" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="54,161,210,180"/>
-<area shape="rect" id="node3_25" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="54,180,210,199"/>
-<area shape="rect" id="node3_26" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="54,199,210,217"/>
-<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="41,5,221,224"/>
+<area shape="rect" id="node3" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="106,317,159,360"/>
+<area shape="rect" id="node4_17" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="54,28,210,47"/>
+<area shape="rect" id="node4_18" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="54,47,210,65"/>
+<area shape="rect" id="node4_19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="54,68,210,87"/>
+<area shape="rect" id="node4_20" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="54,87,210,105"/>
+<area shape="rect" id="node4_21" href="javascript:void(0);" title="x[y]" alt="" coords="54,105,210,124"/>
+<area shape="rect" id="node4_22" href="javascript:void(0);" title="x[i:j]" alt="" coords="54,124,210,143"/>
+<area shape="rect" id="node4_23" href="javascript:void(0);" title="helper for pickle" alt="" coords="54,143,210,161"/>
+<area shape="rect" id="node4_24" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="54,161,210,180"/>
+<area shape="rect" id="node4_25" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="54,180,210,199"/>
+<area shape="rect" id="node4_26" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="54,199,210,217"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="41,5,221,224"/>
 <area shape="rect" id="node5_27" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="70,273,195,292"/>
 <area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="58,243,207,299"/>
-<area shape="rect" id="node4" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="106,317,159,360"/>
 </map>
   <img src="uml_class_diagram_for_googleap_12.gif" alt='' usemap="#uml_class_diagram_for_googleap_12" ismap="ismap" class="graph-without-title" />
 </center>
@@ -193,7 +193,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Fri Oct 17 20:28:50 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html b/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html
index e0f77a2..618c113 100644
--- a/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html
+++ b/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html b/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html
index 9aae6f1..c0cca8a 100644
--- a/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html
+++ b/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html
@@ -252,7 +252,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html b/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html
index d03baac..e476e40 100644
--- a/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html
+++ b/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html
@@ -254,7 +254,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html b/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html
index 4cafbf8..20f109a 100644
--- a/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html
+++ b/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnknownFileType-class.html b/docs/epy/googleapiclient.errors.UnknownFileType-class.html
index 5a4b952..7a474a6 100644
--- a/docs/epy/googleapiclient.errors.UnknownFileType-class.html
+++ b/docs/epy/googleapiclient.errors.UnknownFileType-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.errors.UnknownLinkType-class.html b/docs/epy/googleapiclient.errors.UnknownLinkType-class.html
index 6d65f5c..c421867 100644
--- a/docs/epy/googleapiclient.errors.UnknownLinkType-class.html
+++ b/docs/epy/googleapiclient.errors.UnknownLinkType-class.html
@@ -187,7 +187,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http-module.html b/docs/epy/googleapiclient.http-module.html
index d1dd6e2..cb01729 100644
--- a/docs/epy/googleapiclient.http-module.html
+++ b/docs/epy/googleapiclient.http-module.html
@@ -405,7 +405,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http-pysrc.html b/docs/epy/googleapiclient.http-pysrc.html
index 2ee89fd..ba4c955 100644
--- a/docs/epy/googleapiclient.http-pysrc.html
+++ b/docs/epy/googleapiclient.http-pysrc.html
@@ -721,522 +721,524 @@
 <a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-name">content_range</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-range'</tt><tt class="py-op">]</tt> </tt>
 <a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">content_range</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
 <a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line"> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">:</tt> </tt>
-<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-62" class="py-name" targets="Class googleapiclient.http.MediaDownloadProgress=googleapiclient.http.MediaDownloadProgress-class.html"><a title="googleapiclient.http.MediaDownloadProgress" class="py-name" href="#" onclick="return doclink('link-62', 'MediaDownloadProgress', 'link-62');">MediaDownloadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> </tt>
-<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-63', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice"></a><div id="_StreamSlice-def"><a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line"> </tt>
-<a name="L570"></a><tt class="py-lineno"> 570</tt> <a class="py-toggle" href="#" id="_StreamSlice-toggle" onclick="return toggle('_StreamSlice');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html">_StreamSlice</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_StreamSlice-expanded"><a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">  <tt class="py-docstring">"""Truncated stream.</tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line"><tt class="py-docstring">  Takes a stream and presents a stream that is a slice of the original stream.</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"><tt class="py-docstring">  This is used when uploading media in chunks. In later versions of Python a</tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"><tt class="py-docstring">  stream can be passed to httplib in place of the string of data to send. The</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"><tt class="py-docstring">  problem is that httplib just blindly reads to the end of the stream. This</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"><tt class="py-docstring">  wrapper presents a virtual stream that only reads to the end of the chunk.</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice.__init__"></a><div id="_StreamSlice.__init__-def"><a name="L580"></a><tt class="py-lineno"> 580</tt> <a class="py-toggle" href="#" id="_StreamSlice.__init__-toggle" onclick="return toggle('_StreamSlice.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.__init__-expanded"><a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"><tt class="py-docstring">      stream: (io.Base, file object), the stream to wrap.</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, the seek position the chunk begins at.</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, the size of the chunk.</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.stream()=googleapiclient.http.MediaIoBaseUpload-class.html#stream,Method googleapiclient.http.MediaUpload.stream()=googleapiclient.http.MediaUpload-class.html#stream"><a title="googleapiclient.http.MediaIoBaseUpload.stream
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-string">'content-length'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-62" class="py-name" targets="Class googleapiclient.http.MediaDownloadProgress=googleapiclient.http.MediaDownloadProgress-class.html"><a title="googleapiclient.http.MediaDownloadProgress" class="py-name" href="#" onclick="return doclink('link-62', 'MediaDownloadProgress', 'link-62');">MediaDownloadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-63', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice"></a><div id="_StreamSlice-def"><a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line"> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt> <a class="py-toggle" href="#" id="_StreamSlice-toggle" onclick="return toggle('_StreamSlice');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html">_StreamSlice</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_StreamSlice-expanded"><a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">  <tt class="py-docstring">"""Truncated stream.</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"><tt class="py-docstring">  Takes a stream and presents a stream that is a slice of the original stream.</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"><tt class="py-docstring">  This is used when uploading media in chunks. In later versions of Python a</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"><tt class="py-docstring">  stream can be passed to httplib in place of the string of data to send. The</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line"><tt class="py-docstring">  problem is that httplib just blindly reads to the end of the stream. This</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"><tt class="py-docstring">  wrapper presents a virtual stream that only reads to the end of the chunk.</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice.__init__"></a><div id="_StreamSlice.__init__-def"><a name="L582"></a><tt class="py-lineno"> 582</tt> <a class="py-toggle" href="#" id="_StreamSlice.__init__-toggle" onclick="return toggle('_StreamSlice.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.__init__-expanded"><a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line"><tt class="py-docstring">      stream: (io.Base, file object), the stream to wrap.</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, the seek position the chunk begins at.</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, the size of the chunk.</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.stream()=googleapiclient.http.MediaIoBaseUpload-class.html#stream,Method googleapiclient.http.MediaUpload.stream()=googleapiclient.http.MediaUpload-class.html#stream"><a title="googleapiclient.http.MediaIoBaseUpload.stream
 googleapiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-64', 'stream', 'link-64');">stream</a></tt> </tt>
-<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">=</tt> <tt class="py-name">begin</tt> </tt>
-<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">=</tt> <tt class="py-name">begin</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-65', 'chunksize', 'link-24');">chunksize</a></tt> </tt>
-<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line"> </tt>
-<a name="_StreamSlice.read"></a><div id="_StreamSlice.read-def"><a name="L593"></a><tt class="py-lineno"> 593</tt> <a class="py-toggle" href="#" id="_StreamSlice.read-toggle" onclick="return toggle('_StreamSlice.read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_StreamSlice.read-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.read-expanded"><a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">    <tt class="py-docstring">"""Read n bytes.</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring">      n, int, the number of bytes to read.</tt> </tt>
-<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"><tt class="py-docstring">      A string of length 'n', or less if EOF is reached.</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">    <tt class="py-comment"># The data left available to read sits in [cur, end)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">    <tt class="py-name">cur</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
-<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-name">cur</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">end</tt><tt class="py-op">:</tt> </tt>
-<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">      <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">cur</tt> </tt>
-<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-66', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest"></a><div id="HttpRequest-def"><a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line"> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt> <a class="py-toggle" href="#" id="HttpRequest-toggle" onclick="return toggle('HttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequest-expanded"><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">  <tt class="py-docstring">"""Encapsulates a single HTTP request."""</tt> </tt>
-<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line"> </tt>
-<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.__init__"></a><div id="HttpRequest.__init__-def"><a name="L614"></a><tt class="py-lineno"> 614</tt> <a class="py-toggle" href="#" id="HttpRequest.__init__-toggle" onclick="return toggle('HttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">               <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">               <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">               <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.__init__-expanded"><a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an HttpRequest.</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the transport object to use to make a request</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, called on the HTTP response and content to transform</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"><tt class="py-docstring">                it into a data object before returning, or raising an exception</tt> </tt>
-<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"><tt class="py-docstring">                on an error.</tt> </tt>
-<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line"><tt class="py-docstring">      uri: string, the absolute URI to send the request to</tt> </tt>
-<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"><tt class="py-docstring">      method: string, the HTTP method to use</tt> </tt>
-<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the request body of the HTTP request,</tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the HTTP request headers</tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-docstring">      methodId: string, a unique identifier for the API method being called.</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: MediaUpload, None if this is not a resumbale request.</tt> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
-<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-67', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-68', 'body', 'link-46');">body</a></tt> </tt>
-<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodId</tt> <tt class="py-op">=</tt> <tt class="py-name">methodId</tt> </tt>
-<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-69', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-70', 'http', 'link-58');">http</a></tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice.read"></a><div id="_StreamSlice.read-def"><a name="L595"></a><tt class="py-lineno"> 595</tt> <a class="py-toggle" href="#" id="_StreamSlice.read-toggle" onclick="return toggle('_StreamSlice.read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice.read-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.read-expanded"><a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">    <tt class="py-docstring">"""Read n bytes.</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">      n, int, the number of bytes to read.</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line"><tt class="py-docstring">      A string of length 'n', or less if EOF is reached.</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">    <tt class="py-comment"># The data left available to read sits in [cur, end)</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">    <tt class="py-name">cur</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-name">cur</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">end</tt><tt class="py-op">:</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">      <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">cur</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-66', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest"></a><div id="HttpRequest-def"><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line"> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt> <a class="py-toggle" href="#" id="HttpRequest-toggle" onclick="return toggle('HttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequest-expanded"><a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">  <tt class="py-docstring">"""Encapsulates a single HTTP request."""</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line"> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.__init__"></a><div id="HttpRequest.__init__-def"><a name="L616"></a><tt class="py-lineno"> 616</tt> <a class="py-toggle" href="#" id="HttpRequest.__init__-toggle" onclick="return toggle('HttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">               <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">               <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">               <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.__init__-expanded"><a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an HttpRequest.</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the transport object to use to make a request</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, called on the HTTP response and content to transform</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line"><tt class="py-docstring">                it into a data object before returning, or raising an exception</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"><tt class="py-docstring">                on an error.</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"><tt class="py-docstring">      uri: string, the absolute URI to send the request to</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"><tt class="py-docstring">      method: string, the HTTP method to use</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the request body of the HTTP request,</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the HTTP request headers</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"><tt class="py-docstring">      methodId: string, a unique identifier for the API method being called.</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: MediaUpload, None if this is not a resumbale request.</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-67', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-68', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodId</tt> <tt class="py-op">=</tt> <tt class="py-name">methodId</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-69', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-70', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-71', 'resumable', 'link-28');">resumable</a></tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-72', 'resumable', 'link-28');">resumable</a></tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">    <tt class="py-comment"># Pull the multipart boundary out of the content-type header.</tt> </tt>
-<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-73', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Function googleapiclient.mimeparse.parse_mime_type()=googleapiclient.mimeparse-module.html#parse_mime_type"><a title="googleapiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-74', 'parse_mime_type', 'link-74');">parse_mime_type</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-75', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line"> </tt>
-<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">    <tt class="py-comment"># The size of the non-media part of the request.</tt> </tt>
-<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-76', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">    <tt class="py-comment"># The resumable URI to send chunks to.</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">    <tt class="py-comment"># The bytes that have been uploaded.</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"> </tt>
-<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
-<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
-<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
-</div><a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.execute"></a><div id="HttpRequest.execute-def"><a name="L663"></a><tt class="py-lineno"> 663</tt> <a class="py-toggle" href="#" id="HttpRequest.execute-toggle" onclick="return toggle('HttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.execute-expanded"><a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
-<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
-<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
-<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
-<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring">      A deserialized object model of the response body as determined</tt> </tt>
-<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">      by the postproc.</tt> </tt>
-<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-77', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">      <tt id="link-78" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-78', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-79', 'http', 'link-58');">http</a></tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line"> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">    <tt class="py-comment"># Pull the multipart boundary out of the content-type header.</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-73', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Function googleapiclient.mimeparse.parse_mime_type()=googleapiclient.mimeparse-module.html#parse_mime_type"><a title="googleapiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-74', 'parse_mime_type', 'link-74');">parse_mime_type</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-75', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line"> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">    <tt class="py-comment"># The size of the non-media part of the request.</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-76', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line"> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">    <tt class="py-comment"># The resumable URI to send chunks to.</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">    <tt class="py-comment"># The bytes that have been uploaded.</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
+</div><a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line"> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.execute"></a><div id="HttpRequest.execute-def"><a name="L665"></a><tt class="py-lineno"> 665</tt> <a class="py-toggle" href="#" id="HttpRequest.execute-toggle" onclick="return toggle('HttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.execute-expanded"><a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-docstring">      A deserialized object model of the response body as determined</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"><tt class="py-docstring">      by the postproc.</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-77', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">      <tt id="link-78" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-78', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-79', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line"> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-80', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">      <tt id="link-81" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-81', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt id="link-82" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-82', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-83', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method googleapiclient.http.HttpRequest.next_chunk()=googleapiclient.http.HttpRequest-class.html#next_chunk,Method googleapiclient.http.MediaIoBaseDownload.next_chunk()=googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk"><a title="googleapiclient.http.HttpRequest.next_chunk
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">      <tt id="link-81" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-81', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt id="link-82" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-82', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">        <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-83', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method googleapiclient.http.HttpRequest.next_chunk()=googleapiclient.http.HttpRequest-class.html#next_chunk,Method googleapiclient.http.MediaIoBaseDownload.next_chunk()=googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk"><a title="googleapiclient.http.HttpRequest.next_chunk
 googleapiclient.http.MediaIoBaseDownload.next_chunk" class="py-name" href="#" onclick="return doclink('link-84', 'next_chunk', 'link-84');">next_chunk</a></tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-85', 'http', 'link-58');">http</a></tt><tt class="py-op">=</tt><tt id="link-86" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-86', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">num_retries</tt><tt class="py-op">=</tt><tt class="py-name">num_retries</tt><tt class="py-op">)</tt> </tt>
-<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-87" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-87', 'body', 'link-46');">body</a></tt> </tt>
-<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line"> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">    <tt class="py-comment"># Non-resumable case.</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-87" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-87', 'body', 'link-46');">body</a></tt> </tt>
 <a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line"> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-length'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">    <tt class="py-comment"># If the request URI is too long then turn it into a POST request.</tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-88', 'MAX_URI_LENGTH', 'link-16');">MAX_URI_LENGTH</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'GET'</tt><tt class="py-op">:</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'GET'</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">      <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">           <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
-<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-89', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-90', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">    <tt class="py-comment"># Handle retries for server-side errors.</tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'Retry #%d for request: %s %s, following status: %d'</tt> </tt>
-<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                        <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-91', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt class="py-comment"># Non-resumable case.</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line"> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-length'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">    <tt class="py-comment"># If the request URI is too long then turn it into a POST request.</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-88', 'MAX_URI_LENGTH', 'link-16');">MAX_URI_LENGTH</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'GET'</tt><tt class="py-op">:</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'GET'</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">      <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">           <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-89', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-90', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line"> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">    <tt class="py-comment"># Handle retries for server-side errors.</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'Retry #%d for request: %s %s, following status: %d'</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                        <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line"> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-91', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-92', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                                   <tt id="link-93" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-93', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line"> </tt>
-<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">:</tt> </tt>
-<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">      <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
-<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-95" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-95', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line"> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.add_response_callback"></a><div id="HttpRequest.add_response_callback-def"><a name="L727"></a><tt class="py-lineno"> 727</tt> <a class="py-toggle" href="#" id="HttpRequest.add_response_callback-toggle" onclick="return toggle('HttpRequest.add_response_callback');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cb</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.add_response_callback-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.add_response_callback-expanded"><a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">    <tt class="py-docstring">"""add_response_headers_callback</tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring">      cb: Callback to be called on receiving the response headers, of signature:</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"><tt class="py-docstring">      def cb(resp):</tt> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line"><tt class="py-docstring">        # Where resp is an instance of httplib2.Response</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">cb</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="HttpRequest.next_chunk"></a><div id="HttpRequest.next_chunk-def"><a name="L739"></a><tt class="py-lineno"> 739</tt> <a class="py-toggle" href="#" id="HttpRequest.next_chunk-toggle" onclick="return toggle('HttpRequest.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.next_chunk-expanded"><a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the next step of a resumable upload.</tt> </tt>
-<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"><tt class="py-docstring">    Can only be used if the method being executed supports media uploads and</tt> </tt>
-<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"><tt class="py-docstring">    the MediaUpload object passed in was flagged as using resumable upload.</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                                   <tt id="link-93" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-93', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line"> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">      <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-95" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-95', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line"> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.add_response_callback"></a><div id="HttpRequest.add_response_callback-def"><a name="L729"></a><tt class="py-lineno"> 729</tt> <a class="py-toggle" href="#" id="HttpRequest.add_response_callback-toggle" onclick="return toggle('HttpRequest.add_response_callback');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cb</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.add_response_callback-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.add_response_callback-expanded"><a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">    <tt class="py-docstring">"""add_response_headers_callback</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"><tt class="py-docstring">      cb: Callback to be called on receiving the response headers, of signature:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line"><tt class="py-docstring">      def cb(resp):</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line"><tt class="py-docstring">        # Where resp is an instance of httplib2.Response</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">cb</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line"> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.next_chunk"></a><div id="HttpRequest.next_chunk-def"><a name="L741"></a><tt class="py-lineno"> 741</tt> <a class="py-toggle" href="#" id="HttpRequest.next_chunk-toggle" onclick="return toggle('HttpRequest.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.next_chunk-expanded"><a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the next step of a resumable upload.</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"><tt class="py-docstring">    Can only be used if the method being executed supports media uploads and</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line"><tt class="py-docstring">    the MediaUpload object passed in was flagged as using resumable upload.</tt> </tt>
 <a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">      media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring">                              chunksize=1000, resumable=True)</tt> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">      request = farm.animals().insert(</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line"><tt class="py-docstring">          id='cow',</tt> </tt>
-<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"><tt class="py-docstring">          name='cow.png',</tt> </tt>
-<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"><tt class="py-docstring">          media_body=media)</tt> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">      response = None</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring">      while response is None:</tt> </tt>
-<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">        status, response = request.next_chunk()</tt> </tt>
-<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">        if status:</tt> </tt>
-<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"><tt class="py-docstring">          print "Upload %d%% complete." % int(status.progress() * 100)</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
-<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
-<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
-<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-96" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-96', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">      <tt id="link-97" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-97', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-98', 'http', 'link-58');">http</a></tt> </tt>
-<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">      media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line"><tt class="py-docstring">                              chunksize=1000, resumable=True)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"><tt class="py-docstring">      request = farm.animals().insert(</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"><tt class="py-docstring">          id='cow',</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring">          name='cow.png',</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">          media_body=media)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">      response = None</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">      while response is None:</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"><tt class="py-docstring">        status, response = request.next_chunk()</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"><tt class="py-docstring">        if status:</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"><tt class="py-docstring">          print "Upload %d%% complete." % int(status.progress() * 100)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-96" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-96', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">      <tt id="link-97" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-97', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-98', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line"> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-99', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.size()=googleapiclient.http.MediaIoBaseUpload-class.html#size,Method googleapiclient.http.MediaUpload.size()=googleapiclient.http.MediaUpload-class.html#size"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-100', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">      <tt id="link-101" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">      <tt id="link-101" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-101', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*'</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">      <tt id="link-102" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">      <tt id="link-102" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-102', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-103', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-104', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
-<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-105', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
 googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-106', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-107" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-107" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-107', 'size', 'link-100');">size</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">        <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-108', 'size', 'link-100');">size</a></tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
-<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line"> </tt>
-<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">          <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">              <tt class="py-string">'Retry #%d for resumable URI request: %s %s, following status: %d'</tt> </tt>
-<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">              <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line"> </tt>
-<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-109', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line"> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">          <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">              <tt class="py-string">'Retry #%d for resumable URI request: %s %s, following status: %d'</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">              <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line"> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-109', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-110', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                     <tt id="link-111" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-111', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-112', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">start_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
-<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line"> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
-<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-113" class="py-name"><a title="googleapiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-113', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt><tt class="py-op">:</tt> </tt>
-<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">      <tt class="py-comment"># If we are in an error state then query the server for current state of</tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">      <tt class="py-comment"># the upload by sending an empty PUT and reading the 'range' header in</tt> </tt>
-<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">      <tt class="py-comment"># the response.</tt> </tt>
-<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">          <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes */%s'</tt> <tt class="py-op">%</tt> <tt id="link-114" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                                     <tt id="link-111" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-111', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-112', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">start_headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line"> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-113" class="py-name"><a title="googleapiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-113', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt><tt class="py-op">:</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">      <tt class="py-comment"># If we are in an error state then query the server for current state of</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">      <tt class="py-comment"># the upload by sending an empty PUT and reading the 'range' header in</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">      <tt class="py-comment"># the response.</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">          <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes */%s'</tt> <tt class="py-op">%</tt> <tt id="link-114" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-114', 'size', 'link-100');">size</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">          <tt class="py-string">'content-length'</tt><tt class="py-op">:</tt> <tt class="py-string">'0'</tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">          <tt class="py-op">}</tt> </tt>
-<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-115', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">          <tt class="py-string">'content-length'</tt><tt class="py-op">:</tt> <tt class="py-string">'0'</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">          <tt class="py-op">}</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-115', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-116', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
-<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                                   <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">      <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-117" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-117', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method googleapiclient.http.HttpRequest._process_response()=googleapiclient.http.HttpRequest-class.html#_process_response"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-118', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-119" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-119', 'body', 'link-46');">body</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">        <tt class="py-comment"># The upload was complete.</tt> </tt>
-<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-120', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"> </tt>
-<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">    <tt class="py-comment"># The httplib.request method can take streams for the body parameter, but</tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">    <tt class="py-comment"># only in Python 2.6 or later. If a stream is available under those</tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">    <tt class="py-comment"># conditions then use it as the body argument.</tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                                   <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">      <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-117" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-117', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method googleapiclient.http.HttpRequest._process_response()=googleapiclient.http.HttpRequest-class.html#_process_response"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-118', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-119" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-119', 'body', 'link-46');">body</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">        <tt class="py-comment"># The upload was complete.</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-120', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">    <tt class="py-comment"># The httplib.request method can take streams for the body parameter, but</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">    <tt class="py-comment"># only in Python 2.6 or later. If a stream is available under those</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">    <tt class="py-comment"># conditions then use it as the body argument.</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-121', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.has_stream()=googleapiclient.http.MediaIoBaseUpload-class.html#has_stream,Method googleapiclient.http.MediaUpload.has_stream()=googleapiclient.http.MediaUpload-class.html#has_stream"><a title="googleapiclient.http.MediaIoBaseUpload.has_stream
 googleapiclient.http.MediaUpload.has_stream" class="py-name" href="#" onclick="return doclink('link-122', 'has_stream', 'link-122');">has_stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-123', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.stream
 googleapiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-124', 'stream', 'link-64');">stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-125', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-126', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> </tt>
-<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-127', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-128', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-comment"># Doing chunking with a stream, so wrap a slice of the stream.</tt> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name" targets="Class googleapiclient.http._StreamSlice=googleapiclient.http._StreamSlice-class.html"><a title="googleapiclient.http._StreamSlice" class="py-name" href="#" onclick="return doclink('link-129', '_StreamSlice', 'link-129');">_StreamSlice</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> </tt>
-<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">        <tt class="py-comment"># Doing chunking with a stream, so wrap a slice of the stream.</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name" targets="Class googleapiclient.http._StreamSlice=googleapiclient.http._StreamSlice-class.html"><a title="googleapiclient.http._StreamSlice" class="py-name" href="#" onclick="return doclink('link-129', '_StreamSlice', 'link-129');">_StreamSlice</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-130', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-131', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-132', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-133', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-134', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-135', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-136', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.getbytes()=googleapiclient.http.MediaIoBaseUpload-class.html#getbytes,Method googleapiclient.http.MediaUpload.getbytes()=googleapiclient.http.MediaUpload-class.html#getbytes"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
 googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-137', 'getbytes', 'link-137');">getbytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-138', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-139', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">      <tt class="py-comment"># A short read implies that we are at EOF, so finish the upload.</tt> </tt>
-<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line"> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">      <tt class="py-comment"># A short read implies that we are at EOF, so finish the upload.</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-140', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
 googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-141', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt id="link-142" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">        <tt id="link-142" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-142', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"> </tt>
-<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">      <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
 <a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"> </tt>
-<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes %d-%d/%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
-<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">chunk_end</tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">      <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line"> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes %d-%d/%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">chunk_end</tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-143', 'size', 'link-100');">size</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-comment"># Must set the content-length header here because httplib can't</tt> </tt>
-<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-comment"># calculate the size when working with _StreamSlice.</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-string">'Content-Length'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">chunk_end</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line"> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
-<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media upload: %s %s, following status: %d'</tt> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line"> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-144" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-144', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-comment"># Must set the content-length header here because httplib can't</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-comment"># calculate the size when working with _StreamSlice.</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">        <tt class="py-string">'Content-Length'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">chunk_end</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line"> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media upload: %s %s, following status: %d'</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line"> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-144" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-144', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-145', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                                     <tt id="link-146" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-146', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
-<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
-<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-147', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest._process_response"></a><div id="HttpRequest._process_response-def"><a name="L876"></a><tt class="py-lineno"> 876</tt> <a class="py-toggle" href="#" id="HttpRequest._process_response-toggle" onclick="return toggle('HttpRequest._process_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#_process_response">_process_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest._process_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest._process_response-expanded"><a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">    <tt class="py-docstring">"""Process the response from a single chunk upload.</tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response object.</tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the content of the response.</tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
-<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx or a 308.</tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">201</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">308</tt><tt class="py-op">:</tt> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">      <tt class="py-comment"># A "308 Resume Incomplete" indicates we are not done.</tt> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'range'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-148" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-148', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line"> </tt>
-<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-149" class="py-name" targets="Class googleapiclient.http.MediaUploadProgress=googleapiclient.http.MediaUploadProgress-class.html"><a title="googleapiclient.http.MediaUploadProgress" class="py-name" href="#" onclick="return doclink('link-149', 'MediaUploadProgress', 'link-149');">MediaUploadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                                     <tt id="link-146" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-146', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-147', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest._process_response"></a><div id="HttpRequest._process_response-def"><a name="L878"></a><tt class="py-lineno"> 878</tt> <a class="py-toggle" href="#" id="HttpRequest._process_response-toggle" onclick="return toggle('HttpRequest._process_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#_process_response">_process_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest._process_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest._process_response-expanded"><a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">    <tt class="py-docstring">"""Process the response from a single chunk upload.</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response object.</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the content of the response.</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx or a 308.</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">201</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">308</tt><tt class="py-op">:</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">      <tt class="py-comment"># A "308 Resume Incomplete" indicates we are not done.</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'range'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-148" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-148', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line"> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-149" class="py-name" targets="Class googleapiclient.http.MediaUploadProgress=googleapiclient.http.MediaUploadProgress-class.html"><a title="googleapiclient.http.MediaUploadProgress" class="py-name" href="#" onclick="return doclink('link-149', 'MediaUploadProgress', 'link-149');">MediaUploadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-150', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
 googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-151', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequest.to_json"></a><div id="HttpRequest.to_json-def"><a name="L906"></a><tt class="py-lineno"> 906</tt> <a class="py-toggle" href="#" id="HttpRequest.to_json-toggle" onclick="return toggle('HttpRequest.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.to_json-expanded"><a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns a JSON representation of the HttpRequest."""</tt> </tt>
-<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
-<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest.to_json"></a><div id="HttpRequest.to_json-def"><a name="L908"></a><tt class="py-lineno"> 908</tt> <a class="py-toggle" href="#" id="HttpRequest.to_json-toggle" onclick="return toggle('HttpRequest.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.to_json-expanded"><a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns a JSON representation of the HttpRequest."""</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-152', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method googleapiclient.http.HttpRequest.to_json()=googleapiclient.http.HttpRequest-class.html#to_json,Method googleapiclient.http.MediaFileUpload.to_json()=googleapiclient.http.MediaFileUpload-class.html#to_json,Method googleapiclient.http.MediaIoBaseUpload.to_json()=googleapiclient.http.MediaIoBaseUpload-class.html#to_json,Method googleapiclient.http.MediaUpload.to_json()=googleapiclient.http.MediaUpload-class.html#to_json"><a title="googleapiclient.http.HttpRequest.to_json
 googleapiclient.http.MediaFileUpload.to_json
 googleapiclient.http.MediaIoBaseUpload.to_json
 googleapiclient.http.MediaUpload.to_json" class="py-name" href="#" onclick="return doclink('link-153', 'to_json', 'link-153');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'http'</tt><tt class="py-op">]</tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'postproc'</tt><tt class="py-op">]</tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_sleep'</tt><tt class="py-op">]</tt> </tt>
-<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_rand'</tt><tt class="py-op">]</tt> </tt>
-<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"> </tt>
-<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
-<a name="HttpRequest.from_json"></a><div id="HttpRequest.from_json-def"><a name="L919"></a><tt class="py-lineno"> 919</tt> <a class="py-toggle" href="#" id="HttpRequest.from_json-toggle" onclick="return toggle('HttpRequest.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequest.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.from_json-expanded"><a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns an HttpRequest populated with info from a JSON object."""</tt> </tt>
-<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-154" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-154', 'MediaUpload', 'link-154');">MediaUpload</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Class Method googleapiclient.http.MediaUpload.new_from_json()=googleapiclient.http.MediaUpload-class.html#new_from_json"><a title="googleapiclient.http.MediaUpload.new_from_json" class="py-name" href="#" onclick="return doclink('link-155', 'new_from_json', 'link-155');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-156" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-156', 'HttpRequest', 'link-156');">HttpRequest</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt id="link-157" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-157', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">        <tt class="py-name">postproc</tt><tt class="py-op">,</tt> </tt>
-<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'method'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt id="link-158" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-158', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'headers'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'methodId'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt id="link-159" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'http'</tt><tt class="py-op">]</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'postproc'</tt><tt class="py-op">]</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_sleep'</tt><tt class="py-op">]</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_rand'</tt><tt class="py-op">]</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line"> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="HttpRequest.from_json"></a><div id="HttpRequest.from_json-def"><a name="L921"></a><tt class="py-lineno"> 921</tt> <a class="py-toggle" href="#" id="HttpRequest.from_json-toggle" onclick="return toggle('HttpRequest.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.from_json-expanded"><a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns an HttpRequest populated with info from a JSON object."""</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-154" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-154', 'MediaUpload', 'link-154');">MediaUpload</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Class Method googleapiclient.http.MediaUpload.new_from_json()=googleapiclient.http.MediaUpload-class.html#new_from_json"><a title="googleapiclient.http.MediaUpload.new_from_json" class="py-name" href="#" onclick="return doclink('link-155', 'new_from_json', 'link-155');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-156" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-156', 'HttpRequest', 'link-156');">HttpRequest</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt id="link-157" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-157', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-name">postproc</tt><tt class="py-op">,</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'method'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt id="link-158" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-158', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'headers'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">        <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'methodId'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt id="link-159" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-159', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest"></a><div id="BatchHttpRequest-def"><a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line"> </tt>
-<a name="L935"></a><tt class="py-lineno"> 935</tt> <a class="py-toggle" href="#" id="BatchHttpRequest-toggle" onclick="return toggle('BatchHttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BatchHttpRequest-expanded"><a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">  <tt class="py-docstring">"""Batches multiple HttpRequest objects into a single HTTP request.</tt> </tt>
-<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
-<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">    from googleapiclient.http import BatchHttpRequest</tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring">    def list_animals(request_id, response, exception):</tt> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the animals list response.\"\"\"</tt> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
-<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
-<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
-<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line"><tt class="py-docstring">    def list_farmers(request_id, response, exception):</tt> </tt>
-<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the farmers list response.\"\"\"</tt> </tt>
-<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
-<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
-<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line"><tt class="py-docstring">    service = build('farm', 'v2')</tt> </tt>
+</div></div><a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest"></a><div id="BatchHttpRequest-def"><a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line"> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt> <a class="py-toggle" href="#" id="BatchHttpRequest-toggle" onclick="return toggle('BatchHttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BatchHttpRequest-expanded"><a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">  <tt class="py-docstring">"""Batches multiple HttpRequest objects into a single HTTP request.</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring">    from googleapiclient.http import BatchHttpRequest</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">    def list_animals(request_id, response, exception):</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the animals list response.\"\"\"</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"><tt class="py-docstring">    def list_farmers(request_id, response, exception):</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the farmers list response.\"\"\"</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
 <a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"><tt class="py-docstring">    batch = BatchHttpRequest()</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"><tt class="py-docstring">    service = build('farm', 'v2')</tt> </tt>
 <a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.animals().list(), list_animals)</tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.farmers().list(), list_farmers)</tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line"><tt class="py-docstring">    batch.execute(http=http)</tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line"> </tt>
-<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.__init__"></a><div id="BatchHttpRequest.__init__-def"><a name="L969"></a><tt class="py-lineno"> 969</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.__init__-toggle" onclick="return toggle('BatchHttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">batch_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.__init__-expanded"><a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for a BatchHttpRequest.</tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for each response, of the</tt> </tt>
-<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
-<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
-<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no error occurred.</tt> </tt>
-<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">      batch_uri: string, URI to send batch requests to.</tt> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">batch_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">      <tt class="py-name">batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/batch'</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">batch_uri</tt> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">    <tt class="py-comment"># Global callback to be called for each individual response in the batch.</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
-<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to request.</tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"> </tt>
-<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to callback.</tt> </tt>
-<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"> </tt>
-<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">    <tt class="py-comment"># List of request ids, in the order in which they were added.</tt> </tt>
-<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">    <tt class="py-comment"># The last auto generated id.</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line"> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">    <tt class="py-comment"># Unique ID on which to base the Content-ID headers.</tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">    <tt class="py-comment"># A map from request id to (httplib2.Response, content) response pairs</tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line"> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">    <tt class="py-comment"># A map of id(Credentials) that have been refreshed.</tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._refresh_and_apply_credentials"></a><div id="BatchHttpRequest._refresh_and_apply_credentials-def"><a name="L1008"></a><tt class="py-lineno">1008</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._refresh_and_apply_credentials-toggle" onclick="return toggle('BatchHttpRequest._refresh_and_apply_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._refresh_and_apply_credentials-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._refresh_and_apply_credentials-expanded"><a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the credentials and apply to the request.</tt> </tt>
-<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request.</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the global http object for the batch.</tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">    <tt class="py-comment"># For the credentials to refresh, but only once per refresh_token</tt> </tt>
-<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">    <tt class="py-comment"># If there is no http per the request then refresh the http passed in</tt> </tt>
-<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">    <tt class="py-comment"># via execute()</tt> </tt>
-<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">    <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-160" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line"><tt class="py-docstring">    batch = BatchHttpRequest()</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.animals().list(), list_animals)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.farmers().list(), list_farmers)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line"><tt class="py-docstring">    batch.execute(http=http)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line"> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.__init__"></a><div id="BatchHttpRequest.__init__-def"><a name="L971"></a><tt class="py-lineno"> 971</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.__init__-toggle" onclick="return toggle('BatchHttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">batch_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.__init__-expanded"><a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for a BatchHttpRequest.</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for each response, of the</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no error occurred.</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line"><tt class="py-docstring">      batch_uri: string, URI to send batch requests to.</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">batch_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">      <tt class="py-name">batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/batch'</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">batch_uri</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line"> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">    <tt class="py-comment"># Global callback to be called for each individual response in the batch.</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to request.</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to callback.</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line"> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">    <tt class="py-comment"># List of request ids, in the order in which they were added.</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line"> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">    <tt class="py-comment"># The last auto generated id.</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line"> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">    <tt class="py-comment"># Unique ID on which to base the Content-ID headers.</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line"> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">    <tt class="py-comment"># A map from request id to (httplib2.Response, content) response pairs</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line"> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">    <tt class="py-comment"># A map of id(Credentials) that have been refreshed.</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div><a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._refresh_and_apply_credentials"></a><div id="BatchHttpRequest._refresh_and_apply_credentials-def"><a name="L1010"></a><tt class="py-lineno">1010</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._refresh_and_apply_credentials-toggle" onclick="return toggle('BatchHttpRequest._refresh_and_apply_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._refresh_and_apply_credentials-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._refresh_and_apply_credentials-expanded"><a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the credentials and apply to the request.</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request.</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the global http object for the batch.</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">    <tt class="py-comment"># For the credentials to refresh, but only once per refresh_token</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">    <tt class="py-comment"># If there is no http per the request then refresh the http passed in</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">    <tt class="py-comment"># via execute()</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">    <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-160" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-160', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-161', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="googleapiclient.http.HttpMock.request
@@ -1246,30 +1248,30 @@
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-164', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-165', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-166', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-167', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt id="link-168" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-168', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-169" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-169', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt id="link-168" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-168', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-169" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-169', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-170', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-171" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-171', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-171" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-171', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-172', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">creds</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">:</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">        <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">refresh</tt><tt class="py-op">(</tt><tt id="link-173" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-173', 'http', 'link-58');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">    <tt class="py-comment"># Only apply the credentials if we are using the http object passed in,</tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">    <tt class="py-comment"># otherwise apply() will get called during _serialize_request().</tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-174" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">creds</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">:</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">        <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">refresh</tt><tt class="py-op">(</tt><tt id="link-173" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-173', 'http', 'link-58');">http</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line"> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">    <tt class="py-comment"># Only apply the credentials if we are using the http object passed in,</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">    <tt class="py-comment"># otherwise apply() will get called during _serialize_request().</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-174" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-174', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-175', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-176" class="py-name"><a title="googleapiclient.http.HttpMock.request
@@ -1279,83 +1281,83 @@
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-178', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">      <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">apply</tt><tt class="py-op">(</tt><tt id="link-179" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">      <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">apply</tt><tt class="py-op">(</tt><tt id="link-179" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-179', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._id_to_header"></a><div id="BatchHttpRequest._id_to_header-def"><a name="L1035"></a><tt class="py-lineno">1035</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._id_to_header-toggle" onclick="return toggle('BatchHttpRequest._id_to_header');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id_</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._id_to_header-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._id_to_header-expanded"><a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an id to a Content-ID header value.</tt> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"><tt class="py-docstring">      id_: string, identifier of individual request.</tt> </tt>
-<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"><tt class="py-docstring">      A Content-ID header with the id_ encoded into it. A UUID is prepended to</tt> </tt>
-<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"><tt class="py-docstring">      the value because Content-ID headers are supposed to be universally</tt> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">      unique.</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s+%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt><tt class="py-op">,</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._header_to_id"></a><div id="BatchHttpRequest._header_to_id-def"><a name="L1051"></a><tt class="py-lineno">1051</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._header_to_id-toggle" onclick="return toggle('BatchHttpRequest._header_to_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._header_to_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._header_to_id-expanded"><a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert a Content-ID header value to an id.</tt> </tt>
-<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line"><tt class="py-docstring">    Presumes the Content-ID header conforms to the format that _id_to_header()</tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring">    returns.</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"><tt class="py-docstring">      header: string, Content-ID header value.</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"><tt class="py-docstring">      The extracted id value.</tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if the header is not in the expected format.</tt> </tt>
-<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&lt;'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&gt;'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-180" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-180', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'+'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">header</tt><tt class="py-op">:</tt> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-181" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-181', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
-<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">    <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">id_</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'+'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">unquote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._serialize_request"></a><div id="BatchHttpRequest._serialize_request-def"><a name="L1074"></a><tt class="py-lineno">1074</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._serialize_request-toggle" onclick="return toggle('BatchHttpRequest._serialize_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._serialize_request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._serialize_request-expanded"><a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an HttpRequest object into a string.</tt> </tt>
-<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request to serialize.</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">      The request as a string in application/http format.</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">    <tt class="py-comment"># Construct status line</tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="googleapiclient.http.HttpMock.request
+</div><a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._id_to_header"></a><div id="BatchHttpRequest._id_to_header-def"><a name="L1037"></a><tt class="py-lineno">1037</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._id_to_header-toggle" onclick="return toggle('BatchHttpRequest._id_to_header');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id_</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._id_to_header-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._id_to_header-expanded"><a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an id to a Content-ID header value.</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"><tt class="py-docstring">      id_: string, identifier of individual request.</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">      A Content-ID header with the id_ encoded into it. A UUID is prepended to</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"><tt class="py-docstring">      the value because Content-ID headers are supposed to be universally</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line"><tt class="py-docstring">      unique.</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s+%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt><tt class="py-op">,</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._header_to_id"></a><div id="BatchHttpRequest._header_to_id-def"><a name="L1053"></a><tt class="py-lineno">1053</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._header_to_id-toggle" onclick="return toggle('BatchHttpRequest._header_to_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._header_to_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._header_to_id-expanded"><a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert a Content-ID header value to an id.</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring">    Presumes the Content-ID header conforms to the format that _id_to_header()</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"><tt class="py-docstring">    returns.</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">      header: string, Content-ID header value.</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">      The extracted id value.</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if the header is not in the expected format.</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&lt;'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&gt;'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-180" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-180', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'+'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">header</tt><tt class="py-op">:</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-181" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-181', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">    <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">id_</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'+'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">unquote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._serialize_request"></a><div id="BatchHttpRequest._serialize_request-def"><a name="L1076"></a><tt class="py-lineno">1076</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._serialize_request-toggle" onclick="return toggle('BatchHttpRequest._serialize_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._serialize_request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._serialize_request-expanded"><a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an HttpRequest object into a string.</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request to serialize.</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line"><tt class="py-docstring">      The request as a string in application/http format.</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">    <tt class="py-comment"># Construct status line</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-182', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">    <tt class="py-name">request_line</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
-<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">    <tt class="py-name">request_line</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-183', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">request_line</tt> <tt class="py-op">+</tt> <tt class="py-string">' HTTP/1.1\n'</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt> <tt class="py-op">=</tt> <tt id="link-184" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt> <tt class="py-op">=</tt> <tt id="link-184" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-184', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-185', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">)</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">)</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-186', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-187" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line"> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-187" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-187', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-188', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-189" class="py-name"><a title="googleapiclient.http.HttpMock.request
@@ -1365,612 +1367,612 @@
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-191', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">      <tt id="link-192" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">      <tt id="link-192" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-192', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-193', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-194', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">apply</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">    <tt class="py-comment"># MIMENonMultipart adds its own Content-Type header.</tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-type'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line"> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Host'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_unixfrom</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line"> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-195" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line"> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">    <tt class="py-comment"># MIMENonMultipart adds its own Content-Type header.</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-type'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line"> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Host'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_unixfrom</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line"> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-195" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-195', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-196', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-197" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-197" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-197', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-198', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-199', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-200', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line"> </tt>
-<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">    <tt class="py-comment"># Serialize the mime message.</tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">    <tt class="py-comment"># maxheaderlen=0 means don't line wrap headers.</tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">maxheaderlen</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">    <tt id="link-201" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-201', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line"> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the \n\n that the MIME lib tacks onto the end of the payload.</tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-202" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line"> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">    <tt class="py-comment"># Serialize the mime message.</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">    <tt class="py-comment"># maxheaderlen=0 means don't line wrap headers.</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">maxheaderlen</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">    <tt id="link-201" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-201', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line"> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the \n\n that the MIME lib tacks onto the end of the payload.</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-202" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-202', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-203', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">      <tt id="link-204" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-204', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-205', 'body', 'link-46');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-206" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-206', 'body', 'link-46');">body</a></tt> </tt>
-</div><a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._deserialize_response"></a><div id="BatchHttpRequest._deserialize_response-def"><a name="L1123"></a><tt class="py-lineno">1123</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._deserialize_response-toggle" onclick="return toggle('BatchHttpRequest._deserialize_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._deserialize_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._deserialize_response-expanded"><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert string into httplib2 response and content.</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">      payload: string, headers and body as a string.</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring">      A pair (resp, content), such as would be returned from httplib2.request.</tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the status line</tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">    <tt class="py-name">protocol</tt><tt class="py-op">,</tt> <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">    <tt class="py-comment"># Parse the rest of the response</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">    <tt class="py-comment"># Create httplib2.Response from the parsed headers.</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">protocol</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line"> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n\r\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">      <tt id="link-204" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-204', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-205', 'body', 'link-46');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-206" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-206', 'body', 'link-46');">body</a></tt> </tt>
+</div><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._deserialize_response"></a><div id="BatchHttpRequest._deserialize_response-def"><a name="L1125"></a><tt class="py-lineno">1125</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._deserialize_response-toggle" onclick="return toggle('BatchHttpRequest._deserialize_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._deserialize_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._deserialize_response-expanded"><a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert string into httplib2 response and content.</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">      payload: string, headers and body as a string.</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line"><tt class="py-docstring">      A pair (resp, content), such as would be returned from httplib2.request.</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the status line</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">    <tt class="py-name">protocol</tt><tt class="py-op">,</tt> <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line"> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">    <tt class="py-comment"># Parse the rest of the response</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line"> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">    <tt class="py-comment"># Create httplib2.Response from the parsed headers.</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">protocol</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line"> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._new_id"></a><div id="BatchHttpRequest._new_id-def"><a name="L1151"></a><tt class="py-lineno">1151</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._new_id-toggle" onclick="return toggle('BatchHttpRequest._new_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_new_id">_new_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._new_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._new_id-expanded"><a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new id.</tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line"><tt class="py-docstring">    Auto incrementing number that avoids conflicts with ids already used.</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n\r\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line"> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._new_id"></a><div id="BatchHttpRequest._new_id-def"><a name="L1153"></a><tt class="py-lineno">1153</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._new_id-toggle" onclick="return toggle('BatchHttpRequest._new_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_new_id">_new_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._new_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._new_id-expanded"><a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new id.</tt> </tt>
 <a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"><tt class="py-docstring">       string, a new unique id.</tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line"> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.add"></a><div id="BatchHttpRequest.add-def"><a name="L1165"></a><tt class="py-lineno">1165</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.add-toggle" onclick="return toggle('BatchHttpRequest.add');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">request_id</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.add-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.add-expanded"><a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add a new request.</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line"><tt class="py-docstring">    Every callback added will be paired with a unique id, the request_id. That</tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring">    unique id will be passed back to the callback when the response comes back</tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">    from the server. The default behavior is to have the library generate it's</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    own unique id. If the caller passes in a request_id then they must ensure</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">    uniqueness for each request_id, and if they are not an exception is</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">    raised. Callers should either supply all request_ids or nevery supply a</tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    request id, to avoid such an error.</tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, Request to add to the batch.</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for this response, of the</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no errors occurred.</tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line"><tt class="py-docstring">      request_id: string, A unique id for the request. The id will be passed to</tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"><tt class="py-docstring">        the callback with the response.</tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
-<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if a media request is added to a batch.</tt> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"><tt class="py-docstring">      KeyError is the request_id is not unique.</tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._new_id()=googleapiclient.http.BatchHttpRequest-class.html#_new_id"><a title="googleapiclient.http.BatchHttpRequest._new_id" class="py-name" href="#" onclick="return doclink('link-207', '_new_id', 'link-207');">_new_id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-208" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"><tt class="py-docstring">    Auto incrementing number that avoids conflicts with ids already used.</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line"><tt class="py-docstring">       string, a new unique id.</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line"> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.add"></a><div id="BatchHttpRequest.add-def"><a name="L1167"></a><tt class="py-lineno">1167</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.add-toggle" onclick="return toggle('BatchHttpRequest.add');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">request_id</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.add-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.add-expanded"><a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add a new request.</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">    Every callback added will be paired with a unique id, the request_id. That</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    unique id will be passed back to the callback when the response comes back</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">    from the server. The default behavior is to have the library generate it's</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">    own unique id. If the caller passes in a request_id then they must ensure</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    uniqueness for each request_id, and if they are not an exception is</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring">    raised. Callers should either supply all request_ids or nevery supply a</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">    request id, to avoid such an error.</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, Request to add to the batch.</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for this response, of the</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no errors occurred.</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line"><tt class="py-docstring">      request_id: string, A unique id for the request. The id will be passed to</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line"><tt class="py-docstring">        the callback with the response.</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if a media request is added to a batch.</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line"><tt class="py-docstring">      KeyError is the request_id is not unique.</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._new_id()=googleapiclient.http.BatchHttpRequest-class.html#_new_id"><a title="googleapiclient.http.BatchHttpRequest._new_id" class="py-name" href="#" onclick="return doclink('link-207', '_new_id', 'link-207');">_new_id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-208" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-208', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
 googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-209', 'resumable', 'link-28');">resumable</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-210" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-210', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media requests cannot be used in a batch request."</tt><tt class="py-op">)</tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"A request with this ID already exists: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-211" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-210" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-210', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media requests cannot be used in a batch request."</tt><tt class="py-op">)</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"A request with this ID already exists: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-211" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-211', 'request', 'link-55');">request</a></tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line"> </tt>
-<a name="BatchHttpRequest._execute"></a><div id="BatchHttpRequest._execute-def"><a name="L1203"></a><tt class="py-lineno">1203</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._execute-toggle" onclick="return toggle('BatchHttpRequest._execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_execute">_execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">order</tt><tt class="py-op">,</tt> <tt class="py-param">requests</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest._execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._execute-expanded"><a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">    <tt class="py-docstring">"""Serialize batch request, send to server, process response.</tt> </tt>
-<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the request with.</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line"><tt class="py-docstring">      order: list, list of request ids in the order they were added to the</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">        batch.</tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">      request: list, list of request objects to send.</tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">    <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'mixed'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">    <tt class="py-comment"># Message should not write out it's own headers.</tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line"> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">    <tt class="py-comment"># Add all the individual requests.</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">      <tt id="link-212" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._execute"></a><div id="BatchHttpRequest._execute-def"><a name="L1205"></a><tt class="py-lineno">1205</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._execute-toggle" onclick="return toggle('BatchHttpRequest._execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_execute">_execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">order</tt><tt class="py-op">,</tt> <tt class="py-param">requests</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._execute-expanded"><a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">    <tt class="py-docstring">"""Serialize batch request, send to server, process response.</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the request with.</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">      order: list, list of request ids in the order they were added to the</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring">        batch.</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">      request: list, list of request objects to send.</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">    <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'mixed'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">    <tt class="py-comment"># Message should not write out it's own headers.</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line"> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">    <tt class="py-comment"># Add all the individual requests.</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">      <tt id="link-212" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-212', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">      <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'application'</tt><tt class="py-op">,</tt> <tt class="py-string">'http'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._id_to_header()=googleapiclient.http.BatchHttpRequest-class.html#_id_to_header"><a title="googleapiclient.http.BatchHttpRequest._id_to_header" class="py-name" href="#" onclick="return doclink('link-213', '_id_to_header', 'link-213');">_id_to_header</a></tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line"> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">      <tt id="link-214" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-214', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._serialize_request()=googleapiclient.http.BatchHttpRequest-class.html#_serialize_request"><a title="googleapiclient.http.BatchHttpRequest._serialize_request" class="py-name" href="#" onclick="return doclink('link-215', '_serialize_request', 'link-215');">_serialize_request</a></tt><tt class="py-op">(</tt><tt id="link-216" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line"> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">      <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'application'</tt><tt class="py-op">,</tt> <tt class="py-string">'http'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._id_to_header()=googleapiclient.http.BatchHttpRequest-class.html#_id_to_header"><a title="googleapiclient.http.BatchHttpRequest._id_to_header" class="py-name" href="#" onclick="return doclink('link-213', '_id_to_header', 'link-213');">_id_to_header</a></tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line"> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">      <tt id="link-214" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-214', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._serialize_request()=googleapiclient.http.BatchHttpRequest-class.html#_serialize_request"><a title="googleapiclient.http.BatchHttpRequest._serialize_request" class="py-name" href="#" onclick="return doclink('link-215', '_serialize_request', 'link-215');">_serialize_request</a></tt><tt class="py-op">(</tt><tt id="link-216" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-216', 'request', 'link-55');">request</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-217" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-217', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line"> </tt>
-<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">    <tt class="py-comment"># encode the body: note that we can't use `as_string`, because</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">    <tt class="py-comment"># it plays games with `From ` lines.</tt> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">mangle_from_</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">    <tt id="link-218" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-218', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line"> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/mixed; '</tt> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">                               <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line"> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-219', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-217" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-217', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line"> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">    <tt class="py-comment"># encode the body: note that we can't use `as_string`, because</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">    <tt class="py-comment"># it plays games with `From ` lines.</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">mangle_from_</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">    <tt id="link-218" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-218', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line"> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/mixed; '</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">                               <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line"> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-219', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-220', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt id="link-221" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-221', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt id="link-222" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-222', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">                                 <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line"> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-223" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-223', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line"> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">    <tt class="py-comment"># Now break out the individual responses and store each one.</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">    <tt class="py-name">boundary</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line"> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">    <tt class="py-comment"># Prepend with a content-type header so FeedParser can handle it.</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">    <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-string">'content-type: %s\r\n\r\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">    <tt class="py-name">for_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line"> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">for_parser</tt><tt class="py-op">)</tt> </tt>
-<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">    <tt class="py-name">mime_response</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line"> </tt>
-<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">is_multipart</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-224" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-224', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Response not in multipart/mixed format."</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">=</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">                       <tt class="py-name">content</tt><tt class="py-op">=</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line"> </tt>
-<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">part</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._header_to_id()=googleapiclient.http.BatchHttpRequest-class.html#_header_to_id"><a title="googleapiclient.http.BatchHttpRequest._header_to_id" class="py-name" href="#" onclick="return doclink('link-225', '_header_to_id', 'link-225');">_header_to_id</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">      <tt id="link-226" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">                                 <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line"> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-223" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-223', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">    <tt class="py-comment"># Now break out the individual responses and store each one.</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">    <tt class="py-name">boundary</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line"> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">    <tt class="py-comment"># Prepend with a content-type header so FeedParser can handle it.</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">    <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-string">'content-type: %s\r\n\r\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">    <tt class="py-name">for_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line"> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">for_parser</tt><tt class="py-op">)</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">    <tt class="py-name">mime_response</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line"> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">is_multipart</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-224" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-224', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Response not in multipart/mixed format."</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">=</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">                       <tt class="py-name">content</tt><tt class="py-op">=</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line"> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">part</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._header_to_id()=googleapiclient.http.BatchHttpRequest-class.html#_header_to_id"><a title="googleapiclient.http.BatchHttpRequest._header_to_id" class="py-name" href="#" onclick="return doclink('link-225', '_header_to_id', 'link-225');">_header_to_id</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">      <tt id="link-226" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-226', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._deserialize_response()=googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response"><a title="googleapiclient.http.BatchHttpRequest._deserialize_response" class="py-name" href="#" onclick="return doclink('link-227', '_deserialize_response', 'link-227');">_deserialize_response</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-228" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-228" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-228', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line"> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="BatchHttpRequest.execute"></a><div id="BatchHttpRequest.execute-def"><a name="L1270"></a><tt class="py-lineno">1270</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.execute-toggle" onclick="return toggle('BatchHttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BatchHttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.execute-expanded"><a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute all the requests as a single batched HTTP request.</tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the one the</tt> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring">        HttpRequest request object was constructed with. If one isn't supplied</tt> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">        then use a http object from the requests in this batch.</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
-<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line"> </tt>
-<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">    <tt class="py-comment"># If http is not supplied use the first valid one given in the requests.</tt> </tt>
-<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-229" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-229', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">        <tt id="link-230" class="py-name"><a title="googleapiclient.http.HttpMock.request
+</div><a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.execute"></a><div id="BatchHttpRequest.execute-def"><a name="L1272"></a><tt class="py-lineno">1272</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.execute-toggle" onclick="return toggle('BatchHttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.execute-expanded"><a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute all the requests as a single batched HTTP request.</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the one the</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring">        HttpRequest request object was constructed with. If one isn't supplied</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">        then use a http object from the requests in this batch.</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line"> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">    <tt class="py-comment"># If http is not supplied use the first valid one given in the requests.</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-229" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-229', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">        <tt id="link-230" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-230', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-231" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-231" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-231', 'request', 'link-55');">request</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">          <tt id="link-232" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-232', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-233" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">          <tt id="link-232" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-232', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-233" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-233', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-234', 'http', 'link-58');">http</a></tt> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-235" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-235', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Missing a valid http object."</tt><tt class="py-op">)</tt> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line"> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._execute()=googleapiclient.http.BatchHttpRequest-class.html#_execute"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-236', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-237" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-237', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">)</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line"> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-235" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-235', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Missing a valid http object."</tt><tt class="py-op">)</tt> </tt>
 <a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line"> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">    <tt class="py-comment"># Loop over all the requests and check for 401s. For each 401 request the</tt> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">    <tt class="py-comment"># credentials should be refreshed and then sent again in a separate batch.</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">    <tt class="py-name">redo_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">    <tt class="py-name">redo_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line"> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'401'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">        <tt class="py-name">redo_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">        <tt id="link-238" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._execute()=googleapiclient.http.BatchHttpRequest-class.html#_execute"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-236', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-237" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-237', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">)</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line"> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">    <tt class="py-comment"># Loop over all the requests and check for 401s. For each 401 request the</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">    <tt class="py-comment"># credentials should be refreshed and then sent again in a separate batch.</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">    <tt class="py-name">redo_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">    <tt class="py-name">redo_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line"> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'401'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-name">redo_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">        <tt id="link-238" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-238', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials()=googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials"><a title="googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials" class="py-name" href="#" onclick="return doclink('link-239', '_refresh_and_apply_credentials', 'link-239');">_refresh_and_apply_credentials</a></tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials()=googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials"><a title="googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials" class="py-name" href="#" onclick="return doclink('link-239', '_refresh_and_apply_credentials', 'link-239');">_refresh_and_apply_credentials</a></tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-240', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> <tt id="link-241" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-241', 'http', 'link-58');">http</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">        <tt class="py-name">redo_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-242" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">        <tt class="py-name">redo_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-242" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-242', 'request', 'link-55');">request</a></tt> </tt>
-<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line"> </tt>
-<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">:</tt> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-243', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-244" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-244', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">redo_order</tt><tt class="py-op">,</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">)</tt> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line"> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">    <tt class="py-comment"># Now process all callbacks that are erroring, and raise an exception for</tt> </tt>
-<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">    <tt class="py-comment"># ones that return a non-2xx response? Or add extra parameter to callback</tt> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">    <tt class="py-comment"># that contains an HttpError?</tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line"> </tt>
-<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
-<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line"> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">      <tt id="link-245" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-243', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-244" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-244', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">redo_order</tt><tt class="py-op">,</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">)</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line"> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">    <tt class="py-comment"># Now process all callbacks that are erroring, and raise an exception for</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">    <tt class="py-comment"># ones that return a non-2xx response? Or add extra parameter to callback</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">    <tt class="py-comment"># that contains an HttpError?</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line"> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line"> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">      <tt id="link-245" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-245', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">      <tt class="py-name">callback</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line"> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">      <tt id="link-246" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">      <tt class="py-name">callback</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line"> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">      <tt id="link-246" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-246', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">      <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-247" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-247', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt id="link-248" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">      <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-247" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-247', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt id="link-248" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-248', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
-<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">        <tt id="link-249" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt id="link-249" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-249', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-250', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt id="link-251" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-251', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line"> </tt>
-<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">        <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-252" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt id="link-251" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-251', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">        <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line"> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">        <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-252" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-252', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
-<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-253" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-253" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-253', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock"></a><div id="HttpRequestMock-def"><a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"> </tt>
-<a name="L1340"></a><tt class="py-lineno">1340</tt> <a class="py-toggle" href="#" id="HttpRequestMock-toggle" onclick="return toggle('HttpRequestMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequestMock-expanded"><a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of HttpRequest.</tt> </tt>
-<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line"><tt class="py-docstring">  Do not construct directly, instead use RequestMockBuilder.</tt> </tt>
-<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock.__init__"></a><div id="HttpRequestMock.__init__-def"><a name="L1346"></a><tt class="py-lineno">1346</tt> <a class="py-toggle" href="#" id="HttpRequestMock.__init__-toggle" onclick="return toggle('HttpRequestMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.__init__-expanded"><a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for HttpRequestMock</tt> </tt>
-<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response to emulate coming from the request</tt> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the response body</tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, the post processing function usually supplied by</tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line"><tt class="py-docstring">                the model class. See model.JsonModel.response() as an example.</tt> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
-<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
-<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-string">'reason'</tt><tt class="py-op">:</tt> <tt class="py-string">'OK'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'reason'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'reason'</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line"> </tt>
-<a name="HttpRequestMock.execute"></a><div id="HttpRequestMock.execute-def"><a name="L1363"></a><tt class="py-lineno">1363</tt> <a class="py-toggle" href="#" id="HttpRequestMock.execute-toggle" onclick="return toggle('HttpRequestMock.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpRequestMock.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.execute-expanded"><a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
-<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line"><tt class="py-docstring">    Same behavior as HttpRequest.execute(), but the response is</tt> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line"><tt class="py-docstring">    mocked and not really from an HTTP request/response.</tt> </tt>
-<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder"></a><div id="RequestMockBuilder-def"><a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line"> </tt>
-<a name="L1372"></a><tt class="py-lineno">1372</tt> <a class="py-toggle" href="#" id="RequestMockBuilder-toggle" onclick="return toggle('RequestMockBuilder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="RequestMockBuilder-expanded"><a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">  <tt class="py-docstring">"""A simple mock of HttpRequest</tt> </tt>
-<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line"><tt class="py-docstring">    Pass in a dictionary to the constructor that maps request methodIds to</tt> </tt>
-<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"><tt class="py-docstring">    tuples of (httplib2.Response, content, opt_expected_body) that should be</tt> </tt>
-<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line"><tt class="py-docstring">    returned when that method is called. None may also be passed in for the</tt> </tt>
-<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"><tt class="py-docstring">    httplib2.Response, in which case a 200 OK response will be generated.</tt> </tt>
-<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"><tt class="py-docstring">    If an opt_expected_body (str or dict) is provided, it will be compared to</tt> </tt>
-<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line"><tt class="py-docstring">    the body and UnexpectedBodyError will be raised on inequality.</tt> </tt>
-<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line"><tt class="py-docstring">      response = '{"data": {"id": "tag:google.c...'</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder = RequestMockBuilder(</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-docstring">        {</tt> </tt>
-<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"><tt class="py-docstring">          'plus.activities.get': (None, response),</tt> </tt>
-<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
-<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"><tt class="py-docstring">      )</tt> </tt>
-<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)</tt> </tt>
-<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"><tt class="py-docstring">    Methods that you do not supply a response for will return a</tt> </tt>
-<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line"><tt class="py-docstring">    200 OK with an empty string as the response content or raise an excpetion</tt> </tt>
-<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line"><tt class="py-docstring">    if check_unexpected is set to True. The methodId is taken from the rpcName</tt> </tt>
-<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line"><tt class="py-docstring">    in the discovery document.</tt> </tt>
-<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line"><tt class="py-docstring">    For more details see the project wiki.</tt> </tt>
-<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder.__init__"></a><div id="RequestMockBuilder.__init__-def"><a name="L1399"></a><tt class="py-lineno">1399</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__init__-toggle" onclick="return toggle('RequestMockBuilder.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">responses</tt><tt class="py-op">,</tt> <tt class="py-param">check_unexpected</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__init__-expanded"><a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for RequestMockBuilder</tt> </tt>
-<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line"><tt class="py-docstring">    The constructed object should be a callable object</tt> </tt>
-<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line"><tt class="py-docstring">    that can replace the class HttpResponse.</tt> </tt>
-<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"><tt class="py-docstring">    responses - A dictionary that maps methodIds into tuples</tt> </tt>
-<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line"><tt class="py-docstring">                of (httplib2.Response, content). The methodId</tt> </tt>
-<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line"><tt class="py-docstring">                comes from the 'rpcName' field in the discovery</tt> </tt>
-<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line"><tt class="py-docstring">                document.</tt> </tt>
-<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"><tt class="py-docstring">    check_unexpected - A boolean setting whether or not UnexpectedMethodError</tt> </tt>
-<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line"><tt class="py-docstring">                       should be raised on unsupplied method.</tt> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt> <tt class="py-op">=</tt> <tt class="py-name">responses</tt> </tt>
-<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt> <tt class="py-op">=</tt> <tt class="py-name">check_unexpected</tt> </tt>
-</div><a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line"> </tt>
-<a name="RequestMockBuilder.__call__"></a><div id="RequestMockBuilder.__call__-def"><a name="L1415"></a><tt class="py-lineno">1415</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__call__-toggle" onclick="return toggle('RequestMockBuilder.__call__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RequestMockBuilder.__call__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__call__-expanded"><a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">    <tt class="py-docstring">"""Implements the callable interface that discovery.build() expects</tt> </tt>
-<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line"><tt class="py-docstring">    of requestBuilder, which is to build an object compatible with</tt> </tt>
-<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line"><tt class="py-docstring">    HttpRequest.execute(). See that method for the description of the</tt> </tt>
-<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line"><tt class="py-docstring">    parameters and the expected response.</tt> </tt>
-<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodId</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">:</tt> </tt>
-<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">      <tt id="link-254" class="py-name"><a title="googleapiclient.model.BaseModel.response
+</div></div><a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock"></a><div id="HttpRequestMock-def"><a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line"> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt> <a class="py-toggle" href="#" id="HttpRequestMock-toggle" onclick="return toggle('HttpRequestMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequestMock-expanded"><a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of HttpRequest.</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line"><tt class="py-docstring">  Do not construct directly, instead use RequestMockBuilder.</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock.__init__"></a><div id="HttpRequestMock.__init__-def"><a name="L1348"></a><tt class="py-lineno">1348</tt> <a class="py-toggle" href="#" id="HttpRequestMock.__init__-toggle" onclick="return toggle('HttpRequestMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.__init__-expanded"><a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for HttpRequestMock</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response to emulate coming from the request</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the response body</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, the post processing function usually supplied by</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line"><tt class="py-docstring">                the model class. See model.JsonModel.response() as an example.</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-string">'reason'</tt><tt class="py-op">:</tt> <tt class="py-string">'OK'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'reason'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'reason'</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock.execute"></a><div id="HttpRequestMock.execute-def"><a name="L1365"></a><tt class="py-lineno">1365</tt> <a class="py-toggle" href="#" id="HttpRequestMock.execute-toggle" onclick="return toggle('HttpRequestMock.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.execute-expanded"><a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line"><tt class="py-docstring">    Same behavior as HttpRequest.execute(), but the response is</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line"><tt class="py-docstring">    mocked and not really from an HTTP request/response.</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder"></a><div id="RequestMockBuilder-def"><a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line"> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt> <a class="py-toggle" href="#" id="RequestMockBuilder-toggle" onclick="return toggle('RequestMockBuilder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="RequestMockBuilder-expanded"><a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">  <tt class="py-docstring">"""A simple mock of HttpRequest</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line"><tt class="py-docstring">    Pass in a dictionary to the constructor that maps request methodIds to</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"><tt class="py-docstring">    tuples of (httplib2.Response, content, opt_expected_body) that should be</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"><tt class="py-docstring">    returned when that method is called. None may also be passed in for the</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line"><tt class="py-docstring">    httplib2.Response, in which case a 200 OK response will be generated.</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"><tt class="py-docstring">    If an opt_expected_body (str or dict) is provided, it will be compared to</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line"><tt class="py-docstring">    the body and UnexpectedBodyError will be raised on inequality.</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-docstring">      response = '{"data": {"id": "tag:google.c...'</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder = RequestMockBuilder(</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line"><tt class="py-docstring">        {</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"><tt class="py-docstring">          'plus.activities.get': (None, response),</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line"><tt class="py-docstring">      )</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line"><tt class="py-docstring">    Methods that you do not supply a response for will return a</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line"><tt class="py-docstring">    200 OK with an empty string as the response content or raise an excpetion</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line"><tt class="py-docstring">    if check_unexpected is set to True. The methodId is taken from the rpcName</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line"><tt class="py-docstring">    in the discovery document.</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line"><tt class="py-docstring">    For more details see the project wiki.</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder.__init__"></a><div id="RequestMockBuilder.__init__-def"><a name="L1401"></a><tt class="py-lineno">1401</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__init__-toggle" onclick="return toggle('RequestMockBuilder.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">responses</tt><tt class="py-op">,</tt> <tt class="py-param">check_unexpected</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__init__-expanded"><a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for RequestMockBuilder</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line"><tt class="py-docstring">    The constructed object should be a callable object</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"><tt class="py-docstring">    that can replace the class HttpResponse.</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line"><tt class="py-docstring">    responses - A dictionary that maps methodIds into tuples</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line"><tt class="py-docstring">                of (httplib2.Response, content). The methodId</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"><tt class="py-docstring">                comes from the 'rpcName' field in the discovery</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line"><tt class="py-docstring">                document.</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line"><tt class="py-docstring">    check_unexpected - A boolean setting whether or not UnexpectedMethodError</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line"><tt class="py-docstring">                       should be raised on unsupplied method.</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt> <tt class="py-op">=</tt> <tt class="py-name">responses</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt> <tt class="py-op">=</tt> <tt class="py-name">check_unexpected</tt> </tt>
+</div><a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder.__call__"></a><div id="RequestMockBuilder.__call__-def"><a name="L1417"></a><tt class="py-lineno">1417</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__call__-toggle" onclick="return toggle('RequestMockBuilder.__call__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder.__call__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__call__-expanded"><a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">    <tt class="py-docstring">"""Implements the callable interface that discovery.build() expects</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line"><tt class="py-docstring">    of requestBuilder, which is to build an object compatible with</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line"><tt class="py-docstring">    HttpRequest.execute(). See that method for the description of the</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line"><tt class="py-docstring">    parameters and the expected response.</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodId</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">:</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">      <tt id="link-254" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-254', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">[</tt><tt class="py-name">methodId</tt><tt class="py-op">]</tt> </tt>
-<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-255', 'response', 'link-226');">response</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-256" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-256" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-256', 'response', 'link-226');">response</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">        <tt class="py-comment"># Test the body against the supplied expected_body.</tt> </tt>
-<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">        <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt id="link-257" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">        <tt class="py-comment"># Test the body against the supplied expected_body.</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt id="link-257" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-257', 'response', 'link-226');">response</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt id="link-258" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-258', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">          <tt class="py-comment"># Not expecting a body and provided one</tt> </tt>
-<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">          <tt class="py-comment"># or expecting a body and not provided one.</tt> </tt>
-<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-259" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-259', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-260" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-260', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">          <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-261', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-262', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-263" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-263', 'body', 'link-46');">body</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">expected_body</tt><tt class="py-op">:</tt> </tt>
-<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-264" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-264', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-265" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-265', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-266" class="py-name" targets="Class googleapiclient.http.HttpRequestMock=googleapiclient.http.HttpRequestMock-class.html"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-266', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">postproc</tt><tt class="py-op">)</tt> </tt>
-<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt><tt class="py-op">:</tt> </tt>
-<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-267" class="py-name"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-267', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt><tt class="py-op">(</tt><tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
-<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">      <tt id="link-268" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-268', 'model', 'link-13');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-269" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-269', 'JsonModel', 'link-14');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-270" class="py-name"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-270', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'{}'</tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-271', 'model', 'link-13');">model</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="googleapiclient.model.BaseModel.response
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt id="link-258" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-258', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">          <tt class="py-comment"># Not expecting a body and provided one</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">          <tt class="py-comment"># or expecting a body and not provided one.</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-259" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-259', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-260" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-260', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">          <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-261', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-262', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-263" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-263', 'body', 'link-46');">body</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">expected_body</tt><tt class="py-op">:</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-264" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-264', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-265" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-265', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-266" class="py-name" targets="Class googleapiclient.http.HttpRequestMock=googleapiclient.http.HttpRequestMock-class.html"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-266', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">postproc</tt><tt class="py-op">)</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt><tt class="py-op">:</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-267" class="py-name"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-267', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt><tt class="py-op">(</tt><tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">      <tt id="link-268" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-268', 'model', 'link-13');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-269" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-269', 'JsonModel', 'link-14');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-270" class="py-name"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-270', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'{}'</tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-271', 'model', 'link-13');">model</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="googleapiclient.model.BaseModel.response
 googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-272', 'response', 'link-226');">response</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock"></a><div id="HttpMock-def"><a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line"> </tt>
-<a name="L1445"></a><tt class="py-lineno">1445</tt> <a class="py-toggle" href="#" id="HttpMock-toggle" onclick="return toggle('HttpMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html">HttpMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMock-expanded"><a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http"""</tt> </tt>
-<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock.__init__"></a><div id="HttpMock.__init__-def"><a name="L1448"></a><tt class="py-lineno">1448</tt> <a class="py-toggle" href="#" id="HttpMock.__init__-toggle" onclick="return toggle('HttpMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.__init__-expanded"><a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, absolute filename to read response from</tt> </tt>
-<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, header to return with response</tt> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-string">'200 OK'</tt><tt class="py-op">}</tt> </tt>
-<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">      <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-273', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">      <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-274', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line"> </tt>
-<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line"> </tt>
-<a name="HttpMock.request"></a><div id="HttpMock.request-def"><a name="L1470"></a><tt class="py-lineno">1470</tt> <a class="py-toggle" href="#" id="HttpMock.request-toggle" onclick="return toggle('HttpMock.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMock.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.request-expanded"><a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
-<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-275', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-276', 'body', 'link-46');">body</a></tt> </tt>
-<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> </tt>
-</div></div><a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence"></a><div id="HttpMockSequence-def"><a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line"> </tt>
-<a name="L1483"></a><tt class="py-lineno">1483</tt> <a class="py-toggle" href="#" id="HttpMockSequence-toggle" onclick="return toggle('HttpMockSequence');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMockSequence-expanded"><a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http</tt> </tt>
-<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line"><tt class="py-docstring">  Mocks a sequence of calls to request returning different responses for each</tt> </tt>
-<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring">  call. Create an instance initialized with the desired response headers</tt> </tt>
-<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">  and content and then use as if an httplib2.Http instance.</tt> </tt>
-<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">    http = HttpMockSequence([</tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '401'}, ''),</tt> </tt>
-<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'),</tt> </tt>
-<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, 'echo_request_headers'),</tt> </tt>
-<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line"><tt class="py-docstring">      ])</tt> </tt>
-<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"><tt class="py-docstring">    resp, content = http.request("http://examples.com")</tt> </tt>
-<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"><tt class="py-docstring">  There are special values you can pass in for content to trigger</tt> </tt>
-<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line"><tt class="py-docstring">  behavours that are helpful in testing.</tt> </tt>
-<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers' means return the request headers in the response body</tt> </tt>
-<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers_as_json' means return the request headers in</tt> </tt>
-<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line"><tt class="py-docstring">     the response body</tt> </tt>
-<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_body' means return the request body in the response body</tt> </tt>
-<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_uri' means return the request uri in the response body</tt> </tt>
-<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence.__init__"></a><div id="HttpMockSequence.__init__-def"><a name="L1507"></a><tt class="py-lineno">1507</tt> <a class="py-toggle" href="#" id="HttpMockSequence.__init__-toggle" onclick="return toggle('HttpMockSequence.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">iterable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.__init__-expanded"><a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line"><tt class="py-docstring">      iterable: iterable, a sequence of pairs of (headers, body)</tt> </tt>
-<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt> <tt class="py-op">=</tt> <tt class="py-name">iterable</tt> </tt>
-<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">follow_redirects</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line"> </tt>
-<a name="HttpMockSequence.request"></a><div id="HttpMockSequence.request-def"><a name="L1515"></a><tt class="py-lineno">1515</tt> <a class="py-toggle" href="#" id="HttpMockSequence.request-toggle" onclick="return toggle('HttpMockSequence.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
-<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HttpMockSequence.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.request-expanded"><a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers_as_json'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_body'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-277" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-277', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-string">'read'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-278', 'body', 'link-46');">body</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-279', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-280', 'body', 'link-46');">body</a></tt> </tt>
-<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_uri'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
-<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div></div><a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line"> </tt>
-<a name="set_user_agent"></a><div id="set_user_agent-def"><a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line"> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt> <a class="py-toggle" href="#" id="set_user_agent-toggle" onclick="return toggle('set_user_agent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#set_user_agent">set_user_agent</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_user_agent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="set_user_agent-expanded"><a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">  <tt class="py-docstring">"""Set the user-agent on every request.</tt> </tt>
-<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
-<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line"><tt class="py-docstring">     user_agent: string, the value for the user-agent header.</tt> </tt>
-<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
-<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+</div></div><a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock"></a><div id="HttpMock-def"><a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line"> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt> <a class="py-toggle" href="#" id="HttpMock-toggle" onclick="return toggle('HttpMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html">HttpMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMock-expanded"><a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http"""</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock.__init__"></a><div id="HttpMock.__init__-def"><a name="L1450"></a><tt class="py-lineno">1450</tt> <a class="py-toggle" href="#" id="HttpMock.__init__-toggle" onclick="return toggle('HttpMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.__init__-expanded"><a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, absolute filename to read response from</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, header to return with response</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-string">'200 OK'</tt><tt class="py-op">}</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">      <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-273', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">      <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-274', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line"> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock.request"></a><div id="HttpMock.request-def"><a name="L1472"></a><tt class="py-lineno">1472</tt> <a class="py-toggle" href="#" id="HttpMock.request-toggle" onclick="return toggle('HttpMock.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.request-expanded"><a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-275', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-276', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> </tt>
+</div></div><a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence"></a><div id="HttpMockSequence-def"><a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt> <a class="py-toggle" href="#" id="HttpMockSequence-toggle" onclick="return toggle('HttpMockSequence');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMockSequence-expanded"><a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">  Mocks a sequence of calls to request returning different responses for each</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring">  call. Create an instance initialized with the desired response headers</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">  and content and then use as if an httplib2.Http instance.</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">    http = HttpMockSequence([</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '401'}, ''),</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'),</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, 'echo_request_headers'),</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"><tt class="py-docstring">      ])</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"><tt class="py-docstring">    resp, content = http.request("http://examples.com")</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line"><tt class="py-docstring">  There are special values you can pass in for content to trigger</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line"><tt class="py-docstring">  behavours that are helpful in testing.</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers' means return the request headers in the response body</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers_as_json' means return the request headers in</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line"><tt class="py-docstring">     the response body</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_body' means return the request body in the response body</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_uri' means return the request uri in the response body</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence.__init__"></a><div id="HttpMockSequence.__init__-def"><a name="L1509"></a><tt class="py-lineno">1509</tt> <a class="py-toggle" href="#" id="HttpMockSequence.__init__-toggle" onclick="return toggle('HttpMockSequence.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">iterable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.__init__-expanded"><a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line"><tt class="py-docstring">      iterable: iterable, a sequence of pairs of (headers, body)</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt> <tt class="py-op">=</tt> <tt class="py-name">iterable</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">follow_redirects</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence.request"></a><div id="HttpMockSequence.request-def"><a name="L1517"></a><tt class="py-lineno">1517</tt> <a class="py-toggle" href="#" id="HttpMockSequence.request-toggle" onclick="return toggle('HttpMockSequence.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.request-expanded"><a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers_as_json'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_body'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-277" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-277', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-string">'read'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-278', 'body', 'link-46');">body</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-279', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-280', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_uri'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div></div><a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line"> </tt>
+<a name="set_user_agent"></a><div id="set_user_agent-def"><a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line"> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt> <a class="py-toggle" href="#" id="set_user_agent-toggle" onclick="return toggle('set_user_agent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#set_user_agent">set_user_agent</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="set_user_agent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="set_user_agent-expanded"><a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">  <tt class="py-docstring">"""Set the user-agent on every request.</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"><tt class="py-docstring">     user_agent: string, the value for the user-agent header.</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
 <a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
-<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line"><tt class="py-docstring">    h = set_user_agent(h, "my-app-name/6.0")</tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line"><tt class="py-docstring">  Most of the time the user-agent will be set doing auth, this is for the rare</tt> </tt>
-<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line"><tt class="py-docstring">  cases where you are accessing an unauthenticated endpoint.</tt> </tt>
-<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-281" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-281', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line"><tt class="py-docstring">    h = set_user_agent(h, "my-app-name/6.0")</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line"><tt class="py-docstring">  Most of the time the user-agent will be set doing auth, this is for the rare</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"><tt class="py-docstring">  cases where you are accessing an unauthenticated endpoint.</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-281" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-281', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-282', 'request', 'link-55');">request</a></tt> </tt>
-<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"> </tt>
-<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
-<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
-<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> </tt>
-<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
-<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-283', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line"> </tt>
-<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">  <tt id="link-284" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-284', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line"> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-283', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line"> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">  <tt id="link-284" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-284', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-285', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
-<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-286" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-286', 'http', 'link-58');">http</a></tt> </tt>
-</div><a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line"> </tt>
-<a name="tunnel_patch"></a><div id="tunnel_patch-def"><a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line"> </tt>
-<a name="L1576"></a><tt class="py-lineno">1576</tt> <a class="py-toggle" href="#" id="tunnel_patch-toggle" onclick="return toggle('tunnel_patch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#tunnel_patch">tunnel_patch</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="tunnel_patch-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="tunnel_patch-expanded"><a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">  <tt class="py-docstring">"""Tunnel PATCH requests over POST.</tt> </tt>
-<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
-<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
-<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-286" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-286', 'http', 'link-58');">http</a></tt> </tt>
+</div><a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"> </tt>
+<a name="tunnel_patch"></a><div id="tunnel_patch-def"><a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line"> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt> <a class="py-toggle" href="#" id="tunnel_patch-toggle" onclick="return toggle('tunnel_patch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#tunnel_patch">tunnel_patch</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="tunnel_patch-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="tunnel_patch-expanded"><a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">  <tt class="py-docstring">"""Tunnel PATCH requests over POST.</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
 <a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
-<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line"><tt class="py-docstring">    h = tunnel_patch(h, "my-app-name/6.0")</tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"><tt class="py-docstring">  Useful if you are running on a platform that doesn't support PATCH.</tt> </tt>
-<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line"><tt class="py-docstring">  Apply this last if you are using OAuth 1.0, as changing the method</tt> </tt>
-<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line"><tt class="py-docstring">  will result in a different signature.</tt> </tt>
-<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-287" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-287', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"><tt class="py-docstring">    h = tunnel_patch(h, "my-app-name/6.0")</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line"><tt class="py-docstring">  Useful if you are running on a platform that doesn't support PATCH.</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line"><tt class="py-docstring">  Apply this last if you are using OAuth 1.0, as changing the method</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line"><tt class="py-docstring">  will result in a different signature.</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-287" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-287', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-288', 'request', 'link-55');">request</a></tt> </tt>
-<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line"> </tt>
-<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
-<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
-<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
-<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'oauth_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-289', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'authorization'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">            <tt class="py-string">'OAuth 1.0 request made with Credentials after tunnel_patch.'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"PATCH"</tt> </tt>
-<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">      <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
-<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-290" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-290', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line"> </tt>
-<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">  <tt id="link-291" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-291', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="googleapiclient.http.HttpMock.request
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line"> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'oauth_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-289', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'authorization'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">            <tt class="py-string">'OAuth 1.0 request made with Credentials after tunnel_patch.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"PATCH"</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">      <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-290" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-290', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line"> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">  <tt id="link-291" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-291', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="googleapiclient.http.HttpMock.request
 googleapiclient.http.HttpMockSequence.request
 googleapiclient.model.BaseModel.request
 googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-292', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
-<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-293" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-293', 'http', 'link-58');">http</a></tt> </tt>
-</div><a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-293" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-293', 'http', 'link-58');">http</a></tt> </tt>
+</div><a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -2003,7 +2005,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.BatchHttpRequest-class.html b/docs/epy/googleapiclient.http.BatchHttpRequest-class.html
index 4838265..c99a8d5 100644
--- a/docs/epy/googleapiclient.http.BatchHttpRequest-class.html
+++ b/docs/epy/googleapiclient.http.BatchHttpRequest-class.html
@@ -740,7 +740,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.HttpMock-class.html b/docs/epy/googleapiclient.http.HttpMock-class.html
index 83cf62f..15ae255 100644
--- a/docs/epy/googleapiclient.http.HttpMock-class.html
+++ b/docs/epy/googleapiclient.http.HttpMock-class.html
@@ -250,7 +250,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.HttpMockSequence-class.html b/docs/epy/googleapiclient.http.HttpMockSequence-class.html
index 2d87266..439a82f 100644
--- a/docs/epy/googleapiclient.http.HttpMockSequence-class.html
+++ b/docs/epy/googleapiclient.http.HttpMockSequence-class.html
@@ -267,7 +267,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.HttpRequest-class.html b/docs/epy/googleapiclient.http.HttpRequest-class.html
index 05617a9..e3eff67 100644
--- a/docs/epy/googleapiclient.http.HttpRequest-class.html
+++ b/docs/epy/googleapiclient.http.HttpRequest-class.html
@@ -561,7 +561,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.HttpRequestMock-class.html b/docs/epy/googleapiclient.http.HttpRequestMock-class.html
index cbc9b6d..163b8d8 100644
--- a/docs/epy/googleapiclient.http.HttpRequestMock-class.html
+++ b/docs/epy/googleapiclient.http.HttpRequestMock-class.html
@@ -279,7 +279,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html b/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html
index 1ca2cc9..6a3d65d 100644
--- a/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html
+++ b/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html
@@ -272,7 +272,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaFileUpload-class.html b/docs/epy/googleapiclient.http.MediaFileUpload-class.html
index b0ff2e8..9a82484 100644
--- a/docs/epy/googleapiclient.http.MediaFileUpload-class.html
+++ b/docs/epy/googleapiclient.http.MediaFileUpload-class.html
@@ -392,7 +392,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html b/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html
index d78ba7a..984c25f 100644
--- a/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html
+++ b/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html
@@ -297,7 +297,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html
index 0dc64a4..0e3f6f6 100644
--- a/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html
+++ b/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html
@@ -314,7 +314,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html
index 0e654e3..d38c33e 100644
--- a/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html
+++ b/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html
@@ -674,7 +674,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaUpload-class.html b/docs/epy/googleapiclient.http.MediaUpload-class.html
index 84138ac..578c58d 100644
--- a/docs/epy/googleapiclient.http.MediaUpload-class.html
+++ b/docs/epy/googleapiclient.http.MediaUpload-class.html
@@ -681,7 +681,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.MediaUploadProgress-class.html b/docs/epy/googleapiclient.http.MediaUploadProgress-class.html
index 3544d75..8936083 100644
--- a/docs/epy/googleapiclient.http.MediaUploadProgress-class.html
+++ b/docs/epy/googleapiclient.http.MediaUploadProgress-class.html
@@ -273,7 +273,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http.RequestMockBuilder-class.html b/docs/epy/googleapiclient.http.RequestMockBuilder-class.html
index 32312e6..7618706 100644
--- a/docs/epy/googleapiclient.http.RequestMockBuilder-class.html
+++ b/docs/epy/googleapiclient.http.RequestMockBuilder-class.html
@@ -319,7 +319,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.http._StreamSlice-class.html b/docs/epy/googleapiclient.http._StreamSlice-class.html
index 24b6436..d78a408 100644
--- a/docs/epy/googleapiclient.http._StreamSlice-class.html
+++ b/docs/epy/googleapiclient.http._StreamSlice-class.html
@@ -285,7 +285,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.mimeparse-module.html b/docs/epy/googleapiclient.mimeparse-module.html
index 8b8fbed..e94d3ce 100644
--- a/docs/epy/googleapiclient.mimeparse-module.html
+++ b/docs/epy/googleapiclient.mimeparse-module.html
@@ -490,7 +490,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.mimeparse-pysrc.html b/docs/epy/googleapiclient.mimeparse-pysrc.html
index f3e4e3a..ec3b0ab 100644
--- a/docs/epy/googleapiclient.mimeparse-pysrc.html
+++ b/docs/epy/googleapiclient.mimeparse-pysrc.html
@@ -261,7 +261,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model-module.html b/docs/epy/googleapiclient.model-module.html
index f7dc1e3..9ac946c 100644
--- a/docs/epy/googleapiclient.model-module.html
+++ b/docs/epy/googleapiclient.model-module.html
@@ -299,7 +299,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model-pysrc.html b/docs/epy/googleapiclient.model-pysrc.html
index bf0a400..66f3c8b 100644
--- a/docs/epy/googleapiclient.model-pysrc.html
+++ b/docs/epy/googleapiclient.model-pysrc.html
@@ -56,480 +56,478 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="googleapiclient.model-module.html">Module googleapiclient.model</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright 2014 Google Inc. All Rights Reserved.</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
 <a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Model objects for requests and responses.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">Each API may support one or more serializations, such</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">as JSON, Atom, etc. The model classes are responsible</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">for converting between the wire format and the Python</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">object representation.</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Model objects for requests and responses.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Each API may support one or more serializations, such</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">as JSON, Atom, etc. The model classes are responsible</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">for converting between the wire format and the Python</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">object representation.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
 <a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-0', 'googleapiclient', 'link-0');">googleapiclient</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">__version__</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-2', 'HttpError', 'link-2');">HttpError</a></tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable googleapiclient.model.dump_request_response=googleapiclient.model-module.html#dump_request_response"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-3', 'dump_request_response', 'link-3');">dump_request_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="_abstract"></a><div id="_abstract-def"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="_abstract-toggle" onclick="return toggle('_abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#_abstract">_abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_abstract-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_abstract-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'You need to override this function'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="Model"></a><div id="Model-def"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="Model-toggle" onclick="return toggle('Model');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html">Model</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Model-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model base class.</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  All Model classes should implement this interface.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  The Model serializes and de-serializes between a wire</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">  format such as JSON and a Python object representation.</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="Model.request"></a><div id="Model.request-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Model.request-toggle" onclick="return toggle('Model.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.request-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized in the desired wire format.</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt id="link-4" class="py-name" targets="Function googleapiclient.model._abstract()=googleapiclient.model-module.html#_abstract"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-4', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="Model.response"></a><div id="Model.response-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="Model.response-toggle" onclick="return toggle('Model.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Model.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.response-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-5', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel"></a><div id="BaseModel-def"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="BaseModel-toggle" onclick="return toggle('BaseModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html">BaseModel</a><tt class="py-op">(</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BaseModel-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base model class.</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses should provide implementations for the "serialize" and</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">  "deserialize" methods, as well as values for the following class attributes.</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    accept: The value to use for the HTTP Accept header.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    content_type: The value to use for the HTTP Content-type header.</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    no_content_response: The value to return when deserializing a 204 "No</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Content" response.</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">    alt_param: The value to supply as the "alt" query parameter for requests.</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">  <tt id="link-6" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-0', 'googleapiclient', 'link-0');">googleapiclient</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">__version__</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-2', 'HttpError', 'link-2');">HttpError</a></tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable googleapiclient.model.dump_request_response=googleapiclient.model-module.html#dump_request_response"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-3', 'dump_request_response', 'link-3');">dump_request_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="_abstract"></a><div id="_abstract-def"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="_abstract-toggle" onclick="return toggle('_abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#_abstract">_abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_abstract-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_abstract-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'You need to override this function'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="Model"></a><div id="Model-def"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="Model-toggle" onclick="return toggle('Model');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html">Model</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Model-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model base class.</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">  All Model classes should implement this interface.</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">  The Model serializes and de-serializes between a wire</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  format such as JSON and a Python object representation.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="Model.request"></a><div id="Model.request-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="Model.request-toggle" onclick="return toggle('Model.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.request-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized in the desired wire format.</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt id="link-4" class="py-name" targets="Function googleapiclient.model._abstract()=googleapiclient.model-module.html#_abstract"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-4', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="Model.response"></a><div id="Model.response-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="Model.response-toggle" onclick="return toggle('Model.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.response-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-5', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel"></a><div id="BaseModel-def"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="BaseModel-toggle" onclick="return toggle('BaseModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html">BaseModel</a><tt class="py-op">(</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BaseModel-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base model class.</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses should provide implementations for the "serialize" and</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">  "deserialize" methods, as well as values for the following class attributes.</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">    accept: The value to use for the HTTP Accept header.</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    content_type: The value to use for the HTTP Content-type header.</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    no_content_response: The value to return when deserializing a 204 "No</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        Content" response.</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    alt_param: The value to supply as the "alt" query parameter for requests.</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt id="link-6" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-6', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt id="link-7" class="py-name" targets="Variable googleapiclient.model.BaseModel.content_type=googleapiclient.model.BaseModel-class.html#content_type,Variable googleapiclient.model.JsonModel.content_type=googleapiclient.model.JsonModel-class.html#content_type,Variable googleapiclient.model.MediaModel.content_type=googleapiclient.model.MediaModel-class.html#content_type,Variable googleapiclient.model.ProtocolBufferModel.content_type=googleapiclient.model.ProtocolBufferModel-class.html#content_type,Variable googleapiclient.model.RawModel.content_type=googleapiclient.model.RawModel-class.html#content_type"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">  <tt id="link-7" class="py-name" targets="Variable googleapiclient.model.BaseModel.content_type=googleapiclient.model.BaseModel-class.html#content_type,Variable googleapiclient.model.JsonModel.content_type=googleapiclient.model.JsonModel-class.html#content_type,Variable googleapiclient.model.MediaModel.content_type=googleapiclient.model.MediaModel-class.html#content_type,Variable googleapiclient.model.ProtocolBufferModel.content_type=googleapiclient.model.ProtocolBufferModel-class.html#content_type,Variable googleapiclient.model.RawModel.content_type=googleapiclient.model.RawModel-class.html#content_type"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-7', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt id="link-8" class="py-name" targets="Variable googleapiclient.model.BaseModel.no_content_response=googleapiclient.model.BaseModel-class.html#no_content_response,Method googleapiclient.model.JsonModel.no_content_response()=googleapiclient.model.JsonModel-class.html#no_content_response,Method googleapiclient.model.MediaModel.no_content_response()=googleapiclient.model.MediaModel-class.html#no_content_response,Method googleapiclient.model.ProtocolBufferModel.no_content_response()=googleapiclient.model.ProtocolBufferModel-class.html#no_content_response,Method googleapiclient.model.RawModel.no_content_response()=googleapiclient.model.RawModel-class.html#no_content_response"><a title="googleapiclient.model.BaseModel.no_content_response
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">  <tt id="link-8" class="py-name" targets="Variable googleapiclient.model.BaseModel.no_content_response=googleapiclient.model.BaseModel-class.html#no_content_response,Method googleapiclient.model.JsonModel.no_content_response()=googleapiclient.model.JsonModel-class.html#no_content_response,Method googleapiclient.model.MediaModel.no_content_response()=googleapiclient.model.MediaModel-class.html#no_content_response,Method googleapiclient.model.ProtocolBufferModel.no_content_response()=googleapiclient.model.ProtocolBufferModel-class.html#no_content_response,Method googleapiclient.model.RawModel.no_content_response()=googleapiclient.model.RawModel-class.html#no_content_response"><a title="googleapiclient.model.BaseModel.no_content_response
 googleapiclient.model.JsonModel.no_content_response
 googleapiclient.model.MediaModel.no_content_response
 googleapiclient.model.ProtocolBufferModel.no_content_response
 googleapiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-8', 'no_content_response', 'link-8');">no_content_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt id="link-9" class="py-name" targets="Variable googleapiclient.model.BaseModel.alt_param=googleapiclient.model.BaseModel-class.html#alt_param,Variable googleapiclient.model.JsonModel.alt_param=googleapiclient.model.JsonModel-class.html#alt_param,Variable googleapiclient.model.MediaModel.alt_param=googleapiclient.model.MediaModel-class.html#alt_param,Variable googleapiclient.model.ProtocolBufferModel.alt_param=googleapiclient.model.ProtocolBufferModel-class.html#alt_param,Variable googleapiclient.model.RawModel.alt_param=googleapiclient.model.RawModel-class.html#alt_param"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt id="link-9" class="py-name" targets="Variable googleapiclient.model.BaseModel.alt_param=googleapiclient.model.BaseModel-class.html#alt_param,Variable googleapiclient.model.JsonModel.alt_param=googleapiclient.model.JsonModel-class.html#alt_param,Variable googleapiclient.model.MediaModel.alt_param=googleapiclient.model.MediaModel-class.html#alt_param,Variable googleapiclient.model.ProtocolBufferModel.alt_param=googleapiclient.model.ProtocolBufferModel-class.html#alt_param,Variable googleapiclient.model.RawModel.alt_param=googleapiclient.model.RawModel-class.html#alt_param"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-9', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._log_request"></a><div id="BaseModel._log_request-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="BaseModel._log_request-toggle" onclick="return toggle('BaseModel._log_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_request">_log_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._log_request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_request-expanded"><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the request if requested."""</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-10', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-start--'</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-start-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-end-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-start-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-end-'</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'body: %s'</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-11', 'body', 'link-11');">body</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'query: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-end--'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.request"></a><div id="BaseModel.request-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="BaseModel.request-toggle" onclick="return toggle('BaseModel.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.request-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable by json.</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized as JSON</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method googleapiclient.model.BaseModel._build_query()=googleapiclient.model.BaseModel-class.html#_build_query"><a title="googleapiclient.model.BaseModel._build_query" class="py-name" href="#" onclick="return doclink('link-12', '_build_query', 'link-12');">_build_query</a></tt><tt class="py-op">(</tt><tt class="py-name">query_params</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._log_request"></a><div id="BaseModel._log_request-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="BaseModel._log_request-toggle" onclick="return toggle('BaseModel._log_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_request">_log_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._log_request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_request-expanded"><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the request if requested."""</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-10', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-start--'</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-start-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-end-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-start-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-end-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'body: %s'</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-11', 'body', 'link-11');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'query: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-end--'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.request"></a><div id="BaseModel.request-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="BaseModel.request-toggle" onclick="return toggle('BaseModel.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.request-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable by json.</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized as JSON</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method googleapiclient.model.BaseModel._build_query()=googleapiclient.model.BaseModel-class.html#_build_query"><a title="googleapiclient.model.BaseModel._build_query" class="py-name" href="#" onclick="return doclink('link-12', '_build_query', 'link-12');">_build_query</a></tt><tt class="py-op">(</tt><tt class="py-name">query_params</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-13', 'accept', 'link-6');">accept</a></tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept-encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'gzip, deflate'</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">'google-api-python-client/%s (gzip)'</tt> <tt class="py-op">%</tt> <tt class="py-name">__version__</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept-encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'gzip, deflate'</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">'google-api-python-client/%s (gzip)'</tt> <tt class="py-op">%</tt> <tt class="py-name">__version__</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-14', 'content_type', 'link-7');">content_type</a></tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method googleapiclient.model.BaseModel.serialize()=googleapiclient.model.BaseModel-class.html#serialize,Method googleapiclient.model.JsonModel.serialize()=googleapiclient.model.JsonModel-class.html#serialize,Method googleapiclient.model.ProtocolBufferModel.serialize()=googleapiclient.model.ProtocolBufferModel-class.html#serialize"><a title="googleapiclient.model.BaseModel.serialize
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method googleapiclient.model.BaseModel.serialize()=googleapiclient.model.BaseModel-class.html#serialize,Method googleapiclient.model.JsonModel.serialize()=googleapiclient.model.JsonModel-class.html#serialize,Method googleapiclient.model.ProtocolBufferModel.serialize()=googleapiclient.model.ProtocolBufferModel-class.html#serialize"><a title="googleapiclient.model.BaseModel.serialize
 googleapiclient.model.JsonModel.serialize
 googleapiclient.model.ProtocolBufferModel.serialize" class="py-name" href="#" onclick="return doclink('link-15', 'serialize', 'link-15');">serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method googleapiclient.model.BaseModel._log_request()=googleapiclient.model.BaseModel-class.html#_log_request"><a title="googleapiclient.model.BaseModel._log_request" class="py-name" href="#" onclick="return doclink('link-16', '_log_request', 'link-16');">_log_request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._build_query"></a><div id="BaseModel._build_query-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="BaseModel._build_query-toggle" onclick="return toggle('BaseModel._build_query');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_build_query">_build_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._build_query-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._build_query-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-docstring">"""Builds a query string.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, the query parameters</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      The query parameters properly encoded into an HTTP URI query string.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method googleapiclient.model.BaseModel._log_request()=googleapiclient.model.BaseModel-class.html#_log_request"><a title="googleapiclient.model.BaseModel._log_request" class="py-name" href="#" onclick="return doclink('link-16', '_log_request', 'link-16');">_log_request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._build_query"></a><div id="BaseModel._build_query-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="BaseModel._build_query-toggle" onclick="return toggle('BaseModel._build_query');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_build_query">_build_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._build_query-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._build_query-expanded"><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-docstring">"""Builds a query string.</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, the query parameters</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">      The query parameters properly encoded into an HTTP URI query string.</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-17', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">      <tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-18', 'update', 'link-18');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'alt'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">      <tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-18', 'update', 'link-18');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'alt'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-19', 'alt_param', 'link-9');">alt_param</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">astuples</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">          <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">          <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-string">'encode'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">          <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">astuples</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel._log_response"></a><div id="BaseModel._log_response-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="BaseModel._log_response-toggle" onclick="return toggle('BaseModel._log_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_response">_log_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel._log_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_response-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the response if requested."""</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-20" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-20', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-start--'</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-end--'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.response"></a><div id="BaseModel.response-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="BaseModel.response-toggle" onclick="return toggle('BaseModel.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.response-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method googleapiclient.model.BaseModel._log_response()=googleapiclient.model.BaseModel-class.html#_log_response"><a title="googleapiclient.model.BaseModel._log_response" class="py-name" href="#" onclick="return doclink('link-21', '_log_response', 'link-21');">_log_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-comment"># Error handling is TBD, for example, do we retry</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-comment"># for some operation/error combinations?</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">204</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment"># A 204: No Content response should be treated differently</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-comment"># to all the other success states</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="googleapiclient.model.BaseModel.no_content_response
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-name">astuples</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">          <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">          <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">          <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">astuples</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._log_response"></a><div id="BaseModel._log_response-def"><a name="L173"></a><tt class="py-lineno">173</tt> <a class="py-toggle" href="#" id="BaseModel._log_response-toggle" onclick="return toggle('BaseModel._log_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_response">_log_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._log_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_response-expanded"><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the response if requested."""</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-20" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-20', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-start--'</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-end--'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.response"></a><div id="BaseModel.response-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="BaseModel.response-toggle" onclick="return toggle('BaseModel.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.response-expanded"><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method googleapiclient.model.BaseModel._log_response()=googleapiclient.model.BaseModel-class.html#_log_response"><a title="googleapiclient.model.BaseModel._log_response" class="py-name" href="#" onclick="return doclink('link-21', '_log_response', 'link-21');">_log_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-comment"># Error handling is TBD, for example, do we retry</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-comment"># for some operation/error combinations?</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">204</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-comment"># A 204: No Content response should be treated differently</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-comment"># to all the other success states</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="googleapiclient.model.BaseModel.no_content_response
 googleapiclient.model.JsonModel.no_content_response
 googleapiclient.model.MediaModel.no_content_response
 googleapiclient.model.ProtocolBufferModel.no_content_response
 googleapiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-22', 'no_content_response', 'link-8');">no_content_response</a></tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method googleapiclient.model.BaseModel.deserialize()=googleapiclient.model.BaseModel-class.html#deserialize,Method googleapiclient.model.JsonModel.deserialize()=googleapiclient.model.JsonModel-class.html#deserialize,Method googleapiclient.model.MediaModel.deserialize()=googleapiclient.model.MediaModel-class.html#deserialize,Method googleapiclient.model.ProtocolBufferModel.deserialize()=googleapiclient.model.ProtocolBufferModel-class.html#deserialize,Method googleapiclient.model.RawModel.deserialize()=googleapiclient.model.RawModel-class.html#deserialize"><a title="googleapiclient.model.BaseModel.deserialize
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method googleapiclient.model.BaseModel.deserialize()=googleapiclient.model.BaseModel-class.html#deserialize,Method googleapiclient.model.JsonModel.deserialize()=googleapiclient.model.JsonModel-class.html#deserialize,Method googleapiclient.model.MediaModel.deserialize()=googleapiclient.model.MediaModel-class.html#deserialize,Method googleapiclient.model.ProtocolBufferModel.deserialize()=googleapiclient.model.ProtocolBufferModel-class.html#deserialize,Method googleapiclient.model.RawModel.deserialize()=googleapiclient.model.RawModel-class.html#deserialize"><a title="googleapiclient.model.BaseModel.deserialize
 googleapiclient.model.JsonModel.deserialize
 googleapiclient.model.MediaModel.deserialize
 googleapiclient.model.ProtocolBufferModel.deserialize
 googleapiclient.model.RawModel.deserialize" class="py-name" href="#" onclick="return doclink('link-23', 'deserialize', 'link-23');">deserialize</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Content from bad request was: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-24" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-24', 'HttpError', 'link-2');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.serialize"></a><div id="BaseModel.serialize-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="BaseModel.serialize-toggle" onclick="return toggle('BaseModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.serialize-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual Python object serialization.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object.</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">      string, the body in serialized form.</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt id="link-25" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-25', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
-<a name="BaseModel.deserialize"></a><div id="BaseModel.deserialize-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="BaseModel.deserialize-toggle" onclick="return toggle('BaseModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="BaseModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.deserialize-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual deserialization from response string to Python</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">    object.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt id="link-26" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-26', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel"></a><div id="JsonModel-def"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="JsonModel-toggle" onclick="return toggle('JsonModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html">JsonModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonModel-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for JSON.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request and response bodies.</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">  <tt id="link-27" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Content from bad request was: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-24" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-24', 'HttpError', 'link-2');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.serialize"></a><div id="BaseModel.serialize-def"><a name="L209"></a><tt class="py-lineno">209</tt> <a class="py-toggle" href="#" id="BaseModel.serialize-toggle" onclick="return toggle('BaseModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.serialize-expanded"><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual Python object serialization.</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object.</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">      string, the body in serialized form.</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt id="link-25" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-25', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.deserialize"></a><div id="BaseModel.deserialize-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="BaseModel.deserialize-toggle" onclick="return toggle('BaseModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.deserialize-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual deserialization from response string to Python</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">    object.</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">    <tt id="link-26" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-26', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel"></a><div id="JsonModel-def"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="JsonModel-toggle" onclick="return toggle('JsonModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html">JsonModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonModel-expanded"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for JSON.</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request and response bodies.</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">  <tt id="link-27" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-27', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">  <tt id="link-28" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">  <tt id="link-28" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-28', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">  <tt id="link-29" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">  <tt id="link-29" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-29', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'json'</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.__init__"></a><div id="JsonModel.__init__-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="JsonModel.__init__-toggle" onclick="return toggle('JsonModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data_wrapper</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.__init__-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-docstring">"""Construct a JsonModel.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">      data_wrapper: boolean, wrap requests and responses in a data wrapper</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-op">=</tt> <tt class="py-name">data_wrapper</tt> </tt>
-</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.serialize"></a><div id="JsonModel.serialize-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="JsonModel.serialize-toggle" onclick="return toggle('JsonModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.serialize-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'data'</tt><tt class="py-op">:</tt> <tt class="py-name">body_value</tt><tt class="py-op">}</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
-<a name="JsonModel.deserialize"></a><div id="JsonModel.deserialize-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="JsonModel.deserialize-toggle" onclick="return toggle('JsonModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.deserialize-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt id="link-30" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-30', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-31', 'body', 'link-11');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">in</tt> <tt id="link-32" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-32', 'body', 'link-11');">body</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">      <tt id="link-33" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-33', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-34', 'body', 'link-11');">body</a></tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-35', 'body', 'link-11');">body</a></tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="JsonModel.no_content_response"></a><div id="JsonModel.no_content_response-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="JsonModel.no_content_response-toggle" onclick="return toggle('JsonModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="JsonModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.no_content_response-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div></div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
-<a name="RawModel"></a><div id="RawModel-def"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="RawModel-toggle" onclick="return toggle('RawModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html">RawModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RawModel-expanded"><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that don't return JSON.</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt id="link-36" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.__init__"></a><div id="JsonModel.__init__-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="JsonModel.__init__-toggle" onclick="return toggle('JsonModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data_wrapper</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.__init__-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-docstring">"""Construct a JsonModel.</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">      data_wrapper: boolean, wrap requests and responses in a data wrapper</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-op">=</tt> <tt class="py-name">data_wrapper</tt> </tt>
+</div><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.serialize"></a><div id="JsonModel.serialize-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="JsonModel.serialize-toggle" onclick="return toggle('JsonModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.serialize-expanded"><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'data'</tt><tt class="py-op">:</tt> <tt class="py-name">body_value</tt><tt class="py-op">}</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.deserialize"></a><div id="JsonModel.deserialize-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="JsonModel.deserialize-toggle" onclick="return toggle('JsonModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.deserialize-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt id="link-30" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-30', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-31', 'body', 'link-11');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">in</tt> <tt id="link-32" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-32', 'body', 'link-11');">body</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">      <tt id="link-33" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-33', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-34', 'body', 'link-11');">body</a></tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-35', 'body', 'link-11');">body</a></tt> </tt>
+</div><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="JsonModel.no_content_response"></a><div id="JsonModel.no_content_response-def"><a name="L265"></a><tt class="py-lineno">265</tt> <a class="py-toggle" href="#" id="JsonModel.no_content_response-toggle" onclick="return toggle('JsonModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.no_content_response-expanded"><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div></div><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"> </tt>
+<a name="RawModel"></a><div id="RawModel-def"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt> <a class="py-toggle" href="#" id="RawModel-toggle" onclick="return toggle('RawModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html">RawModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RawModel-expanded"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that don't return JSON.</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">  <tt id="link-36" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-36', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">  <tt id="link-37" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">  <tt id="link-37" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-37', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">  <tt id="link-38" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt id="link-38" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-38', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
-<a name="RawModel.deserialize"></a><div id="RawModel.deserialize-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="RawModel.deserialize-toggle" onclick="return toggle('RawModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.deserialize-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="RawModel.no_content_response"></a><div id="RawModel.no_content_response-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="RawModel.no_content_response-toggle" onclick="return toggle('RawModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RawModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.no_content_response-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div></div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
-<a name="MediaModel"></a><div id="MediaModel-def"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="MediaModel-toggle" onclick="return toggle('MediaModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html">MediaModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaModel-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that return Media.</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">  <tt id="link-39" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
+<a name="RawModel.deserialize"></a><div id="RawModel.deserialize-def"><a name="L280"></a><tt class="py-lineno">280</tt> <a class="py-toggle" href="#" id="RawModel.deserialize-toggle" onclick="return toggle('RawModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.deserialize-expanded"><a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="RawModel.no_content_response"></a><div id="RawModel.no_content_response-def"><a name="L284"></a><tt class="py-lineno">284</tt> <a class="py-toggle" href="#" id="RawModel.no_content_response-toggle" onclick="return toggle('RawModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.no_content_response-expanded"><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+</div></div><a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"> </tt>
+<a name="MediaModel"></a><div id="MediaModel-def"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="MediaModel-toggle" onclick="return toggle('MediaModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html">MediaModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaModel-expanded"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that return Media.</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">  <tt id="link-39" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-39', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">  <tt id="link-40" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">  <tt id="link-40" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-40', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">  <tt id="link-41" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">  <tt id="link-41" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-41', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'media'</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
-<a name="MediaModel.deserialize"></a><div id="MediaModel.deserialize-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="MediaModel.deserialize-toggle" onclick="return toggle('MediaModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.deserialize-expanded"><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
-</div><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="MediaModel.no_content_response"></a><div id="MediaModel.no_content_response-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="MediaModel.no_content_response-toggle" onclick="return toggle('MediaModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MediaModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.no_content_response-expanded"><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-</div></div><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel"></a><div id="ProtocolBufferModel-def"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel-toggle" onclick="return toggle('ProtocolBufferModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProtocolBufferModel-expanded"><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for protocol buffers.</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes the binary protocol buffer sent in the HTTP</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  request and response bodies.</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">  <tt id="link-42" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
+<a name="MediaModel.deserialize"></a><div id="MediaModel.deserialize-def"><a name="L299"></a><tt class="py-lineno">299</tt> <a class="py-toggle" href="#" id="MediaModel.deserialize-toggle" onclick="return toggle('MediaModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.deserialize-expanded"><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="MediaModel.no_content_response"></a><div id="MediaModel.no_content_response-def"><a name="L303"></a><tt class="py-lineno">303</tt> <a class="py-toggle" href="#" id="MediaModel.no_content_response-toggle" onclick="return toggle('MediaModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.no_content_response-expanded"><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+</div></div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel"></a><div id="ProtocolBufferModel-def"><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel-toggle" onclick="return toggle('ProtocolBufferModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProtocolBufferModel-expanded"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for protocol buffers.</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes the binary protocol buffer sent in the HTTP</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring">  request and response bodies.</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">  <tt id="link-42" class="py-name"><a title="googleapiclient.model.BaseModel.accept
 googleapiclient.model.JsonModel.accept
 googleapiclient.model.MediaModel.accept
 googleapiclient.model.ProtocolBufferModel.accept
 googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-42', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">  <tt id="link-43" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">  <tt id="link-43" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
 googleapiclient.model.JsonModel.content_type
 googleapiclient.model.MediaModel.content_type
 googleapiclient.model.ProtocolBufferModel.content_type
 googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-43', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">  <tt id="link-44" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">  <tt id="link-44" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
 googleapiclient.model.JsonModel.alt_param
 googleapiclient.model.MediaModel.alt_param
 googleapiclient.model.ProtocolBufferModel.alt_param
 googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-44', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'proto'</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.__init__"></a><div id="ProtocolBufferModel.__init__-def"><a name="L319"></a><tt class="py-lineno">319</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.__init__-toggle" onclick="return toggle('ProtocolBufferModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">protocol_buffer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.__init__-expanded"><a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructs a ProtocolBufferModel.</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">    The serialzed protocol buffer returned in an HTTP response will be</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">    de-serialized using the given protocol buffer class.</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">      protocol_buffer: The protocol buffer class used to de-serialize a</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">      response from the API.</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">protocol_buffer</tt> </tt>
-</div><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.serialize"></a><div id="ProtocolBufferModel.serialize-def"><a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.serialize-toggle" onclick="return toggle('ProtocolBufferModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.serialize-expanded"><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">body_value</tt><tt class="py-op">.</tt><tt class="py-name">SerializeToString</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
-<a name="ProtocolBufferModel.deserialize"></a><div id="ProtocolBufferModel.deserialize-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.deserialize-toggle" onclick="return toggle('ProtocolBufferModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.deserialize-expanded"><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">.</tt><tt class="py-name">FromString</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
-<a name="ProtocolBufferModel.no_content_response"></a><div id="ProtocolBufferModel.no_content_response-def"><a name="L338"></a><tt class="py-lineno">338</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.no_content_response-toggle" onclick="return toggle('ProtocolBufferModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ProtocolBufferModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.no_content_response-expanded"><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
-<a name="makepatch"></a><div id="makepatch-def"><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="makepatch-toggle" onclick="return toggle('makepatch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#makepatch">makepatch</a><tt class="py-op">(</tt><tt class="py-param">original</tt><tt class="py-op">,</tt> <tt class="py-param">modified</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="makepatch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="makepatch-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a patch object.</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">  Some methods support PATCH, an efficient way to send updates to a resource.</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">  This method allows the easy construction of patch bodies by looking at the</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">  differences between a resource before and after it was modified.</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">    original: object, the original deserialized resource</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    modified: object, the modified deserialized resource</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">    An object that contains only the changes from original to modified, in a</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring">    form suitable to pass to a PATCH method.</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">  Example usage:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">    item = service.activities().get(postid=postid, userid=userid).execute()</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">    original = copy.deepcopy(item)</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">    item['object']['content'] = 'This is updated.'</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">    service.activities.patch(postid=postid, userid=userid,</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">      body=makepatch(original, item)).execute()</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">  <tt class="py-name">patch</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">original_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">    <tt class="py-name">modified_value</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-45', 'get', 'link-45');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">modified_value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">      <tt class="py-comment"># Use None to signal that the element is deleted</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">original_value</tt> <tt class="py-op">!=</tt> <tt class="py-name">modified_value</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-comment"># Recursively descend objects</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name" targets="Function googleapiclient.model.makepatch()=googleapiclient.model-module.html#makepatch"><a title="googleapiclient.model.makepatch" class="py-name" href="#" onclick="return doclink('link-46', 'makepatch', 'link-46');">makepatch</a></tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">,</tt> <tt class="py-name">modified_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-comment"># In the case of simple types or arrays we just replace</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified_value</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">      <tt class="py-comment"># Don't add anything to patch if there's no change</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">modified</tt><tt class="py-op">:</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">:</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">patch</tt> </tt>
-</div><a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.__init__"></a><div id="ProtocolBufferModel.__init__-def"><a name="L317"></a><tt class="py-lineno">317</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.__init__-toggle" onclick="return toggle('ProtocolBufferModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">protocol_buffer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.__init__-expanded"><a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructs a ProtocolBufferModel.</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-docstring">    The serialzed protocol buffer returned in an HTTP response will be</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring">    de-serialized using the given protocol buffer class.</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring">      protocol_buffer: The protocol buffer class used to de-serialize a</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">      response from the API.</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">protocol_buffer</tt> </tt>
+</div><a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.serialize"></a><div id="ProtocolBufferModel.serialize-def"><a name="L329"></a><tt class="py-lineno">329</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.serialize-toggle" onclick="return toggle('ProtocolBufferModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.serialize-expanded"><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">body_value</tt><tt class="py-op">.</tt><tt class="py-name">SerializeToString</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.deserialize"></a><div id="ProtocolBufferModel.deserialize-def"><a name="L332"></a><tt class="py-lineno">332</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.deserialize-toggle" onclick="return toggle('ProtocolBufferModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.deserialize-expanded"><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">.</tt><tt class="py-name">FromString</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="ProtocolBufferModel.no_content_response"></a><div id="ProtocolBufferModel.no_content_response-def"><a name="L336"></a><tt class="py-lineno">336</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.no_content_response-toggle" onclick="return toggle('ProtocolBufferModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.no_content_response-expanded"><a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
+<a name="makepatch"></a><div id="makepatch-def"><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt> <a class="py-toggle" href="#" id="makepatch-toggle" onclick="return toggle('makepatch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#makepatch">makepatch</a><tt class="py-op">(</tt><tt class="py-param">original</tt><tt class="py-op">,</tt> <tt class="py-param">modified</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="makepatch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="makepatch-expanded"><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a patch object.</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-docstring">  Some methods support PATCH, an efficient way to send updates to a resource.</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">  This method allows the easy construction of patch bodies by looking at the</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">  differences between a resource before and after it was modified.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">    original: object, the original deserialized resource</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">    modified: object, the modified deserialized resource</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    An object that contains only the changes from original to modified, in a</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">    form suitable to pass to a PATCH method.</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring">  Example usage:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-docstring">    item = service.activities().get(postid=postid, userid=userid).execute()</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">    original = copy.deepcopy(item)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">    item['object']['content'] = 'This is updated.'</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">    service.activities.patch(postid=postid, userid=userid,</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">      body=makepatch(original, item)).execute()</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">  <tt class="py-name">patch</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">original_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">    <tt class="py-name">modified_value</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-45', 'get', 'link-45');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">modified_value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">      <tt class="py-comment"># Use None to signal that the element is deleted</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">original_value</tt> <tt class="py-op">!=</tt> <tt class="py-name">modified_value</tt><tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-comment"># Recursively descend objects</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name" targets="Function googleapiclient.model.makepatch()=googleapiclient.model-module.html#makepatch"><a title="googleapiclient.model.makepatch" class="py-name" href="#" onclick="return doclink('link-46', 'makepatch', 'link-46');">makepatch</a></tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">,</tt> <tt class="py-name">modified_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-comment"># In the case of simple types or arrays we just replace</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified_value</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">      <tt class="py-comment"># Don't add anything to patch if there's no change</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">modified</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">patch</tt> </tt>
+</div><a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -562,7 +560,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.BaseModel-class.html b/docs/epy/googleapiclient.model.BaseModel-class.html
index 6568783..0cc84f0 100644
--- a/docs/epy/googleapiclient.model.BaseModel-class.html
+++ b/docs/epy/googleapiclient.model.BaseModel-class.html
@@ -545,7 +545,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.JsonModel-class.html b/docs/epy/googleapiclient.model.JsonModel-class.html
index 73c916e..1a4a9a5 100644
--- a/docs/epy/googleapiclient.model.JsonModel-class.html
+++ b/docs/epy/googleapiclient.model.JsonModel-class.html
@@ -432,7 +432,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.MediaModel-class.html b/docs/epy/googleapiclient.model.MediaModel-class.html
index cce26f9..a831c15 100644
--- a/docs/epy/googleapiclient.model.MediaModel-class.html
+++ b/docs/epy/googleapiclient.model.MediaModel-class.html
@@ -339,7 +339,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.Model-class.html b/docs/epy/googleapiclient.model.Model-class.html
index ee9df0d..b1068ae 100644
--- a/docs/epy/googleapiclient.model.Model-class.html
+++ b/docs/epy/googleapiclient.model.Model-class.html
@@ -297,7 +297,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html b/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html
index 5a9ff32..0ecef2f 100644
--- a/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html
+++ b/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html
@@ -436,7 +436,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:42 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.model.RawModel-class.html b/docs/epy/googleapiclient.model.RawModel-class.html
index 697b5a1..cb1c8fa 100644
--- a/docs/epy/googleapiclient.model.RawModel-class.html
+++ b/docs/epy/googleapiclient.model.RawModel-class.html
@@ -339,7 +339,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.sample_tools-module.html b/docs/epy/googleapiclient.sample_tools-module.html
index c0fe846..a2613c8 100644
--- a/docs/epy/googleapiclient.sample_tools-module.html
+++ b/docs/epy/googleapiclient.sample_tools-module.html
@@ -204,7 +204,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.sample_tools-pysrc.html b/docs/epy/googleapiclient.sample_tools-pysrc.html
index fc13acb..b0ed862 100644
--- a/docs/epy/googleapiclient.sample_tools-pysrc.html
+++ b/docs/epy/googleapiclient.sample_tools-pysrc.html
@@ -191,7 +191,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.schema-module.html b/docs/epy/googleapiclient.schema-module.html
index 008e8de..e0ffaee 100644
--- a/docs/epy/googleapiclient.schema-module.html
+++ b/docs/epy/googleapiclient.schema-module.html
@@ -167,7 +167,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.schema-pysrc.html b/docs/epy/googleapiclient.schema-pysrc.html
index 4a5cfbc..dc41e43 100644
--- a/docs/epy/googleapiclient.schema-pysrc.html
+++ b/docs/epy/googleapiclient.schema-pysrc.html
@@ -400,7 +400,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.schema.Schemas-class.html b/docs/epy/googleapiclient.schema.Schemas-class.html
index 7327f15..76beb1b 100644
--- a/docs/epy/googleapiclient.schema.Schemas-class.html
+++ b/docs/epy/googleapiclient.schema.Schemas-class.html
@@ -485,7 +485,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/googleapiclient.schema._SchemaToStruct-class.html b/docs/epy/googleapiclient.schema._SchemaToStruct-class.html
index 75f40c8..9fcf4fc 100644
--- a/docs/epy/googleapiclient.schema._SchemaToStruct-class.html
+++ b/docs/epy/googleapiclient.schema._SchemaToStruct-class.html
@@ -509,7 +509,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:20 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:43 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/help.html b/docs/epy/help.html
index d75f3cd..94a201f 100644
--- a/docs/epy/help.html
+++ b/docs/epy/help.html
@@ -246,7 +246,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/identifier-index.html b/docs/epy/identifier-index.html
index f52f7ca..a51892c 100644
--- a/docs/epy/identifier-index.html
+++ b/docs/epy/identifier-index.html
@@ -847,7 +847,8 @@
 <span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
 <td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters()</a><br />
 <span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_urljoin">_urljoin()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
 </tr>
 </table>
 </td></tr>
@@ -878,7 +879,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/module-tree.html b/docs/epy/module-tree.html
index 04b81a9..7401bdb 100644
--- a/docs/epy/module-tree.html
+++ b/docs/epy/module-tree.html
@@ -94,7 +94,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Oct 15 10:24:19 2014
+    Generated by Epydoc 3.0.1 on Mon Mar  2 13:38:41 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/docs/epy/toc-everything.html b/docs/epy/toc-everything.html
index 4db623c..76b70e6 100644
--- a/docs/epy/toc-everything.html
+++ b/docs/epy/toc-everything.html
@@ -85,6 +85,9 @@
   <div class="private">
     <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_size_to_long"
      >googleapiclient.discovery._media_size_to_long</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_urljoin"
+     >googleapiclient.discovery._urljoin</a><br />  </div>
     <a target="mainFrame" href="googleapiclient.discovery-module.html#build"
      >googleapiclient.discovery.build</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#build_from_document"
      >googleapiclient.discovery.build_from_document</a><br />  <div class="private">
diff --git a/docs/epy/toc-googleapiclient.discovery-module.html b/docs/epy/toc-googleapiclient.discovery-module.html
index a0e4dba..1bb99f5 100644
--- a/docs/epy/toc-googleapiclient.discovery-module.html
+++ b/docs/epy/toc-googleapiclient.discovery-module.html
@@ -38,6 +38,9 @@
   <div class="private">
     <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_size_to_long"
      >_media_size_to_long</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_urljoin"
+     >_urljoin</a><br />  </div>
     <a target="mainFrame" href="googleapiclient.discovery-module.html#build"
      >build</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#build_from_document"
      >build_from_document</a><br />  <div class="private">