chore: regens API reference docs (#889)

diff --git a/docs/dyn/remotebuildexecution_v2.blobs.html b/docs/dyn/remotebuildexecution_v2.blobs.html
index bf048d0..43959e3 100644
--- a/docs/dyn/remotebuildexecution_v2.blobs.html
+++ b/docs/dyn/remotebuildexecution_v2.blobs.html
@@ -75,13 +75,13 @@
 <h1><a href="remotebuildexecution_v2.html">Remote Build Execution API</a> . <a href="remotebuildexecution_v2.blobs.html">blobs</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#batchRead">batchRead(instanceName, body, x__xgafv=None)</a></code></p>
+  <code><a href="#batchRead">batchRead(instanceName, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Download many blobs at once.</p>
 <p class="toc_element">
-  <code><a href="#batchUpdate">batchUpdate(instanceName, body, x__xgafv=None)</a></code></p>
+  <code><a href="#batchUpdate">batchUpdate(instanceName, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Upload many blobs at once.</p>
 <p class="toc_element">
-  <code><a href="#findMissing">findMissing(instanceName, body, x__xgafv=None)</a></code></p>
+  <code><a href="#findMissing">findMissing(instanceName, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Determine if blobs are present in the CAS.</p>
 <p class="toc_element">
   <code><a href="#getTree">getTree(instanceName, hash, sizeBytes, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
@@ -91,7 +91,7 @@
 <p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="batchRead">batchRead(instanceName, body, x__xgafv=None)</code>
+    <code class="details" id="batchRead">batchRead(instanceName, body=None, x__xgafv=None)</code>
   <pre>Download many blobs at once.
 
 The server may enforce a limit of the combined total size of blobs
@@ -119,15 +119,14 @@
 storage, caches, etc.). The server MAY require use of this field to select
 between them in an implementation-defined fashion, otherwise it can be
 omitted. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A request message for
       # ContentAddressableStorage.BatchReadBlobs.
     "digests": [ # The individual blob digests.
       { # A content digest. A digest for a given blob consists of the size of the blob
-          # and its hash. The hash algorithm to use is defined by the server, but servers
-          # SHOULD use SHA-256.
+          # and its hash. The hash algorithm to use is defined by the server.
           #
           # The size is considered to be an integral part of the digest and cannot be
           # separated. That is, even if the `hash` field is correctly specified but
@@ -196,8 +195,7 @@
         },
         "data": "A String", # The raw binary data.
         "digest": { # A content digest. A digest for a given blob consists of the size of the blob # The digest to which this response corresponds.
-            # and its hash. The hash algorithm to use is defined by the server, but servers
-            # SHOULD use SHA-256.
+            # and its hash. The hash algorithm to use is defined by the server.
             #
             # The size is considered to be an integral part of the digest and cannot be
             # separated. That is, even if the `hash` field is correctly specified but
@@ -237,7 +235,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="batchUpdate">batchUpdate(instanceName, body, x__xgafv=None)</code>
+    <code class="details" id="batchUpdate">batchUpdate(instanceName, body=None, x__xgafv=None)</code>
   <pre>Upload many blobs at once.
 
 The server may enforce a limit of the combined total size of blobs
@@ -269,7 +267,7 @@
 storage, caches, etc.). The server MAY require use of this field to select
 between them in an implementation-defined fashion, otherwise it can be
 omitted. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A request message for
@@ -278,8 +276,7 @@
       { # A request corresponding to a single blob that the client wants to upload.
         "data": "A String", # The raw binary data.
         "digest": { # A content digest. A digest for a given blob consists of the size of the blob # The digest of the blob. This MUST be the digest of `data`.
-            # and its hash. The hash algorithm to use is defined by the server, but servers
-            # SHOULD use SHA-256.
+            # and its hash. The hash algorithm to use is defined by the server.
             #
             # The size is considered to be an integral part of the digest and cannot be
             # separated. That is, even if the `hash` field is correctly specified but
@@ -348,8 +345,7 @@
           ],
         },
         "digest": { # A content digest. A digest for a given blob consists of the size of the blob # The blob digest to which this response corresponds.
-            # and its hash. The hash algorithm to use is defined by the server, but servers
-            # SHOULD use SHA-256.
+            # and its hash. The hash algorithm to use is defined by the server.
             #
             # The size is considered to be an integral part of the digest and cannot be
             # separated. That is, even if the `hash` field is correctly specified but
@@ -389,12 +385,15 @@
 </div>
 
 <div class="method">
-    <code class="details" id="findMissing">findMissing(instanceName, body, x__xgafv=None)</code>
+    <code class="details" id="findMissing">findMissing(instanceName, body=None, x__xgafv=None)</code>
   <pre>Determine if blobs are present in the CAS.
 
 Clients can use this API before uploading blobs to determine which ones are
 already present in the CAS and do not need to be uploaded again.
 
+Servers SHOULD increase the TTLs of the referenced blobs if necessary and
+applicable.
+
 There are no method-specific errors.
 
 Args:
@@ -403,15 +402,14 @@
 storage, caches, etc.). The server MAY require use of this field to select
 between them in an implementation-defined fashion, otherwise it can be
 omitted. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A request message for
       # ContentAddressableStorage.FindMissingBlobs.
     "blobDigests": [ # A list of the blobs to check.
       { # A content digest. A digest for a given blob consists of the size of the blob
-          # and its hash. The hash algorithm to use is defined by the server, but servers
-          # SHOULD use SHA-256.
+          # and its hash. The hash algorithm to use is defined by the server.
           #
           # The size is considered to be an integral part of the digest and cannot be
           # separated. That is, even if the `hash` field is correctly specified but
@@ -460,8 +458,7 @@
       # ContentAddressableStorage.FindMissingBlobs.
     "missingBlobDigests": [ # A list of the blobs requested *not* present in the storage.
       { # A content digest. A digest for a given blob consists of the size of the blob
-          # and its hash. The hash algorithm to use is defined by the server, but servers
-          # SHOULD use SHA-256.
+          # and its hash. The hash algorithm to use is defined by the server.
           #
           # The size is considered to be an integral part of the digest and cannot be
           # separated. That is, even if the `hash` field is correctly specified but
@@ -521,6 +518,8 @@
 If part of the tree is missing from the CAS, the server will return the
 portion present and omit the rest.
 
+Errors:
+
 * `NOT_FOUND`: The requested tree root is not present in the CAS.
 
 Args:
@@ -538,7 +537,8 @@
 require the client to retrieve more items using a subsequent request.
   pageToken: string, A page token, which must be a value received in a previous
 GetTreeResponse.
-If present, the server will use it to return the following page of results.
+If present, the server will use that token as an offset, returning only
+that page and the ones that succeed it.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -577,6 +577,9 @@
           # * The files, directories and symlinks in the directory must each be sorted
           #   in lexicographical order by path. The path strings must be sorted by code
           #   point, equivalently, by UTF-8 bytes.
+          # * The NodeProperties of files,
+          #   directories, and symlinks must be sorted in lexicographical order by
+          #   property name.
           #
           # A `Directory` that obeys the restrictions is said to be in canonical form.
           #
@@ -593,7 +596,13 @@
           #       digest: {
           #         hash: "4a73bc9d03...",
           #         size: 65534
-          #       }
+          #       },
+          #       node_properties: [
+          #         {
+          #           "name": "MTime",
+          #           "value": "2017-01-15T01:30:15.01Z"
+          #         }
+          #       ]
           #     }
           #   ],
           #   directories: [
@@ -621,24 +630,21 @@
           #   ]
           # }
           # ```
-        "symlinks": [ # The symlinks in the directory.
-          { # A `SymlinkNode` represents a symbolic link.
-            "name": "A String", # The name of the symlink.
-            "target": "A String", # The target path of the symlink. The path separator is a forward slash `/`.
-                # The target path can be relative to the parent directory of the symlink or
-                # it can be an absolute path starting with `/`. Support for absolute paths
-                # can be checked using the Capabilities
-                # API. The canonical form forbids the substrings `/./` and `//` in the target
-                # path. `..` components are allowed anywhere in the target path.
-          },
-        ],
         "files": [ # The files in the directory.
           { # A `FileNode` represents a single file and associated metadata.
             "isExecutable": True or False, # True if file is executable, false otherwise.
-            "name": "A String", # The name of the file.
+            "nodeProperties": [ # The node properties of the FileNode.
+              { # A single property for FileNodes,
+                  # DirectoryNodes, and
+                  # SymlinkNodes. The server is
+                  # responsible for specifying the property `name`s that it accepts. If
+                  # permitted by the server, the same `name` may occur multiple times.
+                "name": "A String", # The property name.
+                "value": "A String", # The property value.
+              },
+            ],
             "digest": { # A content digest. A digest for a given blob consists of the size of the blob # The digest of the file's content.
-                # and its hash. The hash algorithm to use is defined by the server, but servers
-                # SHOULD use SHA-256.
+                # and its hash. The hash algorithm to use is defined by the server.
                 #
                 # The size is considered to be an integral part of the digest and cannot be
                 # separated. That is, even if the `hash` field is correctly specified but
@@ -672,6 +678,28 @@
               "hash": "A String", # The hash. In the case of SHA-256, it will always be a lowercase hex string
                   # exactly 64 characters long.
             },
+            "name": "A String", # The name of the file.
+          },
+        ],
+        "symlinks": [ # The symlinks in the directory.
+          { # A `SymlinkNode` represents a symbolic link.
+            "target": "A String", # The target path of the symlink. The path separator is a forward slash `/`.
+                # The target path can be relative to the parent directory of the symlink or
+                # it can be an absolute path starting with `/`. Support for absolute paths
+                # can be checked using the Capabilities
+                # API. The canonical form forbids the substrings `/./` and `//` in the target
+                # path. `..` components are allowed anywhere in the target path.
+            "nodeProperties": [ # The node properties of the SymlinkNode.
+              { # A single property for FileNodes,
+                  # DirectoryNodes, and
+                  # SymlinkNodes. The server is
+                  # responsible for specifying the property `name`s that it accepts. If
+                  # permitted by the server, the same `name` may occur multiple times.
+                "name": "A String", # The property name.
+                "value": "A String", # The property value.
+              },
+            ],
+            "name": "A String", # The name of the symlink.
           },
         ],
         "directories": [ # The subdirectories in the directory.
@@ -683,8 +711,7 @@
                 # Directory object
                 # represented. See Digest
                 # for information about how to take the digest of a proto message.
-                # and its hash. The hash algorithm to use is defined by the server, but servers
-                # SHOULD use SHA-256.
+                # and its hash. The hash algorithm to use is defined by the server.
                 #
                 # The size is considered to be an integral part of the digest and cannot be
                 # separated. That is, even if the `hash` field is correctly specified but
@@ -720,6 +747,16 @@
             },
           },
         ],
+        "nodeProperties": [ # The node properties of the Directory.
+          { # A single property for FileNodes,
+              # DirectoryNodes, and
+              # SymlinkNodes. The server is
+              # responsible for specifying the property `name`s that it accepts. If
+              # permitted by the server, the same `name` may occur multiple times.
+            "name": "A String", # The property name.
+            "value": "A String", # The property value.
+          },
+        ],
       },
     ],
   }</pre>