docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html
index 4b64b77..d41003f 100644
--- a/docs/dyn/firestore_v1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1.projects.databases.documents.html
@@ -84,16 +84,16 @@
   <code><a href="#commit">commit(database, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Commits a transaction, while optionally updating documents.</p>
 <p class="toc_element">
-  <code><a href="#createDocument">createDocument(parent, collectionId, body=None, mask_fieldPaths=None, x__xgafv=None, documentId=None)</a></code></p>
+  <code><a href="#createDocument">createDocument(parent, collectionId, body=None, mask_fieldPaths=None, documentId=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new document.</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)</a></code></p>
+  <code><a href="#delete">delete(name, currentDocument_updateTime=None, currentDocument_exists=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a document.</p>
 <p class="toc_element">
-  <code><a href="#get">get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)</a></code></p>
+  <code><a href="#get">get(name, transaction=None, mask_fieldPaths=None, readTime=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a single document.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, collectionId, orderBy=None, showMissing=None, pageSize=None, mask_fieldPaths=None, x__xgafv=None, pageToken=None, readTime=None, transaction=None)</a></code></p>
+  <code><a href="#list">list(parent, collectionId, mask_fieldPaths=None, pageToken=None, pageSize=None, transaction=None, orderBy=None, readTime=None, showMissing=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists documents.</p>
 <p class="toc_element">
   <code><a href="#listCollectionIds">listCollectionIds(parent, body=None, x__xgafv=None)</a></code></p>
@@ -108,7 +108,7 @@
   <code><a href="#listen">listen(database, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Listens to changes.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(name, body=None, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None, currentDocument_updateTime=None, currentDocument_exists=None)</a></code></p>
+  <code><a href="#patch">patch(name, body=None, currentDocument_updateTime=None, currentDocument_exists=None, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates or inserts a document.</p>
 <p class="toc_element">
   <code><a href="#rollback">rollback(database, body=None, x__xgafv=None)</a></code></p>
@@ -134,20 +134,27 @@
     The object takes the form of:
 
 { # The request for Firestore.BatchGetDocuments.
-    "newTransaction": { # Options for creating a new transaction. # Starts a new transaction and reads the documents.
+    &quot;documents&quot;: [ # The names of the documents to retrieve. In the format:
+        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        # The request will fail if any of the document is not a child resource of the
+        # given `database`. Duplicate names will be elided.
+      &quot;A String&quot;,
+    ],
+    &quot;readTime&quot;: &quot;A String&quot;, # Reads documents as they were at the given time.
+        # This may not be older than 270 seconds.
+    &quot;newTransaction&quot;: { # Options for creating a new transaction. # Starts a new transaction and reads the documents.
         # Defaults to a read-only transaction.
         # The new transaction ID will be returned as the first response in the
         # stream.
-      "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
-        "retryTransaction": "A String", # An optional transaction to retry.
-      },
-      "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
-        "readTime": "A String", # Reads documents at the given time.
+      &quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
+        &quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
             # This may not be older than 60 seconds.
       },
+      &quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
+        &quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
+      },
     },
-    "transaction": "A String", # Reads documents in a transaction.
-    "mask": { # A set of field paths on a document. # The fields to return. If not set, returns all fields.
+    &quot;mask&quot;: { # A set of field paths on a document. # The fields to return. If not set, returns all fields.
         # 
         # If a document has a field that is not present in this mask, that field will
         # not be returned in the response.
@@ -155,19 +162,12 @@
         # fields.
         # This is different from standard field masks, as this is always scoped to a
         # Document, and takes in account the dynamic nature of Value.
-      "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field
+      &quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
           # path syntax reference.
-        "A String",
+        &quot;A String&quot;,
       ],
     },
-    "documents": [ # The names of the documents to retrieve. In the format:
-        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-        # The request will fail if any of the document is not a child resource of the
-        # given `database`. Duplicate names will be elided.
-      "A String",
-    ],
-    "readTime": "A String", # Reads documents as they were at the given time.
-        # This may not be older than 270 seconds.
+    &quot;transaction&quot;: &quot;A String&quot;, # Reads documents in a transaction.
   }
 
   x__xgafv: string, V1 error format.
@@ -179,10 +179,21 @@
   An object of the form:
 
     { # The streamed response for Firestore.BatchGetDocuments.
-    "found": { # A Firestore document. # A document that was requested.
+    &quot;readTime&quot;: &quot;A String&quot;, # The time at which the document was read.
+        # This may be monotically increasing, in this case the previous documents in
+        # the result stream are guaranteed not to have changed between their
+        # read_time and this one.
+    &quot;found&quot;: { # A Firestore document. # A document that was requested.
         #
         # Must not exceed 1 MiB - 4 bytes.
-      "fields": { # The document's fields.
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+          #
+          # This value increases monotonically when a document is deleted then
+          # recreated. It can also be compared to values from other documents and
+          # the `read_time` of a query.
+      &quot;fields&quot;: { # The document&#x27;s fields.
           #
           # The map keys represent field names.
           #
@@ -199,83 +210,72 @@
           # defined here. For `map_value`, the field path is represented by the simple
           # or quoted field names of the containing fields, delimited by `.`. For
           # example, the structured field
-          # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+          # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
           # represented by the field path `foo.x&amp;y`.
           #
           # Within a field path, a quoted field name starts and ends with `` ` `` and
           # may contain any character. Some characters, including `` ` ``, must be
           # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
           # `` `bak\`tik` `` represents `` bak`tik ``.
-        "a_key": { # A message that can hold any of the supported value types.
-          "bytesValue": "A String", # A bytes value.
-              #
-              # Must not exceed 1 MiB - 89 bytes.
-              # Only the first 1,500 bytes are considered by queries.
-          "timestampValue": "A String", # A timestamp value.
-              #
-              # Precise only to microseconds. When stored, any additional precision is
-              # rounded down.
-          "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "referenceValue": "A String", # A reference to a document. For example:
-              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-          "doubleValue": 3.14, # A double value.
-          "mapValue": { # A map value. # A map value.
-            "fields": { # The map's fields.
+        &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+          &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+          &quot;booleanValue&quot;: True or False, # A boolean value.
+          &quot;mapValue&quot;: { # A map value. # A map value.
+            &quot;fields&quot;: { # The map&#x27;s fields.
                 #
                 # The map keys represent field names. Field names matching the regular
                 # expression `__.*__` are reserved. Reserved field names are forbidden except
                 # in certain documented contexts. The map keys, represented as UTF-8, must
                 # not exceed 1,500 bytes and cannot be empty.
-              "a_key": # Object with schema name: Value
+              &quot;a_key&quot;: # Object with schema name: Value
             },
           },
-          "stringValue": "A String", # A string value.
+          &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          },
+          &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+              #
+              # Must not exceed 1 MiB - 89 bytes.
+              # Only the first 1,500 bytes are considered by queries.
+          &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+          &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
               #
               # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
               # Only the first 1,500 bytes of the UTF-8 representation are considered by
               # queries.
-          "booleanValue": True or False, # A boolean value.
-          "arrayValue": { # An array value. # An array value.
+          &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+          &quot;arrayValue&quot;: { # An array value. # An array value.
               #
               # Cannot directly contain another array value, though can contain an
               # map which contains another array.
-            "values": [ # Values in the array.
+            &quot;values&quot;: [ # Values in the array.
               # Object with schema name: Value
             ],
           },
-          "integerValue": "A String", # An integer value.
-          "nullValue": "A String", # A null value.
+          &quot;doubleValue&quot;: 3.14, # A double value.
+          &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+              #
+              # Precise only to microseconds. When stored, any additional precision is
+              # rounded down.
         },
       },
-      "updateTime": "A String", # Output only. The time at which the document was last changed.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
           #
           # This value is initially set to the `create_time` then increases
           # monotonically with each change to the document. It can also be
           # compared to values from other documents and the `read_time` of a query.
-      "createTime": "A String", # Output only. The time at which the document was created.
-          #
-          # This value increases monotonically when a document is deleted then
-          # recreated. It can also be compared to values from other documents and
-          # the `read_time` of a query.
-      "name": "A String", # The resource name of the document, for example
-          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
     },
-    "missing": "A String", # A document name that was requested but does not exist. In the format:
+    &quot;missing&quot;: &quot;A String&quot;, # A document name that was requested but does not exist. In the format:
         # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-    "transaction": "A String", # The transaction that was started as part of this request.
+    &quot;transaction&quot;: &quot;A String&quot;, # The transaction that was started as part of this request.
         # Will only be set in the first response, and only if
         # BatchGetDocumentsRequest.new_transaction was set in the request.
-    "readTime": "A String", # The time at which the document was read.
-        # This may be monotically increasing, in this case the previous documents in
-        # the result stream are guaranteed not to have changed between their
-        # read_time and this one.
   }</pre>
 </div>
 
@@ -290,15 +290,15 @@
     The object takes the form of:
 
 { # The request for Firestore.BeginTransaction.
-    "options": { # Options for creating a new transaction. # The options for the transaction.
+    &quot;options&quot;: { # Options for creating a new transaction. # The options for the transaction.
         # Defaults to a read-write transaction.
-      "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
-        "retryTransaction": "A String", # An optional transaction to retry.
-      },
-      "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
-        "readTime": "A String", # Reads documents at the given time.
+      &quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
+        &quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
             # This may not be older than 60 seconds.
       },
+      &quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
+        &quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
+      },
     },
   }
 
@@ -311,7 +311,7 @@
   An object of the form:
 
     { # The response for Firestore.BeginTransaction.
-    "transaction": "A String", # The transaction that was started.
+    &quot;transaction&quot;: &quot;A String&quot;, # The transaction that was started.
   }</pre>
 </div>
 
@@ -326,26 +326,87 @@
     The object takes the form of:
 
 { # The request for Firestore.Commit.
-    "writes": [ # The writes to apply.
+    &quot;transaction&quot;: &quot;A String&quot;, # If set, applies all writes in this transaction, and commits it.
+    &quot;writes&quot;: [ # The writes to apply.
         # 
         # Always executed atomically and in order.
       { # A write on a document.
-        "currentDocument": { # A precondition on a document, used for conditional operations. # An optional precondition on the document.
-            #
-            # The write will fail if this is set and not met by the target document.
-          "updateTime": "A String", # When set, the target document must exist and have been last updated at
-              # that time.
-          "exists": True or False, # When set to `true`, the target document must exist.
-              # When set to `false`, the target document must not exist.
-        },
-        "transform": { # A transformation of a document. # Applies a transformation to a document.
-          "document": "A String", # The name of the document to transform.
-          "fieldTransforms": [ # The list of transformations to apply to the fields of the document, in
+        &quot;transform&quot;: { # A transformation of a document. # Applies a transformation to a document.
+          &quot;fieldTransforms&quot;: [ # The list of transformations to apply to the fields of the document, in
               # order.
               # This must not be empty.
             { # A transformation of a field of the document.
-              "setToServerValue": "A String", # Sets the field to the given server value.
-              "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
+              &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value.
+                  #
+                  # This must be an integer or a double value.
+                  # If the field is not an integer or double, or if the field does not yet
+                  # exist, the transformation will set the field to the given value.
+                  # If either of the given value or the current field value are doubles,
+                  # both values will be interpreted as doubles. Double arithmetic and
+                  # representation of double values follow IEEE 754 semantics.
+                  # If there is positive/negative integer overflow, the field is resolved
+                  # to the largest magnitude positive/negative integer.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
+                      #
+                      # The map keys represent field names. Field names matching the regular
+                      # expression `__.*__` are reserved. Reserved field names are forbidden except
+                      # in certain documented contexts. The map keys, represented as UTF-8, must
+                      # not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                    #
+                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                    # queries.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
+                    #
+                    # Cannot directly contain another array value, though can contain an
+                    # map which contains another array.
+                  &quot;values&quot;: [ # Values in the array.
+                    # Object with schema name: Value
+                  ],
+                },
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
+              },
+              &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field.
+                  # If the field is not an array, or if the field does not yet exist, it is
+                  # set to the empty array.
+                  #
+                  # Equivalent numbers of the different types (e.g. 3L and 3.0) are
+                  # considered equal when deciding whether an element should be removed.
+                  # NaN is equal to NaN, and Null is equal to Null.
+                  # This will remove all equivalent values if there are duplicates.
+                  #
+                  # The corresponding transform_result will be the null value.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
                   #
                   # This must be an integer or a double value.
                   # If the field is not an integer or double, or if the field does not yet
@@ -357,111 +418,55 @@
                   # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
                   # zero input value is always the stored value.
                   # The maximum of any numeric value x and NaN is NaN.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
                       #
                       # The map keys represent field names. Field names matching the regular
                       # expression `__.*__` are reserved. Reserved field names are forbidden except
                       # in certain documented contexts. The map keys, represented as UTF-8, must
                       # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
+                    &quot;a_key&quot;: # Object with schema name: Value
                   },
                 },
-                "stringValue": "A String", # A string value.
-                    #
-                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                    # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
-                    #
-                    # Cannot directly contain another array value, though can contain an
-                    # map which contains another array.
-                  "values": [ # Values in the array.
-                    # Object with schema name: Value
-                  ],
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
-              },
-              "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value.
-                  #
-                  # This must be an integer or a double value.
-                  # If the field is not an integer or double, or if the field does not yet
-                  # exist, the transformation will set the field to the given value.
-                  # If either of the given value or the current field value are doubles,
-                  # both values will be interpreted as doubles. Double arithmetic and
-                  # representation of double values follow IEEE 754 semantics.
-                  # If there is positive/negative integer overflow, the field is resolved
-                  # to the largest magnitude positive/negative integer.
-                "bytesValue": "A String", # A bytes value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
                     #
                     # Must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
-                      #
-                      # The map keys represent field names. Field names matching the regular
-                      # expression `__.*__` are reserved. Reserved field names are forbidden except
-                      # in certain documented contexts. The map keys, represented as UTF-8, must
-                      # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
-                  },
-                },
-                "stringValue": "A String", # A string value.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                     #
                     # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes of the UTF-8 representation are considered by
                     # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
                     #
                     # Cannot directly contain another array value, though can contain an
                     # map which contains another array.
-                  "values": [ # Values in the array.
+                  &quot;values&quot;: [ # Values in the array.
                     # Object with schema name: Value
                   ],
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
               },
-              "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax
+              &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
                   # reference.
-              "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
+              &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
                   #
                   # This must be an integer or a double value.
                   # If the field is not an integer or double, or if the field does not yet
@@ -473,53 +478,53 @@
                   # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
                   # zero input value is always the stored value.
                   # The minimum of any numeric value x and NaN is NaN.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
                       #
                       # The map keys represent field names. Field names matching the regular
                       # expression `__.*__` are reserved. Reserved field names are forbidden except
                       # in certain documented contexts. The map keys, represented as UTF-8, must
                       # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
+                    &quot;a_key&quot;: # Object with schema name: Value
                   },
                 },
-                "stringValue": "A String", # A string value.
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                     #
                     # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes of the UTF-8 representation are considered by
                     # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
                     #
                     # Cannot directly contain another array value, though can contain an
                     # map which contains another array.
-                  "values": [ # Values in the array.
+                  &quot;values&quot;: [ # Values in the array.
                     # Object with schema name: Value
                   ],
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
               },
-              "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in
+              &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in
                   # the current field value.
                   # If the field is not an array, or if the field does not yet exist, it is
                   # first set to the empty array.
@@ -531,31 +536,239 @@
                   # be considered.
                   #
                   # The corresponding transform_result will be the null value.
-                "values": [ # Values in the array.
+                &quot;values&quot;: [ # Values in the array.
                   # Object with schema name: Value
                 ],
               },
-              "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field.
-                  # If the field is not an array, or if the field does not yet exist, it is
-                  # set to the empty array.
-                  #
-                  # Equivalent numbers of the different types (e.g. 3L and 3.0) are
-                  # considered equal when deciding whether an element should be removed.
-                  # NaN is equal to NaN, and Null is equal to Null.
-                  # This will remove all equivalent values if there are duplicates.
-                  #
-                  # The corresponding transform_result will be the null value.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
             },
           ],
+          &quot;document&quot;: &quot;A String&quot;, # The name of the document to transform.
         },
-        "update": { # A Firestore document. # A document to write.
+        &quot;updateTransforms&quot;: [ # The transforms to perform after update.
+            #
+            # This field can be set only when the operation is `update`. If present, this
+            # write is equivalent to performing `update` and `transform` to the same
+            # document atomically and in order.
+          { # A transformation of a field of the document.
+            &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the given value.
+                # If either of the given value or the current field value are doubles,
+                # both values will be interpreted as doubles. Double arithmetic and
+                # representation of double values follow IEEE 754 semantics.
+                # If there is positive/negative integer overflow, the field is resolved
+                # to the largest magnitude positive/negative integer.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field.
+                # If the field is not an array, or if the field does not yet exist, it is
+                # set to the empty array.
+                #
+                # Equivalent numbers of the different types (e.g. 3L and 3.0) are
+                # considered equal when deciding whether an element should be removed.
+                # NaN is equal to NaN, and Null is equal to Null.
+                # This will remove all equivalent values if there are duplicates.
+                #
+                # The corresponding transform_result will be the null value.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the given value.
+                # If a maximum operation is applied where the field and the input value
+                # are of mixed types (that is - one is an integer and one is a double)
+                # the field takes on the type of the larger operand. If the operands are
+                # equivalent (e.g. 3 and 3.0), the field does not change.
+                # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+                # zero input value is always the stored value.
+                # The maximum of any numeric value x and NaN is NaN.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
+                # reference.
+            &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the input value.
+                # If a minimum operation is applied where the field and the input value
+                # are of mixed types (that is - one is an integer and one is a double)
+                # the field takes on the type of the smaller operand. If the operands are
+                # equivalent (e.g. 3 and 3.0), the field does not change.
+                # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
+                # zero input value is always the stored value.
+                # The minimum of any numeric value x and NaN is NaN.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in
+                # the current field value.
+                # If the field is not an array, or if the field does not yet exist, it is
+                # first set to the empty array.
+                #
+                # Equivalent numbers of different types (e.g. 3L and 3.0) are
+                # considered equal when checking if a value is missing.
+                # NaN is equal to NaN, and Null is equal to Null.
+                # If the input contains multiple equivalent values, only the first will
+                # be considered.
+                #
+                # The corresponding transform_result will be the null value.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
+          },
+        ],
+        &quot;update&quot;: { # A Firestore document. # A document to write.
             #
             # Must not exceed 1 MiB - 4 bytes.
-          "fields": { # The document's fields.
+          &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+              #
+              # This value increases monotonically when a document is deleted then
+              # recreated. It can also be compared to values from other documents and
+              # the `read_time` of a query.
+          &quot;fields&quot;: { # The document&#x27;s fields.
               #
               # The map keys represent field names.
               #
@@ -572,288 +785,78 @@
               # defined here. For `map_value`, the field path is represented by the simple
               # or quoted field names of the containing fields, delimited by `.`. For
               # example, the structured field
-              # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+              # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
               # represented by the field path `foo.x&amp;y`.
               #
               # Within a field path, a quoted field name starts and ends with `` ` `` and
               # may contain any character. Some characters, including `` ` ``, must be
               # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
               # `` `bak\`tik` `` represents `` bak`tik ``.
-            "a_key": { # A message that can hold any of the supported value types.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
+            &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
                     #
                     # The map keys represent field names. Field names matching the regular
                     # expression `__.*__` are reserved. Reserved field names are forbidden except
                     # in certain documented contexts. The map keys, represented as UTF-8, must
                     # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
+                  &quot;a_key&quot;: # Object with schema name: Value
                 },
               },
-              "stringValue": "A String", # A string value.
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                   #
                   # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                   # Only the first 1,500 bytes of the UTF-8 representation are considered by
                   # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
                   #
                   # Cannot directly contain another array value, though can contain an
                   # map which contains another array.
-                "values": [ # Values in the array.
+                &quot;values&quot;: [ # Values in the array.
                   # Object with schema name: Value
                 ],
               },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
             },
           },
-          "updateTime": "A String", # Output only. The time at which the document was last changed.
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
               #
               # This value is initially set to the `create_time` then increases
               # monotonically with each change to the document. It can also be
               # compared to values from other documents and the `read_time` of a query.
-          "createTime": "A String", # Output only. The time at which the document was created.
-              #
-              # This value increases monotonically when a document is deleted then
-              # recreated. It can also be compared to values from other documents and
-              # the `read_time` of a query.
-          "name": "A String", # The resource name of the document, for example
-              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
         },
-        "updateTransforms": [ # The transforms to perform after update.
+        &quot;delete&quot;: &quot;A String&quot;, # A document name to delete. In the format:
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;currentDocument&quot;: { # A precondition on a document, used for conditional operations. # An optional precondition on the document.
             #
-            # This field can be set only when the operation is `update`. If present, this
-            # write is equivalent to performing `update` and `transform` to the same
-            # document atomically and in order.
-          { # A transformation of a field of the document.
-            "setToServerValue": "A String", # Sets the field to the given server value.
-            "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the given value.
-                # If a maximum operation is applied where the field and the input value
-                # are of mixed types (that is - one is an integer and one is a double)
-                # the field takes on the type of the larger operand. If the operands are
-                # equivalent (e.g. 3 and 3.0), the field does not change.
-                # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
-                # zero input value is always the stored value.
-                # The maximum of any numeric value x and NaN is NaN.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the given value.
-                # If either of the given value or the current field value are doubles,
-                # both values will be interpreted as doubles. Double arithmetic and
-                # representation of double values follow IEEE 754 semantics.
-                # If there is positive/negative integer overflow, the field is resolved
-                # to the largest magnitude positive/negative integer.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax
-                # reference.
-            "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the input value.
-                # If a minimum operation is applied where the field and the input value
-                # are of mixed types (that is - one is an integer and one is a double)
-                # the field takes on the type of the smaller operand. If the operands are
-                # equivalent (e.g. 3 and 3.0), the field does not change.
-                # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
-                # zero input value is always the stored value.
-                # The minimum of any numeric value x and NaN is NaN.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in
-                # the current field value.
-                # If the field is not an array, or if the field does not yet exist, it is
-                # first set to the empty array.
-                #
-                # Equivalent numbers of different types (e.g. 3L and 3.0) are
-                # considered equal when checking if a value is missing.
-                # NaN is equal to NaN, and Null is equal to Null.
-                # If the input contains multiple equivalent values, only the first will
-                # be considered.
-                #
-                # The corresponding transform_result will be the null value.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-            "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field.
-                # If the field is not an array, or if the field does not yet exist, it is
-                # set to the empty array.
-                #
-                # Equivalent numbers of the different types (e.g. 3L and 3.0) are
-                # considered equal when deciding whether an element should be removed.
-                # NaN is equal to NaN, and Null is equal to Null.
-                # This will remove all equivalent values if there are duplicates.
-                #
-                # The corresponding transform_result will be the null value.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-          },
-        ],
-        "updateMask": { # A set of field paths on a document. # The fields to update in this write.
+            # The write will fail if this is set and not met by the target document.
+          &quot;updateTime&quot;: &quot;A String&quot;, # When set, the target document must exist and have been last updated at
+              # that time.
+          &quot;exists&quot;: True or False, # When set to `true`, the target document must exist.
+              # When set to `false`, the target document must not exist.
+        },
+        &quot;updateMask&quot;: { # A set of field paths on a document. # The fields to update in this write.
             #
             # This field can be set only when the operation is `update`.
             # If the mask is not set for an `update` and the document exists, any
@@ -867,16 +870,13 @@
             # fields.
             # This is different from standard field masks, as this is always scoped to a
             # Document, and takes in account the dynamic nature of Value.
-          "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field
+          &quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
               # path syntax reference.
-            "A String",
+            &quot;A String&quot;,
           ],
         },
-        "delete": "A String", # A document name to delete. In the format:
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
       },
     ],
-    "transaction": "A String", # If set, applies all writes in this transaction, and commits it.
   }
 
   x__xgafv: string, V1 error format.
@@ -888,75 +888,75 @@
   An object of the form:
 
     { # The response for Firestore.Commit.
-    "writeResults": [ # The result of applying the writes.
+    &quot;writeResults&quot;: [ # The result of applying the writes.
         #
         # This i-th write result corresponds to the i-th write in the
         # request.
       { # The result of applying a write.
-        "updateTime": "A String", # The last update time of the document after applying the write. Not set
+        &quot;updateTime&quot;: &quot;A String&quot;, # The last update time of the document after applying the write. Not set
             # after a `delete`.
             #
             # If the write did not actually change the document, this will be the
             # previous update_time.
-        "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the
+        &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the
             # same order.
           { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
                   #
                   # The map keys represent field names. Field names matching the regular
                   # expression `__.*__` are reserved. Reserved field names are forbidden except
                   # in certain documented contexts. The map keys, represented as UTF-8, must
                   # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
+                &quot;a_key&quot;: # Object with schema name: Value
               },
             },
-            "stringValue": "A String", # A string value.
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                 #
                 # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                 # Only the first 1,500 bytes of the UTF-8 representation are considered by
                 # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
                 #
                 # Cannot directly contain another array value, though can contain an
                 # map which contains another array.
-              "values": [ # Values in the array.
+              &quot;values&quot;: [ # Values in the array.
                 # Object with schema name: Value
               ],
             },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
           },
         ],
       },
     ],
-    "commitTime": "A String", # The time at which the commit occurred. Any read with an equal or greater
+    &quot;commitTime&quot;: &quot;A String&quot;, # The time at which the commit occurred. Any read with an equal or greater
         # `read_time` is guaranteed to see the effects of the commit.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="createDocument">createDocument(parent, collectionId, body=None, mask_fieldPaths=None, x__xgafv=None, documentId=None)</code>
+    <code class="details" id="createDocument">createDocument(parent, collectionId, body=None, mask_fieldPaths=None, documentId=None, x__xgafv=None)</code>
   <pre>Creates a new document.
 
 Args:
@@ -970,7 +970,14 @@
 { # A Firestore document.
     # 
     # Must not exceed 1 MiB - 4 bytes.
-  "fields": { # The document's fields.
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+      # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+      # 
+      # This value increases monotonically when a document is deleted then
+      # recreated. It can also be compared to values from other documents and
+      # the `read_time` of a query.
+  &quot;fields&quot;: { # The document&#x27;s fields.
       # 
       # The map keys represent field names.
       # 
@@ -987,84 +994,77 @@
       # defined here. For `map_value`, the field path is represented by the simple
       # or quoted field names of the containing fields, delimited by `.`. For
       # example, the structured field
-      # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+      # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
       # represented by the field path `foo.x&amp;y`.
       # 
       # Within a field path, a quoted field name starts and ends with `` ` `` and
       # may contain any character. Some characters, including `` ` ``, must be
       # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
       # `` `bak\`tik` `` represents `` bak`tik ``.
-    "a_key": { # A message that can hold any of the supported value types.
-      "bytesValue": "A String", # A bytes value.
-          #
-          # Must not exceed 1 MiB - 89 bytes.
-          # Only the first 1,500 bytes are considered by queries.
-      "timestampValue": "A String", # A timestamp value.
-          #
-          # Precise only to microseconds. When stored, any additional precision is
-          # rounded down.
-      "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-          # of doubles representing degrees latitude and degrees longitude. Unless
-          # specified otherwise, this must conform to the
-          # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-          # standard&lt;/a&gt;. Values must be within normalized ranges.
-        "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-        "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-      },
-      "referenceValue": "A String", # A reference to a document. For example:
-          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-      "doubleValue": 3.14, # A double value.
-      "mapValue": { # A map value. # A map value.
-        "fields": { # The map's fields.
+    &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+      &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+      &quot;booleanValue&quot;: True or False, # A boolean value.
+      &quot;mapValue&quot;: { # A map value. # A map value.
+        &quot;fields&quot;: { # The map&#x27;s fields.
             #
             # The map keys represent field names. Field names matching the regular
             # expression `__.*__` are reserved. Reserved field names are forbidden except
             # in certain documented contexts. The map keys, represented as UTF-8, must
             # not exceed 1,500 bytes and cannot be empty.
-          "a_key": # Object with schema name: Value
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
-      "stringValue": "A String", # A string value.
+      &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+          # of doubles representing degrees latitude and degrees longitude. Unless
+          # specified otherwise, this must conform to the
+          # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+          # standard&lt;/a&gt;. Values must be within normalized ranges.
+        &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+        &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+      },
+      &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+          #
+          # Must not exceed 1 MiB - 89 bytes.
+          # Only the first 1,500 bytes are considered by queries.
+      &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+      &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
           #
           # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
           # Only the first 1,500 bytes of the UTF-8 representation are considered by
           # queries.
-      "booleanValue": True or False, # A boolean value.
-      "arrayValue": { # An array value. # An array value.
+      &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+      &quot;arrayValue&quot;: { # An array value. # An array value.
           #
           # Cannot directly contain another array value, though can contain an
           # map which contains another array.
-        "values": [ # Values in the array.
+        &quot;values&quot;: [ # Values in the array.
           # Object with schema name: Value
         ],
       },
-      "integerValue": "A String", # An integer value.
-      "nullValue": "A String", # A null value.
+      &quot;doubleValue&quot;: 3.14, # A double value.
+      &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+          #
+          # Precise only to microseconds. When stored, any additional precision is
+          # rounded down.
     },
   },
-  "updateTime": "A String", # Output only. The time at which the document was last changed.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
       # 
       # This value is initially set to the `create_time` then increases
       # monotonically with each change to the document. It can also be
       # compared to values from other documents and the `read_time` of a query.
-  "createTime": "A String", # Output only. The time at which the document was created.
-      # 
-      # This value increases monotonically when a document is deleted then
-      # recreated. It can also be compared to values from other documents and
-      # the `read_time` of a query.
-  "name": "A String", # The resource name of the document, for example
-      # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
 }
 
   mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
 path syntax reference. (repeated)
+  documentId: string, The client-assigned document ID to use for this document.
+
+Optional. If not specified, an ID will be assigned by the service.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  documentId: string, The client-assigned document ID to use for this document.
-
-Optional. If not specified, an ID will be assigned by the service.
 
 Returns:
   An object of the form:
@@ -1072,7 +1072,14 @@
     { # A Firestore document.
       #
       # Must not exceed 1 MiB - 4 bytes.
-    "fields": { # The document's fields.
+    &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+        #
+        # This value increases monotonically when a document is deleted then
+        # recreated. It can also be compared to values from other documents and
+        # the `read_time` of a query.
+    &quot;fields&quot;: { # The document&#x27;s fields.
         #
         # The map keys represent field names.
         #
@@ -1089,78 +1096,71 @@
         # defined here. For `map_value`, the field path is represented by the simple
         # or quoted field names of the containing fields, delimited by `.`. For
         # example, the structured field
-        # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+        # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
         # represented by the field path `foo.x&amp;y`.
         #
         # Within a field path, a quoted field name starts and ends with `` ` `` and
         # may contain any character. Some characters, including `` ` ``, must be
         # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
         # `` `bak\`tik` `` represents `` bak`tik ``.
-      "a_key": { # A message that can hold any of the supported value types.
-        "bytesValue": "A String", # A bytes value.
-            #
-            # Must not exceed 1 MiB - 89 bytes.
-            # Only the first 1,500 bytes are considered by queries.
-        "timestampValue": "A String", # A timestamp value.
-            #
-            # Precise only to microseconds. When stored, any additional precision is
-            # rounded down.
-        "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "referenceValue": "A String", # A reference to a document. For example:
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-        "doubleValue": 3.14, # A double value.
-        "mapValue": { # A map value. # A map value.
-          "fields": { # The map's fields.
+      &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+        &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+        &quot;booleanValue&quot;: True or False, # A boolean value.
+        &quot;mapValue&quot;: { # A map value. # A map value.
+          &quot;fields&quot;: { # The map&#x27;s fields.
               #
               # The map keys represent field names. Field names matching the regular
               # expression `__.*__` are reserved. Reserved field names are forbidden except
               # in certain documented contexts. The map keys, represented as UTF-8, must
               # not exceed 1,500 bytes and cannot be empty.
-            "a_key": # Object with schema name: Value
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
-        "stringValue": "A String", # A string value.
+        &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+            #
+            # Must not exceed 1 MiB - 89 bytes.
+            # Only the first 1,500 bytes are considered by queries.
+        &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+        &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
             #
             # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
             # Only the first 1,500 bytes of the UTF-8 representation are considered by
             # queries.
-        "booleanValue": True or False, # A boolean value.
-        "arrayValue": { # An array value. # An array value.
+        &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;arrayValue&quot;: { # An array value. # An array value.
             #
             # Cannot directly contain another array value, though can contain an
             # map which contains another array.
-          "values": [ # Values in the array.
+          &quot;values&quot;: [ # Values in the array.
             # Object with schema name: Value
           ],
         },
-        "integerValue": "A String", # An integer value.
-        "nullValue": "A String", # A null value.
+        &quot;doubleValue&quot;: 3.14, # A double value.
+        &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+            #
+            # Precise only to microseconds. When stored, any additional precision is
+            # rounded down.
       },
     },
-    "updateTime": "A String", # Output only. The time at which the document was last changed.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
         #
         # This value is initially set to the `create_time` then increases
         # monotonically with each change to the document. It can also be
         # compared to values from other documents and the `read_time` of a query.
-    "createTime": "A String", # Output only. The time at which the document was created.
-        #
-        # This value increases monotonically when a document is deleted then
-        # recreated. It can also be compared to values from other documents and
-        # the `read_time` of a query.
-    "name": "A String", # The resource name of the document, for example
-        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="delete">delete(name, currentDocument_updateTime=None, x__xgafv=None, currentDocument_exists=None)</code>
+    <code class="details" id="delete">delete(name, currentDocument_updateTime=None, currentDocument_exists=None, x__xgafv=None)</code>
   <pre>Deletes a document.
 
 Args:
@@ -1168,12 +1168,12 @@
 `projects/{project_id}/databases/{database_id}/documents/{document_path}`. (required)
   currentDocument_updateTime: string, When set, the target document must exist and have been last updated at
 that time.
+  currentDocument_exists: boolean, When set to `true`, the target document must exist.
+When set to `false`, the target document must not exist.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  currentDocument_exists: boolean, When set to `true`, the target document must exist.
-When set to `false`, the target document must not exist.
 
 Returns:
   An object of the form:
@@ -1191,7 +1191,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(name, transaction=None, mask_fieldPaths=None, x__xgafv=None, readTime=None)</code>
+    <code class="details" id="get">get(name, transaction=None, mask_fieldPaths=None, readTime=None, x__xgafv=None)</code>
   <pre>Gets a single document.
 
 Args:
@@ -1200,12 +1200,12 @@
   transaction: string, Reads the document in a transaction.
   mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
 path syntax reference. (repeated)
+  readTime: string, Reads the version of the document at the given time.
+This may not be older than 270 seconds.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  readTime: string, Reads the version of the document at the given time.
-This may not be older than 270 seconds.
 
 Returns:
   An object of the form:
@@ -1213,7 +1213,14 @@
     { # A Firestore document.
       #
       # Must not exceed 1 MiB - 4 bytes.
-    "fields": { # The document's fields.
+    &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+        #
+        # This value increases monotonically when a document is deleted then
+        # recreated. It can also be compared to values from other documents and
+        # the `read_time` of a query.
+    &quot;fields&quot;: { # The document&#x27;s fields.
         #
         # The map keys represent field names.
         #
@@ -1230,78 +1237,71 @@
         # defined here. For `map_value`, the field path is represented by the simple
         # or quoted field names of the containing fields, delimited by `.`. For
         # example, the structured field
-        # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+        # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
         # represented by the field path `foo.x&amp;y`.
         #
         # Within a field path, a quoted field name starts and ends with `` ` `` and
         # may contain any character. Some characters, including `` ` ``, must be
         # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
         # `` `bak\`tik` `` represents `` bak`tik ``.
-      "a_key": { # A message that can hold any of the supported value types.
-        "bytesValue": "A String", # A bytes value.
-            #
-            # Must not exceed 1 MiB - 89 bytes.
-            # Only the first 1,500 bytes are considered by queries.
-        "timestampValue": "A String", # A timestamp value.
-            #
-            # Precise only to microseconds. When stored, any additional precision is
-            # rounded down.
-        "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "referenceValue": "A String", # A reference to a document. For example:
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-        "doubleValue": 3.14, # A double value.
-        "mapValue": { # A map value. # A map value.
-          "fields": { # The map's fields.
+      &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+        &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+        &quot;booleanValue&quot;: True or False, # A boolean value.
+        &quot;mapValue&quot;: { # A map value. # A map value.
+          &quot;fields&quot;: { # The map&#x27;s fields.
               #
               # The map keys represent field names. Field names matching the regular
               # expression `__.*__` are reserved. Reserved field names are forbidden except
               # in certain documented contexts. The map keys, represented as UTF-8, must
               # not exceed 1,500 bytes and cannot be empty.
-            "a_key": # Object with schema name: Value
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
-        "stringValue": "A String", # A string value.
+        &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+            #
+            # Must not exceed 1 MiB - 89 bytes.
+            # Only the first 1,500 bytes are considered by queries.
+        &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+        &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
             #
             # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
             # Only the first 1,500 bytes of the UTF-8 representation are considered by
             # queries.
-        "booleanValue": True or False, # A boolean value.
-        "arrayValue": { # An array value. # An array value.
+        &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;arrayValue&quot;: { # An array value. # An array value.
             #
             # Cannot directly contain another array value, though can contain an
             # map which contains another array.
-          "values": [ # Values in the array.
+          &quot;values&quot;: [ # Values in the array.
             # Object with schema name: Value
           ],
         },
-        "integerValue": "A String", # An integer value.
-        "nullValue": "A String", # A null value.
+        &quot;doubleValue&quot;: 3.14, # A double value.
+        &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+            #
+            # Precise only to microseconds. When stored, any additional precision is
+            # rounded down.
       },
     },
-    "updateTime": "A String", # Output only. The time at which the document was last changed.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
         #
         # This value is initially set to the `create_time` then increases
         # monotonically with each change to the document. It can also be
         # compared to values from other documents and the `read_time` of a query.
-    "createTime": "A String", # Output only. The time at which the document was created.
-        #
-        # This value increases monotonically when a document is deleted then
-        # recreated. It can also be compared to values from other documents and
-        # the `read_time` of a query.
-    "name": "A String", # The resource name of the document, for example
-        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, collectionId, orderBy=None, showMissing=None, pageSize=None, mask_fieldPaths=None, x__xgafv=None, pageToken=None, readTime=None, transaction=None)</code>
+    <code class="details" id="list">list(parent, collectionId, mask_fieldPaths=None, pageToken=None, pageSize=None, transaction=None, orderBy=None, readTime=None, showMissing=None, x__xgafv=None)</code>
   <pre>Lists documents.
 
 Args:
@@ -1313,7 +1313,14 @@
 `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom` (required)
   collectionId: string, Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`
 or `messages`. (required)
+  mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
+path syntax reference. (repeated)
+  pageToken: string, The `next_page_token` value returned from a previous List request, if any.
+  pageSize: integer, The maximum number of documents to return.
+  transaction: string, Reads documents in a transaction.
   orderBy: string, The order to sort results by. For example: `priority desc, name`.
+  readTime: string, Reads documents as they were at the given time.
+This may not be older than 270 seconds.
   showMissing: boolean, If the list should show missing documents. A missing document is a
 document that does not exist but has sub-documents. These documents will
 be returned with a key but will not have fields, Document.create_time,
@@ -1321,28 +1328,27 @@
 
 Requests with `show_missing` may not specify `where` or
 `order_by`.
-  pageSize: integer, The maximum number of documents to return.
-  mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
-path syntax reference. (repeated)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  pageToken: string, The `next_page_token` value returned from a previous List request, if any.
-  readTime: string, Reads documents as they were at the given time.
-This may not be older than 270 seconds.
-  transaction: string, Reads documents in a transaction.
 
 Returns:
   An object of the form:
 
     { # The response for Firestore.ListDocuments.
-    "nextPageToken": "A String", # The next page token.
-    "documents": [ # The Documents found.
+    &quot;documents&quot;: [ # The Documents found.
       { # A Firestore document.
           #
           # Must not exceed 1 MiB - 4 bytes.
-        "fields": { # The document's fields.
+        &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+            #
+            # This value increases monotonically when a document is deleted then
+            # recreated. It can also be compared to values from other documents and
+            # the `read_time` of a query.
+        &quot;fields&quot;: { # The document&#x27;s fields.
             #
             # The map keys represent field names.
             #
@@ -1359,75 +1365,69 @@
             # defined here. For `map_value`, the field path is represented by the simple
             # or quoted field names of the containing fields, delimited by `.`. For
             # example, the structured field
-            # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+            # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
             # represented by the field path `foo.x&amp;y`.
             #
             # Within a field path, a quoted field name starts and ends with `` ` `` and
             # may contain any character. Some characters, including `` ` ``, must be
             # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
             # `` `bak\`tik` `` represents `` bak`tik ``.
-          "a_key": { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
                   #
                   # The map keys represent field names. Field names matching the regular
                   # expression `__.*__` are reserved. Reserved field names are forbidden except
                   # in certain documented contexts. The map keys, represented as UTF-8, must
                   # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
+                &quot;a_key&quot;: # Object with schema name: Value
               },
             },
-            "stringValue": "A String", # A string value.
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                 #
                 # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                 # Only the first 1,500 bytes of the UTF-8 representation are considered by
                 # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
                 #
                 # Cannot directly contain another array value, though can contain an
                 # map which contains another array.
-              "values": [ # Values in the array.
+              &quot;values&quot;: [ # Values in the array.
                 # Object with schema name: Value
               ],
             },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
           },
         },
-        "updateTime": "A String", # Output only. The time at which the document was last changed.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
             #
             # This value is initially set to the `create_time` then increases
             # monotonically with each change to the document. It can also be
             # compared to values from other documents and the `read_time` of a query.
-        "createTime": "A String", # Output only. The time at which the document was created.
-            #
-            # This value increases monotonically when a document is deleted then
-            # recreated. It can also be compared to values from other documents and
-            # the `read_time` of a query.
-        "name": "A String", # The resource name of the document, for example
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
       },
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The next page token.
   }</pre>
 </div>
 
@@ -1444,9 +1444,9 @@
     The object takes the form of:
 
 { # The request for Firestore.ListCollectionIds.
-    "pageToken": "A String", # A page token. Must be a value from
+    &quot;pageToken&quot;: &quot;A String&quot;, # A page token. Must be a value from
         # ListCollectionIdsResponse.
-    "pageSize": 42, # The maximum number of results to return.
+    &quot;pageSize&quot;: 42, # The maximum number of results to return.
   }
 
   x__xgafv: string, V1 error format.
@@ -1458,10 +1458,10 @@
   An object of the form:
 
     { # The response from Firestore.ListCollectionIds.
-    "nextPageToken": "A String", # A page token that may be used to continue the list.
-    "collectionIds": [ # The collection ids.
-      "A String",
+    &quot;collectionIds&quot;: [ # The collection ids.
+      &quot;A String&quot;,
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # A page token that may be used to continue the list.
   }</pre>
 </div>
 
@@ -1474,7 +1474,7 @@
   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
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -1488,7 +1488,7 @@
   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
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -1504,26 +1504,30 @@
     The object takes the form of:
 
 { # A request for Firestore.Listen
-    "labels": { # Labels associated with this target change.
-      "a_key": "A String",
-    },
-    "addTarget": { # A specification of a set of documents to listen to. # A target to add to this stream.
-      "documents": { # A target specified by a set of documents names. # A target specified by a set of document names.
-        "documents": [ # The names of the documents to retrieve. In the format:
+    &quot;removeTarget&quot;: 42, # The ID of a target to remove from this stream.
+    &quot;addTarget&quot;: { # A specification of a set of documents to listen to. # A target to add to this stream.
+      &quot;readTime&quot;: &quot;A String&quot;, # Start listening after a specific `read_time`.
+          #
+          # The client must know the state of matching documents at this time.
+      &quot;targetId&quot;: 42, # The target ID that identifies the target on the stream. Must be a positive
+          # number and non-zero.
+      &quot;documents&quot;: { # A target specified by a set of documents names. # A target specified by a set of document names.
+        &quot;documents&quot;: [ # The names of the documents to retrieve. In the format:
             # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
             # The request will fail if any of the document is not a child resource of
             # the given `database`. Duplicate names will be elided.
-          "A String",
+          &quot;A String&quot;,
         ],
       },
-      "resumeToken": "A String", # A resume token from a prior TargetChange for an identical target.
-          #
-          # Using a resume token with a different target is unsupported and may fail.
-      "targetId": 42, # The target ID that identifies the target on the stream. Must be a positive
-          # number and non-zero.
-      "query": { # A target specified by a query. # A target specified by a query.
-        "structuredQuery": { # A Firestore query. # A structured query.
-          "orderBy": [ # The order to apply to the query results.
+      &quot;query&quot;: { # A target specified by a query. # A target specified by a query.
+        &quot;parent&quot;: &quot;A String&quot;, # The parent resource name. In the format:
+            # `projects/{project_id}/databases/{database_id}/documents` or
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            # For example:
+            # `projects/my-project/databases/my-database/documents` or
+            # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
+        &quot;structuredQuery&quot;: { # A Firestore query. # A structured query.
+          &quot;orderBy&quot;: [ # The order to apply to the query results.
               #
               # Firestore guarantees a stable ordering through the following rules:
               #
@@ -1533,7 +1537,7 @@
               #  * If an order on `__name__` is not specified, it is appended by default.
               #
               # Fields are appended with the same sort direction as the last order
-              # specified, or 'ASCENDING' if no order was specified. For example:
+              # specified, or &#x27;ASCENDING&#x27; if no order was specified. For example:
               #
               #  * `SELECT * FROM Foo ORDER BY A` becomes
               #    `SELECT * FROM Foo ORDER BY A, __name__`
@@ -1542,233 +1546,229 @@
               #  * `SELECT * FROM Foo WHERE A &gt; 1` becomes
               #    `SELECT * FROM Foo WHERE A &gt; 1 ORDER BY A, __name__`
             { # An order on a field.
-              "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
-                "fieldPath": "A String",
+              &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
+                &quot;fieldPath&quot;: &quot;A String&quot;,
               },
-              "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
+              &quot;direction&quot;: &quot;A String&quot;, # The direction to order by. Defaults to `ASCENDING`.
             },
           ],
-          "startAt": { # A position in a query result set. # A starting point for the query results.
-            "values": [ # The values that represent a position, in the order they appear in
-                # the order by clause of a query.
+          &quot;select&quot;: { # The projection of document&#x27;s fields to return. # The projection to return.
+            &quot;fields&quot;: [ # The fields to return.
                 #
-                # Can contain fewer values than specified in the order by clause.
-              { # A message that can hold any of the supported value types.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
-                      #
-                      # The map keys represent field names. Field names matching the regular
-                      # expression `__.*__` are reserved. Reserved field names are forbidden except
-                      # in certain documented contexts. The map keys, represented as UTF-8, must
-                      # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
-                  },
-                },
-                "stringValue": "A String", # A string value.
-                    #
-                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                    # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
-                    #
-                    # Cannot directly contain another array value, though can contain an
-                    # map which contains another array.
-                  "values": [ # Values in the array.
-                    # Object with schema name: Value
-                  ],
-                },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
+                # If empty, all fields are returned. To only return the name
+                # of the document, use `[&#x27;__name__&#x27;]`.
+              { # A reference to a field, such as `max(messages.time) as max_time`.
+                &quot;fieldPath&quot;: &quot;A String&quot;,
               },
             ],
-            "before": True or False, # If the position is just before or just after the given values, relative
-                # to the sort order defined by the query.
           },
-          "endAt": { # A position in a query result set. # A end point for the query results.
-            "values": [ # The values that represent a position, in the order they appear in
-                # the order by clause of a query.
-                #
-                # Can contain fewer values than specified in the order by clause.
-              { # A message that can hold any of the supported value types.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
-                      #
-                      # The map keys represent field names. Field names matching the regular
-                      # expression `__.*__` are reserved. Reserved field names are forbidden except
-                      # in certain documented contexts. The map keys, represented as UTF-8, must
-                      # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
-                  },
-                },
-                "stringValue": "A String", # A string value.
-                    #
-                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                    # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
-                    #
-                    # Cannot directly contain another array value, though can contain an
-                    # map which contains another array.
-                  "values": [ # Values in the array.
-                    # Object with schema name: Value
-                  ],
-                },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
-              },
-            ],
-            "before": True or False, # If the position is just before or just after the given values, relative
-                # to the sort order defined by the query.
-          },
-          "limit": 42, # The maximum number of results to return.
+          &quot;limit&quot;: 42, # The maximum number of results to return.
               #
               # Applies after all other constraints.
               # Must be &gt;= 0 if specified.
-          "offset": 42, # The number of results to skip.
+          &quot;offset&quot;: 42, # The number of results to skip.
               #
               # Applies before limit, but after all other constraints. Must be &gt;= 0 if
               # specified.
-          "from": [ # The collections to query.
+          &quot;from&quot;: [ # The collections to query.
             { # A selection of a collection, such as `messages as m1`.
-              "allDescendants": True or False, # When false, selects only collections that are immediate children of
+              &quot;allDescendants&quot;: True or False, # When false, selects only collections that are immediate children of
                   # the `parent` specified in the containing `RunQueryRequest`.
                   # When true, selects all descendant collections.
-              "collectionId": "A String", # The collection ID.
+              &quot;collectionId&quot;: &quot;A String&quot;, # The collection ID.
                   # When set, selects only collections with this ID.
             },
           ],
-          "where": { # A filter. # The filter to apply.
-            "unaryFilter": { # A filter with a single operand. # A filter that takes exactly one argument.
-              "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
-                "fieldPath": "A String",
-              },
-              "op": "A String", # The unary operator to apply.
-            },
-            "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
-              "filters": [ # The list of filters to combine.
-                  # Must contain at least one filter.
-                # Object with schema name: Filter
-              ],
-              "op": "A String", # The operator for combining multiple filters.
-            },
-            "fieldFilter": { # A filter on a specific field. # A filter on a document field.
-              "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
-                "fieldPath": "A String",
-              },
-              "value": { # A message that can hold any of the supported value types. # The value to compare to.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
+          &quot;endAt&quot;: { # A position in a query result set. # A end point for the query results.
+            &quot;values&quot;: [ # The values that represent a position, in the order they appear in
+                # the order by clause of a query.
+                #
+                # Can contain fewer values than specified in the order by clause.
+              { # A message that can hold any of the supported value types.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
                       #
                       # The map keys represent field names. Field names matching the regular
                       # expression `__.*__` are reserved. Reserved field names are forbidden except
                       # in certain documented contexts. The map keys, represented as UTF-8, must
                       # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
+                    &quot;a_key&quot;: # Object with schema name: Value
                   },
                 },
-                "stringValue": "A String", # A string value.
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                     #
                     # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes of the UTF-8 representation are considered by
                     # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
                     #
                     # Cannot directly contain another array value, though can contain an
                     # map which contains another array.
-                  "values": [ # Values in the array.
+                  &quot;values&quot;: [ # Values in the array.
                     # Object with schema name: Value
                   ],
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
-              },
-              "op": "A String", # The operator to filter by.
-            },
-          },
-          "select": { # The projection of document's fields to return. # The projection to return.
-            "fields": [ # The fields to return.
-                #
-                # If empty, all fields are returned. To only return the name
-                # of the document, use `['__name__']`.
-              { # A reference to a field, such as `max(messages.time) as max_time`.
-                "fieldPath": "A String",
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
               },
             ],
+            &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
+                # to the sort order defined by the query.
+          },
+          &quot;startAt&quot;: { # A position in a query result set. # A starting point for the query results.
+            &quot;values&quot;: [ # The values that represent a position, in the order they appear in
+                # the order by clause of a query.
+                #
+                # Can contain fewer values than specified in the order by clause.
+              { # A message that can hold any of the supported value types.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
+                      #
+                      # The map keys represent field names. Field names matching the regular
+                      # expression `__.*__` are reserved. Reserved field names are forbidden except
+                      # in certain documented contexts. The map keys, represented as UTF-8, must
+                      # not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                    #
+                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                    # queries.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
+                    #
+                    # Cannot directly contain another array value, though can contain an
+                    # map which contains another array.
+                  &quot;values&quot;: [ # Values in the array.
+                    # Object with schema name: Value
+                  ],
+                },
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
+              },
+            ],
+            &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
+                # to the sort order defined by the query.
+          },
+          &quot;where&quot;: { # A filter. # The filter to apply.
+            &quot;unaryFilter&quot;: { # A filter with a single operand. # A filter that takes exactly one argument.
+              &quot;op&quot;: &quot;A String&quot;, # The unary operator to apply.
+              &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
+                &quot;fieldPath&quot;: &quot;A String&quot;,
+              },
+            },
+            &quot;compositeFilter&quot;: { # A filter that merges multiple other filters using the given operator. # A composite filter.
+              &quot;op&quot;: &quot;A String&quot;, # The operator for combining multiple filters.
+              &quot;filters&quot;: [ # The list of filters to combine.
+                  # Must contain at least one filter.
+                # Object with schema name: Filter
+              ],
+            },
+            &quot;fieldFilter&quot;: { # A filter on a specific field. # A filter on a document field.
+              &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
+              &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
+                &quot;fieldPath&quot;: &quot;A String&quot;,
+              },
+              &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
+                      #
+                      # The map keys represent field names. Field names matching the regular
+                      # expression `__.*__` are reserved. Reserved field names are forbidden except
+                      # in certain documented contexts. The map keys, represented as UTF-8, must
+                      # not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                    #
+                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                    # queries.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
+                    #
+                    # Cannot directly contain another array value, though can contain an
+                    # map which contains another array.
+                  &quot;values&quot;: [ # Values in the array.
+                    # Object with schema name: Value
+                  ],
+                },
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
+              },
+            },
           },
         },
-        "parent": "A String", # The parent resource name. In the format:
-            # `projects/{project_id}/databases/{database_id}/documents` or
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            # For example:
-            # `projects/my-project/databases/my-database/documents` or
-            # `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
       },
-      "once": True or False, # If the target should be removed once it is current and consistent.
-      "readTime": "A String", # Start listening after a specific `read_time`.
+      &quot;resumeToken&quot;: &quot;A String&quot;, # A resume token from a prior TargetChange for an identical target.
           #
-          # The client must know the state of matching documents at this time.
+          # Using a resume token with a different target is unsupported and may fail.
+      &quot;once&quot;: True or False, # If the target should be removed once it is current and consistent.
     },
-    "removeTarget": 42, # The ID of a target to remove from this stream.
+    &quot;labels&quot;: { # Labels associated with this target change.
+      &quot;a_key&quot;: &quot;A String&quot;,
+    },
   }
 
   x__xgafv: string, V1 error format.
@@ -1780,33 +1780,49 @@
   An object of the form:
 
     { # The response for Firestore.Listen.
-    "filter": { # A digest of all the documents that match a given target. # A filter to apply to the set of documents previously returned for the
-        # given target.
-        #
-        # Returned when documents may have been removed from the given target, but
-        # the exact documents are unknown.
-      "count": 42, # The total count of documents that match target_id.
+    &quot;targetChange&quot;: { # Targets being watched have changed. # Targets have changed.
+      &quot;targetIds&quot;: [ # The target IDs of targets that have changed.
           #
-          # If different from the count of documents in the client that match, the
-          # client must manually determine which documents no longer match the target.
-      "targetId": 42, # The target ID to which this filter applies.
-    },
-    "documentDelete": { # A Document has been deleted. # A Document has been deleted.
-        #
-        # May be the result of multiple writes, including updates, the
-        # last of which deleted the Document.
-        #
-        # Multiple DocumentDelete messages may be returned for the same logical
-        # delete, if multiple targets are affected.
-      "removedTargetIds": [ # A set of target IDs for targets that previously matched this entity.
+          # If empty, the change applies to all targets.
+          #
+          # The order of the target IDs is not defined.
         42,
       ],
-      "document": "A String", # The resource name of the Document that was deleted.
-      "readTime": "A String", # The read timestamp at which the delete was observed.
+      &quot;cause&quot;: { # The `Status` type defines a logical error model that is suitable for # The error that resulted in this change, if applicable.
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+          # three pieces of data: error code, error message, and error details.
           #
-          # Greater or equal to the `commit_time` of the delete.
+          # You can find out more about this error model and how to work with it in the
+          # [API Design Guide](https://cloud.google.com/apis/design/errors).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;readTime&quot;: &quot;A String&quot;, # The consistent `read_time` for the given `target_ids` (omitted when the
+          # target_ids are not at a consistent snapshot).
+          #
+          # The stream is guaranteed to send a `read_time` with `target_ids` empty
+          # whenever the entire stream reaches a new consistent snapshot. ADD,
+          # CURRENT, and RESET messages are guaranteed to (eventually) result in a
+          # new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
+          #
+          # For a given stream, `read_time` is guaranteed to be monotonically
+          # increasing.
+      &quot;targetChangeType&quot;: &quot;A String&quot;, # The type of change that occurred.
+      &quot;resumeToken&quot;: &quot;A String&quot;, # A token that can be used to resume the stream for the given `target_ids`,
+          # or all targets if `target_ids` is empty.
+          #
+          # Not set on every target change.
     },
-    "documentRemove": { # A Document has been removed from the view of the targets. # A Document has been removed from a target (because it is no longer
+    &quot;documentRemove&quot;: { # A Document has been removed from the view of the targets. # A Document has been removed from a target (because it is no longer
         # relevant to that target).
         #
         # Sent if the document is no longer relevant to a target and is out of view.
@@ -1815,30 +1831,63 @@
         #
         # Multiple DocumentRemove messages may be returned for the same logical
         # write or delete, if multiple targets are affected.
-      "removedTargetIds": [ # A set of target IDs for targets that previously matched this document.
+      &quot;removedTargetIds&quot;: [ # A set of target IDs for targets that previously matched this document.
         42,
       ],
-      "document": "A String", # The resource name of the Document that has gone out of view.
-      "readTime": "A String", # The read timestamp at which the remove was observed.
+      &quot;document&quot;: &quot;A String&quot;, # The resource name of the Document that has gone out of view.
+      &quot;readTime&quot;: &quot;A String&quot;, # The read timestamp at which the remove was observed.
           #
           # Greater or equal to the `commit_time` of the change/delete/remove.
     },
-    "documentChange": { # A Document has changed. # A Document has changed.
+    &quot;documentDelete&quot;: { # A Document has been deleted. # A Document has been deleted.
+        #
+        # May be the result of multiple writes, including updates, the
+        # last of which deleted the Document.
+        #
+        # Multiple DocumentDelete messages may be returned for the same logical
+        # delete, if multiple targets are affected.
+      &quot;removedTargetIds&quot;: [ # A set of target IDs for targets that previously matched this entity.
+        42,
+      ],
+      &quot;document&quot;: &quot;A String&quot;, # The resource name of the Document that was deleted.
+      &quot;readTime&quot;: &quot;A String&quot;, # The read timestamp at which the delete was observed.
+          #
+          # Greater or equal to the `commit_time` of the delete.
+    },
+    &quot;filter&quot;: { # A digest of all the documents that match a given target. # A filter to apply to the set of documents previously returned for the
+        # given target.
+        #
+        # Returned when documents may have been removed from the given target, but
+        # the exact documents are unknown.
+      &quot;count&quot;: 42, # The total count of documents that match target_id.
+          #
+          # If different from the count of documents in the client that match, the
+          # client must manually determine which documents no longer match the target.
+      &quot;targetId&quot;: 42, # The target ID to which this filter applies.
+    },
+    &quot;documentChange&quot;: { # A Document has changed. # A Document has changed.
         #
         # May be the result of multiple writes, including deletes, that
         # ultimately resulted in a new value for the Document.
         #
         # Multiple DocumentChange messages may be returned for the same logical
         # change, if multiple targets are affected.
-      "removedTargetIds": [ # A set of target IDs for targets that no longer match this document.
+      &quot;removedTargetIds&quot;: [ # A set of target IDs for targets that no longer match this document.
         42,
       ],
-      "document": { # A Firestore document. # The new state of the Document.
+      &quot;document&quot;: { # A Firestore document. # The new state of the Document.
           #
           # If `mask` is set, contains only fields that were updated or added.
           #
           # Must not exceed 1 MiB - 4 bytes.
-        "fields": { # The document's fields.
+        &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+            #
+            # This value increases monotonically when a document is deleted then
+            # recreated. It can also be compared to values from other documents and
+            # the `read_time` of a query.
+        &quot;fields&quot;: { # The document&#x27;s fields.
             #
             # The map keys represent field names.
             #
@@ -1855,125 +1904,76 @@
             # defined here. For `map_value`, the field path is represented by the simple
             # or quoted field names of the containing fields, delimited by `.`. For
             # example, the structured field
-            # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+            # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
             # represented by the field path `foo.x&amp;y`.
             #
             # Within a field path, a quoted field name starts and ends with `` ` `` and
             # may contain any character. Some characters, including `` ` ``, must be
             # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
             # `` `bak\`tik` `` represents `` bak`tik ``.
-          "a_key": { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
+          &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
                   #
                   # The map keys represent field names. Field names matching the regular
                   # expression `__.*__` are reserved. Reserved field names are forbidden except
                   # in certain documented contexts. The map keys, represented as UTF-8, must
                   # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
+                &quot;a_key&quot;: # Object with schema name: Value
               },
             },
-            "stringValue": "A String", # A string value.
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                 #
                 # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                 # Only the first 1,500 bytes of the UTF-8 representation are considered by
                 # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
                 #
                 # Cannot directly contain another array value, though can contain an
                 # map which contains another array.
-              "values": [ # Values in the array.
+              &quot;values&quot;: [ # Values in the array.
                 # Object with schema name: Value
               ],
             },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
           },
         },
-        "updateTime": "A String", # Output only. The time at which the document was last changed.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
             #
             # This value is initially set to the `create_time` then increases
             # monotonically with each change to the document. It can also be
             # compared to values from other documents and the `read_time` of a query.
-        "createTime": "A String", # Output only. The time at which the document was created.
-            #
-            # This value increases monotonically when a document is deleted then
-            # recreated. It can also be compared to values from other documents and
-            # the `read_time` of a query.
-        "name": "A String", # The resource name of the document, for example
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
       },
-      "targetIds": [ # A set of target IDs of targets that match this document.
+      &quot;targetIds&quot;: [ # A set of target IDs of targets that match this document.
         42,
       ],
     },
-    "targetChange": { # Targets being watched have changed. # Targets have changed.
-      "resumeToken": "A String", # A token that can be used to resume the stream for the given `target_ids`,
-          # or all targets if `target_ids` is empty.
-          #
-          # Not set on every target change.
-      "targetChangeType": "A String", # The type of change that occurred.
-      "cause": { # The `Status` type defines a logical error model that is suitable for # The error that resulted in this change, if applicable.
-          # different programming environments, including REST APIs and RPC APIs. It is
-          # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-          # three pieces of data: error code, error message, and error details.
-          #
-          # You can find out more about this error model and how to work with it in the
-          # [API Design Guide](https://cloud.google.com/apis/design/errors).
-        "message": "A String", # A developer-facing error message, which should be in English. Any
-            # user-facing error message should be localized and sent in the
-            # google.rpc.Status.details field, or localized by the client.
-        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-        "details": [ # A list of messages that carry the error details.  There is a common set of
-            # message types for APIs to use.
-          {
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
-          },
-        ],
-      },
-      "targetIds": [ # The target IDs of targets that have changed.
-          #
-          # If empty, the change applies to all targets.
-          #
-          # The order of the target IDs is not defined.
-        42,
-      ],
-      "readTime": "A String", # The consistent `read_time` for the given `target_ids` (omitted when the
-          # target_ids are not at a consistent snapshot).
-          #
-          # The stream is guaranteed to send a `read_time` with `target_ids` empty
-          # whenever the entire stream reaches a new consistent snapshot. ADD,
-          # CURRENT, and RESET messages are guaranteed to (eventually) result in a
-          # new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
-          #
-          # For a given stream, `read_time` is guaranteed to be monotonically
-          # increasing.
-    },
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(name, body=None, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None, currentDocument_updateTime=None, currentDocument_exists=None)</code>
+    <code class="details" id="patch">patch(name, body=None, currentDocument_updateTime=None, currentDocument_exists=None, updateMask_fieldPaths=None, mask_fieldPaths=None, x__xgafv=None)</code>
   <pre>Updates or inserts a document.
 
 Args:
@@ -1985,7 +1985,14 @@
 { # A Firestore document.
     # 
     # Must not exceed 1 MiB - 4 bytes.
-  "fields": { # The document's fields.
+  &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+      # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+      # 
+      # This value increases monotonically when a document is deleted then
+      # recreated. It can also be compared to values from other documents and
+      # the `read_time` of a query.
+  &quot;fields&quot;: { # The document&#x27;s fields.
       # 
       # The map keys represent field names.
       # 
@@ -2002,75 +2009,72 @@
       # defined here. For `map_value`, the field path is represented by the simple
       # or quoted field names of the containing fields, delimited by `.`. For
       # example, the structured field
-      # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+      # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
       # represented by the field path `foo.x&amp;y`.
       # 
       # Within a field path, a quoted field name starts and ends with `` ` `` and
       # may contain any character. Some characters, including `` ` ``, must be
       # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
       # `` `bak\`tik` `` represents `` bak`tik ``.
-    "a_key": { # A message that can hold any of the supported value types.
-      "bytesValue": "A String", # A bytes value.
-          #
-          # Must not exceed 1 MiB - 89 bytes.
-          # Only the first 1,500 bytes are considered by queries.
-      "timestampValue": "A String", # A timestamp value.
-          #
-          # Precise only to microseconds. When stored, any additional precision is
-          # rounded down.
-      "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-          # of doubles representing degrees latitude and degrees longitude. Unless
-          # specified otherwise, this must conform to the
-          # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-          # standard&lt;/a&gt;. Values must be within normalized ranges.
-        "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-        "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-      },
-      "referenceValue": "A String", # A reference to a document. For example:
-          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-      "doubleValue": 3.14, # A double value.
-      "mapValue": { # A map value. # A map value.
-        "fields": { # The map's fields.
+    &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+      &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+      &quot;booleanValue&quot;: True or False, # A boolean value.
+      &quot;mapValue&quot;: { # A map value. # A map value.
+        &quot;fields&quot;: { # The map&#x27;s fields.
             #
             # The map keys represent field names. Field names matching the regular
             # expression `__.*__` are reserved. Reserved field names are forbidden except
             # in certain documented contexts. The map keys, represented as UTF-8, must
             # not exceed 1,500 bytes and cannot be empty.
-          "a_key": # Object with schema name: Value
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
-      "stringValue": "A String", # A string value.
+      &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+          # of doubles representing degrees latitude and degrees longitude. Unless
+          # specified otherwise, this must conform to the
+          # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+          # standard&lt;/a&gt;. Values must be within normalized ranges.
+        &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+        &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+      },
+      &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+          #
+          # Must not exceed 1 MiB - 89 bytes.
+          # Only the first 1,500 bytes are considered by queries.
+      &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+      &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
           #
           # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
           # Only the first 1,500 bytes of the UTF-8 representation are considered by
           # queries.
-      "booleanValue": True or False, # A boolean value.
-      "arrayValue": { # An array value. # An array value.
+      &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+      &quot;arrayValue&quot;: { # An array value. # An array value.
           #
           # Cannot directly contain another array value, though can contain an
           # map which contains another array.
-        "values": [ # Values in the array.
+        &quot;values&quot;: [ # Values in the array.
           # Object with schema name: Value
         ],
       },
-      "integerValue": "A String", # An integer value.
-      "nullValue": "A String", # A null value.
+      &quot;doubleValue&quot;: 3.14, # A double value.
+      &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+          #
+          # Precise only to microseconds. When stored, any additional precision is
+          # rounded down.
     },
   },
-  "updateTime": "A String", # Output only. The time at which the document was last changed.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
       # 
       # This value is initially set to the `create_time` then increases
       # monotonically with each change to the document. It can also be
       # compared to values from other documents and the `read_time` of a query.
-  "createTime": "A String", # Output only. The time at which the document was created.
-      # 
-      # This value increases monotonically when a document is deleted then
-      # recreated. It can also be compared to values from other documents and
-      # the `read_time` of a query.
-  "name": "A String", # The resource name of the document, for example
-      # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
 }
 
+  currentDocument_updateTime: string, When set, the target document must exist and have been last updated at
+that time.
+  currentDocument_exists: boolean, When set to `true`, the target document must exist.
+When set to `false`, the target document must not exist.
   updateMask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
 path syntax reference. (repeated)
   mask_fieldPaths: string, The list of field paths in the mask. See Document.fields for a field
@@ -2079,10 +2083,6 @@
     Allowed values
       1 - v1 error format
       2 - v2 error format
-  currentDocument_updateTime: string, When set, the target document must exist and have been last updated at
-that time.
-  currentDocument_exists: boolean, When set to `true`, the target document must exist.
-When set to `false`, the target document must not exist.
 
 Returns:
   An object of the form:
@@ -2090,7 +2090,14 @@
     { # A Firestore document.
       #
       # Must not exceed 1 MiB - 4 bytes.
-    "fields": { # The document's fields.
+    &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+        #
+        # This value increases monotonically when a document is deleted then
+        # recreated. It can also be compared to values from other documents and
+        # the `read_time` of a query.
+    &quot;fields&quot;: { # The document&#x27;s fields.
         #
         # The map keys represent field names.
         #
@@ -2107,73 +2114,66 @@
         # defined here. For `map_value`, the field path is represented by the simple
         # or quoted field names of the containing fields, delimited by `.`. For
         # example, the structured field
-        # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+        # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
         # represented by the field path `foo.x&amp;y`.
         #
         # Within a field path, a quoted field name starts and ends with `` ` `` and
         # may contain any character. Some characters, including `` ` ``, must be
         # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
         # `` `bak\`tik` `` represents `` bak`tik ``.
-      "a_key": { # A message that can hold any of the supported value types.
-        "bytesValue": "A String", # A bytes value.
-            #
-            # Must not exceed 1 MiB - 89 bytes.
-            # Only the first 1,500 bytes are considered by queries.
-        "timestampValue": "A String", # A timestamp value.
-            #
-            # Precise only to microseconds. When stored, any additional precision is
-            # rounded down.
-        "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "referenceValue": "A String", # A reference to a document. For example:
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-        "doubleValue": 3.14, # A double value.
-        "mapValue": { # A map value. # A map value.
-          "fields": { # The map's fields.
+      &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+        &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+        &quot;booleanValue&quot;: True or False, # A boolean value.
+        &quot;mapValue&quot;: { # A map value. # A map value.
+          &quot;fields&quot;: { # The map&#x27;s fields.
               #
               # The map keys represent field names. Field names matching the regular
               # expression `__.*__` are reserved. Reserved field names are forbidden except
               # in certain documented contexts. The map keys, represented as UTF-8, must
               # not exceed 1,500 bytes and cannot be empty.
-            "a_key": # Object with schema name: Value
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
-        "stringValue": "A String", # A string value.
+        &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+            #
+            # Must not exceed 1 MiB - 89 bytes.
+            # Only the first 1,500 bytes are considered by queries.
+        &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+        &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
             #
             # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
             # Only the first 1,500 bytes of the UTF-8 representation are considered by
             # queries.
-        "booleanValue": True or False, # A boolean value.
-        "arrayValue": { # An array value. # An array value.
+        &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;arrayValue&quot;: { # An array value. # An array value.
             #
             # Cannot directly contain another array value, though can contain an
             # map which contains another array.
-          "values": [ # Values in the array.
+          &quot;values&quot;: [ # Values in the array.
             # Object with schema name: Value
           ],
         },
-        "integerValue": "A String", # An integer value.
-        "nullValue": "A String", # A null value.
+        &quot;doubleValue&quot;: 3.14, # A double value.
+        &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+            #
+            # Precise only to microseconds. When stored, any additional precision is
+            # rounded down.
       },
     },
-    "updateTime": "A String", # Output only. The time at which the document was last changed.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
         #
         # This value is initially set to the `create_time` then increases
         # monotonically with each change to the document. It can also be
         # compared to values from other documents and the `read_time` of a query.
-    "createTime": "A String", # Output only. The time at which the document was created.
-        #
-        # This value increases monotonically when a document is deleted then
-        # recreated. It can also be compared to values from other documents and
-        # the `read_time` of a query.
-    "name": "A String", # The resource name of the document, for example
-        # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
   }</pre>
 </div>
 
@@ -2188,7 +2188,7 @@
     The object takes the form of:
 
 { # The request for Firestore.Rollback.
-    "transaction": "A String", # Required. The transaction to roll back.
+    &quot;transaction&quot;: &quot;A String&quot;, # Required. The transaction to roll back.
   }
 
   x__xgafv: string, V1 error format.
@@ -2226,21 +2226,23 @@
     The object takes the form of:
 
 { # The request for Firestore.RunQuery.
-    "newTransaction": { # Options for creating a new transaction. # Starts a new transaction and reads the documents.
+    &quot;readTime&quot;: &quot;A String&quot;, # Reads documents as they were at the given time.
+        # This may not be older than 270 seconds.
+    &quot;newTransaction&quot;: { # Options for creating a new transaction. # Starts a new transaction and reads the documents.
         # Defaults to a read-only transaction.
         # The new transaction ID will be returned as the first response in the
         # stream.
-      "readWrite": { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
-        "retryTransaction": "A String", # An optional transaction to retry.
-      },
-      "readOnly": { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
-        "readTime": "A String", # Reads documents at the given time.
+      &quot;readOnly&quot;: { # Options for a transaction that can only be used to read documents. # The transaction can only be used for read operations.
+        &quot;readTime&quot;: &quot;A String&quot;, # Reads documents at the given time.
             # This may not be older than 60 seconds.
       },
+      &quot;readWrite&quot;: { # Options for a transaction that can be used to read and write documents. # The transaction can be used for both read and write operations.
+        &quot;retryTransaction&quot;: &quot;A String&quot;, # An optional transaction to retry.
+      },
     },
-    "transaction": "A String", # Reads documents in a transaction.
-    "structuredQuery": { # A Firestore query. # A structured query.
-      "orderBy": [ # The order to apply to the query results.
+    &quot;transaction&quot;: &quot;A String&quot;, # Reads documents in a transaction.
+    &quot;structuredQuery&quot;: { # A Firestore query. # A structured query.
+      &quot;orderBy&quot;: [ # The order to apply to the query results.
           #
           # Firestore guarantees a stable ordering through the following rules:
           #
@@ -2250,7 +2252,7 @@
           #  * If an order on `__name__` is not specified, it is appended by default.
           #
           # Fields are appended with the same sort direction as the last order
-          # specified, or 'ASCENDING' if no order was specified. For example:
+          # specified, or &#x27;ASCENDING&#x27; if no order was specified. For example:
           #
           #  * `SELECT * FROM Foo ORDER BY A` becomes
           #    `SELECT * FROM Foo ORDER BY A, __name__`
@@ -2259,222 +2261,220 @@
           #  * `SELECT * FROM Foo WHERE A &gt; 1` becomes
           #    `SELECT * FROM Foo WHERE A &gt; 1 ORDER BY A, __name__`
         { # An order on a field.
-          "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
-            "fieldPath": "A String",
+          &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to order by.
+            &quot;fieldPath&quot;: &quot;A String&quot;,
           },
-          "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
+          &quot;direction&quot;: &quot;A String&quot;, # The direction to order by. Defaults to `ASCENDING`.
         },
       ],
-      "startAt": { # A position in a query result set. # A starting point for the query results.
-        "values": [ # The values that represent a position, in the order they appear in
-            # the order by clause of a query.
+      &quot;select&quot;: { # The projection of document&#x27;s fields to return. # The projection to return.
+        &quot;fields&quot;: [ # The fields to return.
             #
-            # Can contain fewer values than specified in the order by clause.
-          { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
-                  #
-                  # The map keys represent field names. Field names matching the regular
-                  # expression `__.*__` are reserved. Reserved field names are forbidden except
-                  # in certain documented contexts. The map keys, represented as UTF-8, must
-                  # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
-              },
-            },
-            "stringValue": "A String", # A string value.
-                #
-                # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
-                #
-                # Cannot directly contain another array value, though can contain an
-                # map which contains another array.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
+            # If empty, all fields are returned. To only return the name
+            # of the document, use `[&#x27;__name__&#x27;]`.
+          { # A reference to a field, such as `max(messages.time) as max_time`.
+            &quot;fieldPath&quot;: &quot;A String&quot;,
           },
         ],
-        "before": True or False, # If the position is just before or just after the given values, relative
-            # to the sort order defined by the query.
       },
-      "endAt": { # A position in a query result set. # A end point for the query results.
-        "values": [ # The values that represent a position, in the order they appear in
-            # the order by clause of a query.
-            #
-            # Can contain fewer values than specified in the order by clause.
-          { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
-                  #
-                  # The map keys represent field names. Field names matching the regular
-                  # expression `__.*__` are reserved. Reserved field names are forbidden except
-                  # in certain documented contexts. The map keys, represented as UTF-8, must
-                  # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
-              },
-            },
-            "stringValue": "A String", # A string value.
-                #
-                # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
-                #
-                # Cannot directly contain another array value, though can contain an
-                # map which contains another array.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
-          },
-        ],
-        "before": True or False, # If the position is just before or just after the given values, relative
-            # to the sort order defined by the query.
-      },
-      "limit": 42, # The maximum number of results to return.
+      &quot;limit&quot;: 42, # The maximum number of results to return.
           #
           # Applies after all other constraints.
           # Must be &gt;= 0 if specified.
-      "offset": 42, # The number of results to skip.
+      &quot;offset&quot;: 42, # The number of results to skip.
           #
           # Applies before limit, but after all other constraints. Must be &gt;= 0 if
           # specified.
-      "from": [ # The collections to query.
+      &quot;from&quot;: [ # The collections to query.
         { # A selection of a collection, such as `messages as m1`.
-          "allDescendants": True or False, # When false, selects only collections that are immediate children of
+          &quot;allDescendants&quot;: True or False, # When false, selects only collections that are immediate children of
               # the `parent` specified in the containing `RunQueryRequest`.
               # When true, selects all descendant collections.
-          "collectionId": "A String", # The collection ID.
+          &quot;collectionId&quot;: &quot;A String&quot;, # The collection ID.
               # When set, selects only collections with this ID.
         },
       ],
-      "where": { # A filter. # The filter to apply.
-        "unaryFilter": { # A filter with a single operand. # A filter that takes exactly one argument.
-          "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
-            "fieldPath": "A String",
-          },
-          "op": "A String", # The unary operator to apply.
-        },
-        "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
-          "filters": [ # The list of filters to combine.
-              # Must contain at least one filter.
-            # Object with schema name: Filter
-          ],
-          "op": "A String", # The operator for combining multiple filters.
-        },
-        "fieldFilter": { # A filter on a specific field. # A filter on a document field.
-          "field": { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
-            "fieldPath": "A String",
-          },
-          "value": { # A message that can hold any of the supported value types. # The value to compare to.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
+      &quot;endAt&quot;: { # A position in a query result set. # A end point for the query results.
+        &quot;values&quot;: [ # The values that represent a position, in the order they appear in
+            # the order by clause of a query.
+            #
+            # Can contain fewer values than specified in the order by clause.
+          { # A message that can hold any of the supported value types.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
                   #
                   # The map keys represent field names. Field names matching the regular
                   # expression `__.*__` are reserved. Reserved field names are forbidden except
                   # in certain documented contexts. The map keys, represented as UTF-8, must
                   # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
+                &quot;a_key&quot;: # Object with schema name: Value
               },
             },
-            "stringValue": "A String", # A string value.
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                 #
                 # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                 # Only the first 1,500 bytes of the UTF-8 representation are considered by
                 # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
                 #
                 # Cannot directly contain another array value, though can contain an
                 # map which contains another array.
-              "values": [ # Values in the array.
+              &quot;values&quot;: [ # Values in the array.
                 # Object with schema name: Value
               ],
             },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
-          },
-          "op": "A String", # The operator to filter by.
-        },
-      },
-      "select": { # The projection of document's fields to return. # The projection to return.
-        "fields": [ # The fields to return.
-            #
-            # If empty, all fields are returned. To only return the name
-            # of the document, use `['__name__']`.
-          { # A reference to a field, such as `max(messages.time) as max_time`.
-            "fieldPath": "A String",
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
           },
         ],
+        &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
+            # to the sort order defined by the query.
+      },
+      &quot;startAt&quot;: { # A position in a query result set. # A starting point for the query results.
+        &quot;values&quot;: [ # The values that represent a position, in the order they appear in
+            # the order by clause of a query.
+            #
+            # Can contain fewer values than specified in the order by clause.
+          { # A message that can hold any of the supported value types.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
+                  #
+                  # The map keys represent field names. Field names matching the regular
+                  # expression `__.*__` are reserved. Reserved field names are forbidden except
+                  # in certain documented contexts. The map keys, represented as UTF-8, must
+                  # not exceed 1,500 bytes and cannot be empty.
+                &quot;a_key&quot;: # Object with schema name: Value
+              },
+            },
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                #
+                # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                # queries.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
+                #
+                # Cannot directly contain another array value, though can contain an
+                # map which contains another array.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
+          },
+        ],
+        &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative
+            # to the sort order defined by the query.
+      },
+      &quot;where&quot;: { # A filter. # The filter to apply.
+        &quot;unaryFilter&quot;: { # A filter with a single operand. # A filter that takes exactly one argument.
+          &quot;op&quot;: &quot;A String&quot;, # The unary operator to apply.
+          &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to which to apply the operator.
+            &quot;fieldPath&quot;: &quot;A String&quot;,
+          },
+        },
+        &quot;compositeFilter&quot;: { # A filter that merges multiple other filters using the given operator. # A composite filter.
+          &quot;op&quot;: &quot;A String&quot;, # The operator for combining multiple filters.
+          &quot;filters&quot;: [ # The list of filters to combine.
+              # Must contain at least one filter.
+            # Object with schema name: Filter
+          ],
+        },
+        &quot;fieldFilter&quot;: { # A filter on a specific field. # A filter on a document field.
+          &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
+          &quot;field&quot;: { # A reference to a field, such as `max(messages.time) as max_time`. # The field to filter by.
+            &quot;fieldPath&quot;: &quot;A String&quot;,
+          },
+          &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
+                  #
+                  # The map keys represent field names. Field names matching the regular
+                  # expression `__.*__` are reserved. Reserved field names are forbidden except
+                  # in certain documented contexts. The map keys, represented as UTF-8, must
+                  # not exceed 1,500 bytes and cannot be empty.
+                &quot;a_key&quot;: # Object with schema name: Value
+              },
+            },
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                #
+                # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                # queries.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
+                #
+                # Cannot directly contain another array value, though can contain an
+                # map which contains another array.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
+          },
+        },
       },
     },
-    "readTime": "A String", # Reads documents as they were at the given time.
-        # This may not be older than 270 seconds.
   }
 
   x__xgafv: string, V1 error format.
@@ -2486,17 +2486,18 @@
   An object of the form:
 
     { # The response for Firestore.RunQuery.
-    "skippedResults": 42, # The number of results that have been skipped due to an offset between
-        # the last response and the current response.
-    "transaction": "A String", # The transaction that was started as part of this request.
-        # Can only be set in the first response, and only if
-        # RunQueryRequest.new_transaction was set in the request.
-        # If set, no other fields will be set in this response.
-    "document": { # A Firestore document. # A query result.
+    &quot;document&quot;: { # A Firestore document. # A query result.
         # Not set when reporting partial progress.
         #
         # Must not exceed 1 MiB - 4 bytes.
-      "fields": { # The document's fields.
+      &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+          #
+          # This value increases monotonically when a document is deleted then
+          # recreated. It can also be compared to values from other documents and
+          # the `read_time` of a query.
+      &quot;fields&quot;: { # The document&#x27;s fields.
           #
           # The map keys represent field names.
           #
@@ -2513,81 +2514,80 @@
           # defined here. For `map_value`, the field path is represented by the simple
           # or quoted field names of the containing fields, delimited by `.`. For
           # example, the structured field
-          # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+          # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
           # represented by the field path `foo.x&amp;y`.
           #
           # Within a field path, a quoted field name starts and ends with `` ` `` and
           # may contain any character. Some characters, including `` ` ``, must be
           # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
           # `` `bak\`tik` `` represents `` bak`tik ``.
-        "a_key": { # A message that can hold any of the supported value types.
-          "bytesValue": "A String", # A bytes value.
-              #
-              # Must not exceed 1 MiB - 89 bytes.
-              # Only the first 1,500 bytes are considered by queries.
-          "timestampValue": "A String", # A timestamp value.
-              #
-              # Precise only to microseconds. When stored, any additional precision is
-              # rounded down.
-          "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "referenceValue": "A String", # A reference to a document. For example:
-              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-          "doubleValue": 3.14, # A double value.
-          "mapValue": { # A map value. # A map value.
-            "fields": { # The map's fields.
+        &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+          &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+          &quot;booleanValue&quot;: True or False, # A boolean value.
+          &quot;mapValue&quot;: { # A map value. # A map value.
+            &quot;fields&quot;: { # The map&#x27;s fields.
                 #
                 # The map keys represent field names. Field names matching the regular
                 # expression `__.*__` are reserved. Reserved field names are forbidden except
                 # in certain documented contexts. The map keys, represented as UTF-8, must
                 # not exceed 1,500 bytes and cannot be empty.
-              "a_key": # Object with schema name: Value
+              &quot;a_key&quot;: # Object with schema name: Value
             },
           },
-          "stringValue": "A String", # A string value.
+          &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          },
+          &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+              #
+              # Must not exceed 1 MiB - 89 bytes.
+              # Only the first 1,500 bytes are considered by queries.
+          &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+          &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
               #
               # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
               # Only the first 1,500 bytes of the UTF-8 representation are considered by
               # queries.
-          "booleanValue": True or False, # A boolean value.
-          "arrayValue": { # An array value. # An array value.
+          &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+          &quot;arrayValue&quot;: { # An array value. # An array value.
               #
               # Cannot directly contain another array value, though can contain an
               # map which contains another array.
-            "values": [ # Values in the array.
+            &quot;values&quot;: [ # Values in the array.
               # Object with schema name: Value
             ],
           },
-          "integerValue": "A String", # An integer value.
-          "nullValue": "A String", # A null value.
+          &quot;doubleValue&quot;: 3.14, # A double value.
+          &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+              #
+              # Precise only to microseconds. When stored, any additional precision is
+              # rounded down.
         },
       },
-      "updateTime": "A String", # Output only. The time at which the document was last changed.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
           #
           # This value is initially set to the `create_time` then increases
           # monotonically with each change to the document. It can also be
           # compared to values from other documents and the `read_time` of a query.
-      "createTime": "A String", # Output only. The time at which the document was created.
-          #
-          # This value increases monotonically when a document is deleted then
-          # recreated. It can also be compared to values from other documents and
-          # the `read_time` of a query.
-      "name": "A String", # The resource name of the document, for example
-          # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
     },
-    "readTime": "A String", # The time at which the document was read. This may be monotonically
+    &quot;readTime&quot;: &quot;A String&quot;, # The time at which the document was read. This may be monotonically
         # increasing; in this case, the previous documents in the result stream are
         # guaranteed not to have changed between their `read_time` and this one.
         #
         # If the query returns no results, a response with `read_time` and no
         # `document` will be sent, and this represents the time at which the query
         # was run.
+    &quot;skippedResults&quot;: 42, # The number of results that have been skipped due to an offset between
+        # the last response and the current response.
+    &quot;transaction&quot;: &quot;A String&quot;, # The transaction that was started as part of this request.
+        # Can only be set in the first response, and only if
+        # RunQueryRequest.new_transaction was set in the request.
+        # If set, no other fields will be set in this response.
   }</pre>
 </div>
 
@@ -2612,29 +2612,106 @@
       # When resuming a stream, the server first streams any responses later than the
       # given token, then a response containing only an up-to-date token, to use in
       # the next request.
-    "writes": [ # The writes to apply.
+    &quot;streamId&quot;: &quot;A String&quot;, # The ID of the write stream to resume.
+        # This may only be set in the first message. When left empty, a new write
+        # stream will be created.
+    &quot;streamToken&quot;: &quot;A String&quot;, # A stream token that was previously sent by the server.
+        # 
+        # The client should set this field to the token from the most recent
+        # WriteResponse it has received. This acknowledges that the client has
+        # received responses up to this token. After sending this token, earlier
+        # tokens may not be used anymore.
+        # 
+        # The server may close the stream if there are too many unacknowledged
+        # responses.
+        # 
+        # Leave this field unset when creating a new stream. To resume a stream at
+        # a specific point, set this field and the `stream_id` field.
+        # 
+        # Leave this field unset when creating a new stream.
+    &quot;writes&quot;: [ # The writes to apply.
         # 
         # Always executed atomically and in order.
         # This must be empty on the first request.
         # This may be empty on the last request.
         # This must not be empty on all other requests.
       { # A write on a document.
-        "currentDocument": { # A precondition on a document, used for conditional operations. # An optional precondition on the document.
-            #
-            # The write will fail if this is set and not met by the target document.
-          "updateTime": "A String", # When set, the target document must exist and have been last updated at
-              # that time.
-          "exists": True or False, # When set to `true`, the target document must exist.
-              # When set to `false`, the target document must not exist.
-        },
-        "transform": { # A transformation of a document. # Applies a transformation to a document.
-          "document": "A String", # The name of the document to transform.
-          "fieldTransforms": [ # The list of transformations to apply to the fields of the document, in
+        &quot;transform&quot;: { # A transformation of a document. # Applies a transformation to a document.
+          &quot;fieldTransforms&quot;: [ # The list of transformations to apply to the fields of the document, in
               # order.
               # This must not be empty.
             { # A transformation of a field of the document.
-              "setToServerValue": "A String", # Sets the field to the given server value.
-              "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
+              &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value.
+                  #
+                  # This must be an integer or a double value.
+                  # If the field is not an integer or double, or if the field does not yet
+                  # exist, the transformation will set the field to the given value.
+                  # If either of the given value or the current field value are doubles,
+                  # both values will be interpreted as doubles. Double arithmetic and
+                  # representation of double values follow IEEE 754 semantics.
+                  # If there is positive/negative integer overflow, the field is resolved
+                  # to the largest magnitude positive/negative integer.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
+                      #
+                      # The map keys represent field names. Field names matching the regular
+                      # expression `__.*__` are reserved. Reserved field names are forbidden except
+                      # in certain documented contexts. The map keys, represented as UTF-8, must
+                      # not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                    #
+                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                    # queries.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
+                    #
+                    # Cannot directly contain another array value, though can contain an
+                    # map which contains another array.
+                  &quot;values&quot;: [ # Values in the array.
+                    # Object with schema name: Value
+                  ],
+                },
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
+              },
+              &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field.
+                  # If the field is not an array, or if the field does not yet exist, it is
+                  # set to the empty array.
+                  #
+                  # Equivalent numbers of the different types (e.g. 3L and 3.0) are
+                  # considered equal when deciding whether an element should be removed.
+                  # NaN is equal to NaN, and Null is equal to Null.
+                  # This will remove all equivalent values if there are duplicates.
+                  #
+                  # The corresponding transform_result will be the null value.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
                   #
                   # This must be an integer or a double value.
                   # If the field is not an integer or double, or if the field does not yet
@@ -2646,111 +2723,55 @@
                   # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
                   # zero input value is always the stored value.
                   # The maximum of any numeric value x and NaN is NaN.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
                       #
                       # The map keys represent field names. Field names matching the regular
                       # expression `__.*__` are reserved. Reserved field names are forbidden except
                       # in certain documented contexts. The map keys, represented as UTF-8, must
                       # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
+                    &quot;a_key&quot;: # Object with schema name: Value
                   },
                 },
-                "stringValue": "A String", # A string value.
-                    #
-                    # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                    # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
-                    #
-                    # Cannot directly contain another array value, though can contain an
-                    # map which contains another array.
-                  "values": [ # Values in the array.
-                    # Object with schema name: Value
-                  ],
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
-              },
-              "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value.
-                  #
-                  # This must be an integer or a double value.
-                  # If the field is not an integer or double, or if the field does not yet
-                  # exist, the transformation will set the field to the given value.
-                  # If either of the given value or the current field value are doubles,
-                  # both values will be interpreted as doubles. Double arithmetic and
-                  # representation of double values follow IEEE 754 semantics.
-                  # If there is positive/negative integer overflow, the field is resolved
-                  # to the largest magnitude positive/negative integer.
-                "bytesValue": "A String", # A bytes value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
                     #
                     # Must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
-                      #
-                      # The map keys represent field names. Field names matching the regular
-                      # expression `__.*__` are reserved. Reserved field names are forbidden except
-                      # in certain documented contexts. The map keys, represented as UTF-8, must
-                      # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
-                  },
-                },
-                "stringValue": "A String", # A string value.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                     #
                     # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes of the UTF-8 representation are considered by
                     # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
                     #
                     # Cannot directly contain another array value, though can contain an
                     # map which contains another array.
-                  "values": [ # Values in the array.
+                  &quot;values&quot;: [ # Values in the array.
                     # Object with schema name: Value
                   ],
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
               },
-              "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax
+              &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
                   # reference.
-              "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
+              &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
                   #
                   # This must be an integer or a double value.
                   # If the field is not an integer or double, or if the field does not yet
@@ -2762,53 +2783,53 @@
                   # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
                   # zero input value is always the stored value.
                   # The minimum of any numeric value x and NaN is NaN.
-                "bytesValue": "A String", # A bytes value.
-                    #
-                    # Must not exceed 1 MiB - 89 bytes.
-                    # Only the first 1,500 bytes are considered by queries.
-                "timestampValue": "A String", # A timestamp value.
-                    #
-                    # Precise only to microseconds. When stored, any additional precision is
-                    # rounded down.
-                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "referenceValue": "A String", # A reference to a document. For example:
-                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-                "doubleValue": 3.14, # A double value.
-                "mapValue": { # A map value. # A map value.
-                  "fields": { # The map's fields.
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields.
                       #
                       # The map keys represent field names. Field names matching the regular
                       # expression `__.*__` are reserved. Reserved field names are forbidden except
                       # in certain documented contexts. The map keys, represented as UTF-8, must
                       # not exceed 1,500 bytes and cannot be empty.
-                    "a_key": # Object with schema name: Value
+                    &quot;a_key&quot;: # Object with schema name: Value
                   },
                 },
-                "stringValue": "A String", # A string value.
+                &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                    #
+                    # Must not exceed 1 MiB - 89 bytes.
+                    # Only the first 1,500 bytes are considered by queries.
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                     #
                     # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                     # Only the first 1,500 bytes of the UTF-8 representation are considered by
                     # queries.
-                "booleanValue": True or False, # A boolean value.
-                "arrayValue": { # An array value. # An array value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                    # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;arrayValue&quot;: { # An array value. # An array value.
                     #
                     # Cannot directly contain another array value, though can contain an
                     # map which contains another array.
-                  "values": [ # Values in the array.
+                  &quot;values&quot;: [ # Values in the array.
                     # Object with schema name: Value
                   ],
                 },
-                "integerValue": "A String", # An integer value.
-                "nullValue": "A String", # A null value.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                    #
+                    # Precise only to microseconds. When stored, any additional precision is
+                    # rounded down.
               },
-              "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in
+              &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in
                   # the current field value.
                   # If the field is not an array, or if the field does not yet exist, it is
                   # first set to the empty array.
@@ -2820,31 +2841,239 @@
                   # be considered.
                   #
                   # The corresponding transform_result will be the null value.
-                "values": [ # Values in the array.
+                &quot;values&quot;: [ # Values in the array.
                   # Object with schema name: Value
                 ],
               },
-              "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field.
-                  # If the field is not an array, or if the field does not yet exist, it is
-                  # set to the empty array.
-                  #
-                  # Equivalent numbers of the different types (e.g. 3L and 3.0) are
-                  # considered equal when deciding whether an element should be removed.
-                  # NaN is equal to NaN, and Null is equal to Null.
-                  # This will remove all equivalent values if there are duplicates.
-                  #
-                  # The corresponding transform_result will be the null value.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
             },
           ],
+          &quot;document&quot;: &quot;A String&quot;, # The name of the document to transform.
         },
-        "update": { # A Firestore document. # A document to write.
+        &quot;updateTransforms&quot;: [ # The transforms to perform after update.
+            #
+            # This field can be set only when the operation is `update`. If present, this
+            # write is equivalent to performing `update` and `transform` to the same
+            # document atomically and in order.
+          { # A transformation of a field of the document.
+            &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the given value.
+                # If either of the given value or the current field value are doubles,
+                # both values will be interpreted as doubles. Double arithmetic and
+                # representation of double values follow IEEE 754 semantics.
+                # If there is positive/negative integer overflow, the field is resolved
+                # to the largest magnitude positive/negative integer.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field.
+                # If the field is not an array, or if the field does not yet exist, it is
+                # set to the empty array.
+                #
+                # Equivalent numbers of the different types (e.g. 3L and 3.0) are
+                # considered equal when deciding whether an element should be removed.
+                # NaN is equal to NaN, and Null is equal to Null.
+                # This will remove all equivalent values if there are duplicates.
+                #
+                # The corresponding transform_result will be the null value.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the given value.
+                # If a maximum operation is applied where the field and the input value
+                # are of mixed types (that is - one is an integer and one is a double)
+                # the field takes on the type of the larger operand. If the operands are
+                # equivalent (e.g. 3 and 3.0), the field does not change.
+                # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+                # zero input value is always the stored value.
+                # The maximum of any numeric value x and NaN is NaN.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax
+                # reference.
+            &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
+                #
+                # This must be an integer or a double value.
+                # If the field is not an integer or double, or if the field does not yet
+                # exist, the transformation will set the field to the input value.
+                # If a minimum operation is applied where the field and the input value
+                # are of mixed types (that is - one is an integer and one is a double)
+                # the field takes on the type of the smaller operand. If the operands are
+                # equivalent (e.g. 3 and 3.0), the field does not change.
+                # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
+                # zero input value is always the stored value.
+                # The minimum of any numeric value x and NaN is NaN.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
+                    #
+                    # The map keys represent field names. Field names matching the regular
+                    # expression `__.*__` are reserved. Reserved field names are forbidden except
+                    # in certain documented contexts. The map keys, represented as UTF-8, must
+                    # not exceed 1,500 bytes and cannot be empty.
+                  &quot;a_key&quot;: # Object with schema name: Value
+                },
+              },
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
+                  #
+                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
+                  # queries.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
+                  #
+                  # Cannot directly contain another array value, though can contain an
+                  # map which contains another array.
+                &quot;values&quot;: [ # Values in the array.
+                  # Object with schema name: Value
+                ],
+              },
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
+            },
+            &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in
+                # the current field value.
+                # If the field is not an array, or if the field does not yet exist, it is
+                # first set to the empty array.
+                #
+                # Equivalent numbers of different types (e.g. 3L and 3.0) are
+                # considered equal when checking if a value is missing.
+                # NaN is equal to NaN, and Null is equal to Null.
+                # If the input contains multiple equivalent values, only the first will
+                # be considered.
+                #
+                # The corresponding transform_result will be the null value.
+              &quot;values&quot;: [ # Values in the array.
+                # Object with schema name: Value
+              ],
+            },
+            &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
+          },
+        ],
+        &quot;update&quot;: { # A Firestore document. # A document to write.
             #
             # Must not exceed 1 MiB - 4 bytes.
-          "fields": { # The document's fields.
+          &quot;name&quot;: &quot;A String&quot;, # The resource name of the document, for example
+              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created.
+              #
+              # This value increases monotonically when a document is deleted then
+              # recreated. It can also be compared to values from other documents and
+              # the `read_time` of a query.
+          &quot;fields&quot;: { # The document&#x27;s fields.
               #
               # The map keys represent field names.
               #
@@ -2861,288 +3090,78 @@
               # defined here. For `map_value`, the field path is represented by the simple
               # or quoted field names of the containing fields, delimited by `.`. For
               # example, the structured field
-              # `"foo" : { map_value: { "x&amp;y" : { string_value: "hello" }}}` would be
+              # `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be
               # represented by the field path `foo.x&amp;y`.
               #
               # Within a field path, a quoted field name starts and ends with `` ` `` and
               # may contain any character. Some characters, including `` ` ``, must be
               # escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and
               # `` `bak\`tik` `` represents `` bak`tik ``.
-            "a_key": { # A message that can hold any of the supported value types.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
+            &quot;a_key&quot;: { # A message that can hold any of the supported value types.
+              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+              &quot;booleanValue&quot;: True or False, # A boolean value.
+              &quot;mapValue&quot;: { # A map value. # A map value.
+                &quot;fields&quot;: { # The map&#x27;s fields.
                     #
                     # The map keys represent field names. Field names matching the regular
                     # expression `__.*__` are reserved. Reserved field names are forbidden except
                     # in certain documented contexts. The map keys, represented as UTF-8, must
                     # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
+                  &quot;a_key&quot;: # Object with schema name: Value
                 },
               },
-              "stringValue": "A String", # A string value.
+              &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+              &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                  #
+                  # Must not exceed 1 MiB - 89 bytes.
+                  # Only the first 1,500 bytes are considered by queries.
+              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                   #
                   # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                   # Only the first 1,500 bytes of the UTF-8 representation are considered by
                   # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
+              &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+              &quot;arrayValue&quot;: { # An array value. # An array value.
                   #
                   # Cannot directly contain another array value, though can contain an
                   # map which contains another array.
-                "values": [ # Values in the array.
+                &quot;values&quot;: [ # Values in the array.
                   # Object with schema name: Value
                 ],
               },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
+              &quot;doubleValue&quot;: 3.14, # A double value.
+              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                  #
+                  # Precise only to microseconds. When stored, any additional precision is
+                  # rounded down.
             },
           },
-          "updateTime": "A String", # Output only. The time at which the document was last changed.
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was last changed.
               #
               # This value is initially set to the `create_time` then increases
               # monotonically with each change to the document. It can also be
               # compared to values from other documents and the `read_time` of a query.
-          "createTime": "A String", # Output only. The time at which the document was created.
-              #
-              # This value increases monotonically when a document is deleted then
-              # recreated. It can also be compared to values from other documents and
-              # the `read_time` of a query.
-          "name": "A String", # The resource name of the document, for example
-              # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
         },
-        "updateTransforms": [ # The transforms to perform after update.
+        &quot;delete&quot;: &quot;A String&quot;, # A document name to delete. In the format:
+            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+        &quot;currentDocument&quot;: { # A precondition on a document, used for conditional operations. # An optional precondition on the document.
             #
-            # This field can be set only when the operation is `update`. If present, this
-            # write is equivalent to performing `update` and `transform` to the same
-            # document atomically and in order.
-          { # A transformation of a field of the document.
-            "setToServerValue": "A String", # Sets the field to the given server value.
-            "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the given value.
-                # If a maximum operation is applied where the field and the input value
-                # are of mixed types (that is - one is an integer and one is a double)
-                # the field takes on the type of the larger operand. If the operands are
-                # equivalent (e.g. 3 and 3.0), the field does not change.
-                # 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
-                # zero input value is always the stored value.
-                # The maximum of any numeric value x and NaN is NaN.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the given value.
-                # If either of the given value or the current field value are doubles,
-                # both values will be interpreted as doubles. Double arithmetic and
-                # representation of double values follow IEEE 754 semantics.
-                # If there is positive/negative integer overflow, the field is resolved
-                # to the largest magnitude positive/negative integer.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax
-                # reference.
-            "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value.
-                #
-                # This must be an integer or a double value.
-                # If the field is not an integer or double, or if the field does not yet
-                # exist, the transformation will set the field to the input value.
-                # If a minimum operation is applied where the field and the input value
-                # are of mixed types (that is - one is an integer and one is a double)
-                # the field takes on the type of the smaller operand. If the operands are
-                # equivalent (e.g. 3 and 3.0), the field does not change.
-                # 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and
-                # zero input value is always the stored value.
-                # The minimum of any numeric value x and NaN is NaN.
-              "bytesValue": "A String", # A bytes value.
-                  #
-                  # Must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes are considered by queries.
-              "timestampValue": "A String", # A timestamp value.
-                  #
-                  # Precise only to microseconds. When stored, any additional precision is
-                  # rounded down.
-              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "referenceValue": "A String", # A reference to a document. For example:
-                  # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-              "doubleValue": 3.14, # A double value.
-              "mapValue": { # A map value. # A map value.
-                "fields": { # The map's fields.
-                    #
-                    # The map keys represent field names. Field names matching the regular
-                    # expression `__.*__` are reserved. Reserved field names are forbidden except
-                    # in certain documented contexts. The map keys, represented as UTF-8, must
-                    # not exceed 1,500 bytes and cannot be empty.
-                  "a_key": # Object with schema name: Value
-                },
-              },
-              "stringValue": "A String", # A string value.
-                  #
-                  # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
-                  # Only the first 1,500 bytes of the UTF-8 representation are considered by
-                  # queries.
-              "booleanValue": True or False, # A boolean value.
-              "arrayValue": { # An array value. # An array value.
-                  #
-                  # Cannot directly contain another array value, though can contain an
-                  # map which contains another array.
-                "values": [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
-              "integerValue": "A String", # An integer value.
-              "nullValue": "A String", # A null value.
-            },
-            "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in
-                # the current field value.
-                # If the field is not an array, or if the field does not yet exist, it is
-                # first set to the empty array.
-                #
-                # Equivalent numbers of different types (e.g. 3L and 3.0) are
-                # considered equal when checking if a value is missing.
-                # NaN is equal to NaN, and Null is equal to Null.
-                # If the input contains multiple equivalent values, only the first will
-                # be considered.
-                #
-                # The corresponding transform_result will be the null value.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-            "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field.
-                # If the field is not an array, or if the field does not yet exist, it is
-                # set to the empty array.
-                #
-                # Equivalent numbers of the different types (e.g. 3L and 3.0) are
-                # considered equal when deciding whether an element should be removed.
-                # NaN is equal to NaN, and Null is equal to Null.
-                # This will remove all equivalent values if there are duplicates.
-                #
-                # The corresponding transform_result will be the null value.
-              "values": [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
-          },
-        ],
-        "updateMask": { # A set of field paths on a document. # The fields to update in this write.
+            # The write will fail if this is set and not met by the target document.
+          &quot;updateTime&quot;: &quot;A String&quot;, # When set, the target document must exist and have been last updated at
+              # that time.
+          &quot;exists&quot;: True or False, # When set to `true`, the target document must exist.
+              # When set to `false`, the target document must not exist.
+        },
+        &quot;updateMask&quot;: { # A set of field paths on a document. # The fields to update in this write.
             #
             # This field can be set only when the operation is `update`.
             # If the mask is not set for an `update` and the document exists, any
@@ -3156,35 +3175,16 @@
             # fields.
             # This is different from standard field masks, as this is always scoped to a
             # Document, and takes in account the dynamic nature of Value.
-          "fieldPaths": [ # The list of field paths in the mask. See Document.fields for a field
+          &quot;fieldPaths&quot;: [ # The list of field paths in the mask. See Document.fields for a field
               # path syntax reference.
-            "A String",
+            &quot;A String&quot;,
           ],
         },
-        "delete": "A String", # A document name to delete. In the format:
-            # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
       },
     ],
-    "labels": { # Labels associated with this write request.
-      "a_key": "A String",
+    &quot;labels&quot;: { # Labels associated with this write request.
+      &quot;a_key&quot;: &quot;A String&quot;,
     },
-    "streamToken": "A String", # A stream token that was previously sent by the server.
-        # 
-        # The client should set this field to the token from the most recent
-        # WriteResponse it has received. This acknowledges that the client has
-        # received responses up to this token. After sending this token, earlier
-        # tokens may not be used anymore.
-        # 
-        # The server may close the stream if there are too many unacknowledged
-        # responses.
-        # 
-        # Leave this field unset when creating a new stream. To resume a stream at
-        # a specific point, set this field and the `stream_id` field.
-        # 
-        # Leave this field unset when creating a new stream.
-    "streamId": "A String", # The ID of the write stream to resume.
-        # This may only be set in the first message. When left empty, a new write
-        # stream will be created.
   }
 
   x__xgafv: string, V1 error format.
@@ -3196,76 +3196,76 @@
   An object of the form:
 
     { # The response for Firestore.Write.
-    "writeResults": [ # The result of applying the writes.
+    &quot;streamToken&quot;: &quot;A String&quot;, # A token that represents the position of this response in the stream.
+        # This can be used by a client to resume the stream at this point.
+        #
+        # This field is always set.
+    &quot;writeResults&quot;: [ # The result of applying the writes.
         #
         # This i-th write result corresponds to the i-th write in the
         # request.
       { # The result of applying a write.
-        "updateTime": "A String", # The last update time of the document after applying the write. Not set
+        &quot;updateTime&quot;: &quot;A String&quot;, # The last update time of the document after applying the write. Not set
             # after a `delete`.
             #
             # If the write did not actually change the document, this will be the
             # previous update_time.
-        "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the
+        &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the
             # same order.
           { # A message that can hold any of the supported value types.
-            "bytesValue": "A String", # A bytes value.
-                #
-                # Must not exceed 1 MiB - 89 bytes.
-                # Only the first 1,500 bytes are considered by queries.
-            "timestampValue": "A String", # A timestamp value.
-                #
-                # Precise only to microseconds. When stored, any additional precision is
-                # rounded down.
-            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "referenceValue": "A String", # A reference to a document. For example:
-                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
-            "doubleValue": 3.14, # A double value.
-            "mapValue": { # A map value. # A map value.
-              "fields": { # The map's fields.
+            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+            &quot;booleanValue&quot;: True or False, # A boolean value.
+            &quot;mapValue&quot;: { # A map value. # A map value.
+              &quot;fields&quot;: { # The map&#x27;s fields.
                   #
                   # The map keys represent field names. Field names matching the regular
                   # expression `__.*__` are reserved. Reserved field names are forbidden except
                   # in certain documented contexts. The map keys, represented as UTF-8, must
                   # not exceed 1,500 bytes and cannot be empty.
-                "a_key": # Object with schema name: Value
+                &quot;a_key&quot;: # Object with schema name: Value
               },
             },
-            "stringValue": "A String", # A string value.
+            &quot;geoPointValue&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value.
+                #
+                # Must not exceed 1 MiB - 89 bytes.
+                # Only the first 1,500 bytes are considered by queries.
+            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A string value.
                 #
                 # The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
                 # Only the first 1,500 bytes of the UTF-8 representation are considered by
                 # queries.
-            "booleanValue": True or False, # A boolean value.
-            "arrayValue": { # An array value. # An array value.
+            &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example:
+                # `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+            &quot;arrayValue&quot;: { # An array value. # An array value.
                 #
                 # Cannot directly contain another array value, though can contain an
                 # map which contains another array.
-              "values": [ # Values in the array.
+              &quot;values&quot;: [ # Values in the array.
                 # Object with schema name: Value
               ],
             },
-            "integerValue": "A String", # An integer value.
-            "nullValue": "A String", # A null value.
+            &quot;doubleValue&quot;: 3.14, # A double value.
+            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value.
+                #
+                # Precise only to microseconds. When stored, any additional precision is
+                # rounded down.
           },
         ],
       },
     ],
-    "streamToken": "A String", # A token that represents the position of this response in the stream.
-        # This can be used by a client to resume the stream at this point.
-        #
-        # This field is always set.
-    "commitTime": "A String", # The time at which the commit occurred. Any read with an equal or greater
-        # `read_time` is guaranteed to see the effects of the write.
-    "streamId": "A String", # The ID of the stream.
+    &quot;streamId&quot;: &quot;A String&quot;, # The ID of the stream.
         # Only set on the first message, when a new stream was created.
+    &quot;commitTime&quot;: &quot;A String&quot;, # The time at which the commit occurred. Any read with an equal or greater
+        # `read_time` is guaranteed to see the effects of the write.
   }</pre>
 </div>