Updated docs.
diff --git a/docs/dyn/calendar_v3.acl.html b/docs/dyn/calendar_v3.acl.html
new file mode 100644
index 0000000..6ffffe3
--- /dev/null
+++ b/docs/dyn/calendar_v3.acl.html
@@ -0,0 +1,413 @@
+<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="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.acl.html">acl</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(calendarId, ruleId)</a></code></p>
+<p class="firstline">Deletes an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#get">get(calendarId, ruleId)</a></code></p>
+<p class="firstline">Returns an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(calendarId, body)</a></code></p>
+<p class="firstline">Creates an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#list">list(calendarId, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</a></code></p>
+<p class="firstline">Returns the rules in the access control list for the calendar.</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(calendarId, ruleId, body)</a></code></p>
+<p class="firstline">Updates an access control rule. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(calendarId, ruleId, body)</a></code></p>
+<p class="firstline">Updates an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(calendarId, body, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</a></code></p>
+<p class="firstline">Watch for changes to ACL resources.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(calendarId, ruleId)</code>
+  <pre>Deletes an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(calendarId, ruleId)</code>
+  <pre>Returns an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(calendarId, body)</code>
+  <pre>Creates an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(calendarId, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</code>
+  <pre>Returns the rules in the access control list for the calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call to this method. It makes the result of this call contain only entries that have changed since the last call, including entries that have been removed in the meantime (they will have the 'role' set to 'none'). Optional. The default is to return to all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
+    "items": [ # List of rules on the access control list.
+      {
+          "scope": { # The scope of the rule.
+            "type": "A String", # The type of the scope. Possible values are:
+                # - "default" - The public scope. This is the default value.
+                # - "user" - Limits the scope to a single user.
+                # - "group" - Limits the scope to a group.
+                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+          },
+          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+          "etag": "A String", # ETag of the resource.
+          "role": "A String", # The role assigned to the scope. Possible values are:
+              # - "none" - Provides no access.
+              # - "freeBusyReader" - Provides read access to free/busy information.
+              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+          "id": "A String", # Identifier of the ACL rule.
+        },
+    ],
+    "kind": "calendar#acl", # Type of the collection ("calendar#acl").
+    "etag": "A String", # ETag of the collection.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned.
+  }</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(calendarId, ruleId, body)</code>
+  <pre>Updates an access control rule. This method supports patch semantics.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(calendarId, ruleId, body)</code>
+  <pre>Updates an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watch">watch(calendarId, body, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</code>
+  <pre>Watch for changes to ACL resources.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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.
+  }
+
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call to this method. It makes the result of this call contain only entries that have changed since the last call, including entries that have been removed in the meantime (they will have the 'role' set to 'none'). Optional. The default is to return to all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "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.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file