Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/cloudsearch_v1.indexing.datasources.html b/docs/dyn/cloudsearch_v1.indexing.datasources.html
new file mode 100644
index 0000000..d69abee
--- /dev/null
+++ b/docs/dyn/cloudsearch_v1.indexing.datasources.html
@@ -0,0 +1,1042 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="cloudsearch_v1.html">Cloud Search API</a> . <a href="cloudsearch_v1.indexing.html">indexing</a> . <a href="cloudsearch_v1.indexing.datasources.html">datasources</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="cloudsearch_v1.indexing.datasources.items.html">items()</a></code>
+</p>
+<p class="firstline">Returns the items Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#deleteSchema">deleteSchema(name, debugOptions_enableDebugging=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the schema of a data source.</p>
+<p class="toc_element">
+  <code><a href="#getSchema">getSchema(name, debugOptions_enableDebugging=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the schema of a data source.</p>
+<p class="toc_element">
+  <code><a href="#updateSchema">updateSchema(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the schema of a data source.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="deleteSchema">deleteSchema(name, debugOptions_enableDebugging=None, x__xgafv=None)</code>
+  <pre>Deletes the schema of a data source.
+
+Args:
+  name: string, Name of the data source to delete Schema.  Format:
+datasources/{source_id} (required)
+  debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field.
+Otherwise, ignore this field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # 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.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getSchema">getSchema(name, debugOptions_enableDebugging=None, x__xgafv=None)</code>
+  <pre>Gets the schema of a data source.
+
+Args:
+  name: string, Name of the data source to get Schema.  Format:
+datasources/{source_id} (required)
+  debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field.
+Otherwise, ignore this field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The schema definition for a data source.
+    "objectDefinitions": [ # The list of top-level objects for the data source.
+        # The maximum number of elements is 10.
+      { # The definition for an object within a data source.
+        "propertyDefinitions": [ # The property definitions for the object.
+            # The maximum number of elements is 1000.
+          { # The definition of a property within an object.
+            "htmlPropertyOptions": { # Options for html properties.
+              "retrievalImportance": { # Indicates the search quality importance of the tokens within the
+                  # field when used for retrieval. Can only be set to DEFAULT or NONE.
+                "importance": "A String", # Indicates the ranking importance given to property when it is matched
+                    # during retrieval. Once set, the token importance of a property cannot be
+                    # changed.
+              },
+              "operatorOptions": { # Used to provide a search operator for html properties. This is optional. # If set, describes how the property should be used as a search operator.
+                  # Search operators let users restrict the query to specific fields relevant
+                  # to the type of item being searched.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # html property. For example, if operatorName is *subject* and the
+                    # property's name is *subjectLine*, then queries like
+                    # *subject:&lt;value&gt;* will show results only where the value of the
+                    # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any
+                    # html properties or text within the content field for the item.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "textPropertyOptions": { # Options for text properties.
+              "retrievalImportance": { # Indicates the search quality importance of the tokens within the
+                  # field when used for retrieval.
+                "importance": "A String", # Indicates the ranking importance given to property when it is matched
+                    # during retrieval. Once set, the token importance of a property cannot be
+                    # changed.
+              },
+              "operatorOptions": { # Used to provide a search operator for text properties. This is optional. # If set, describes how the property should be used as a search operator.
+                  # Search operators let users restrict the query to specific fields relevant
+                  # to the type of item being searched.
+                "exactMatchWithOperator": True or False, # If true, the text value will be tokenized as one atomic value in
+                    # operator searches and facet matches. For example, if the operator name is
+                    # "genre" and the value is "science-fiction" the query restrictions
+                    # "genre:science" and "genre:fiction" will not match the item;
+                    # "genre:science-fiction" will. Value matching is case-sensitive
+                    # and does not remove special characters.
+                    # If false, the text will be tokenized. For example, if the value is
+                    # "science-fiction" the queries "genre:science" and "genre:fiction" will
+                    # match the item.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # text property. For example, if operatorName is *subject* and the
+                    # property's name is *subjectLine*, then queries like
+                    # *subject:&lt;value&gt;* will show results only where the value of the
+                    # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any
+                    # text properties or text within the content field for the item.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "name": "A String", # The name of the property. Item indexing requests sent to the Indexing API
+                # should set the property name
+                # equal to this value. For example, if name is *subject_line*, then indexing
+                # requests for document items with subject fields should set the
+                # name for that field equal to
+                # *subject_line*. Use the name as the identifier for the object property.
+                # Once registered as a property for an object, you cannot re-use this name
+                # for another property within that object.
+                # The name must start with a letter and can only contain letters (A-Z, a-z)
+                # or numbers (0-9).
+                # The maximum length is 256 characters.
+            "enumPropertyOptions": { # Options for enum properties, which allow you to define a restricted set of
+                # strings to match user queries, set rankings for those string values, and
+                # define an operator name to be paired with those strings so that users can
+                # narrow results to only items with a specific value. For example, for items in
+                # a request tracking system with priority information, you could define *p0* as
+                # an allowable enum value and tie this enum to the operator name *priority* so
+                # that search users could add *priority:p0* to their query to restrict the set
+                # of results to only those items indexed with the value *p0*.
+              "orderedRanking": "A String", # Used to specify the ordered ranking for the enumeration that determines how
+                  # the integer values provided in the possible EnumValuePairs are used to rank
+                  # results. If specified, integer values must be provided for all possible
+                  # EnumValuePair values given for this property. Can only be used if
+                  # isRepeatable
+                  # is false.
+              "operatorOptions": { # Used to provide a search operator for enum properties. This is # If set, describes how the enum should be used as a search operator.
+                  # optional. Search operators let users restrict the query to specific fields
+                  # relevant to the type of item being searched. For example, if you provide no
+                  # operator for a *priority* enum property with possible values *p0* and *p1*,
+                  # a query that contains the term *p0* will return items that have *p0* as the
+                  # value of the *priority* property, as well as any items that contain the
+                  # string *p0* in other fields. If you provide an operator name for the enum,
+                  # such as *priority*, then search users can use that operator to refine
+                  # results to only items that have *p0* as this property's value, with the
+                  # query *priority:p0*.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # enum property. For example, if operatorName is *priority* and the
+                    # property's name is *priorityVal*, then queries like
+                    # *priority:&lt;value&gt;* will show results only where the value of the
+                    # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any String
+                    # properties or text within the content field for the item.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+              "possibleValues": [ # The list of possible values for the enumeration property. All
+                  # EnumValuePairs must provide a string value. If you specify an integer value
+                  # for one EnumValuePair, then all possible EnumValuePairs must provide an
+                  # integer value. Both the string value and integer value must be unique over
+                  # all possible values. Once set, possible values cannot be removed or
+                  # modified. If you supply an ordered ranking and think you might insert
+                  # additional enum values in the future, leave gaps in the initial integer
+                  # values to allow adding a value in between previously registered values.
+                  # The maximum number of elements is 100.
+                { # The enumeration value pair defines two things: a required string value and
+                    # an optional integer value. The string value defines the necessary query
+                    # term required to retrieve that item, such as *p0* for a priority item.
+                    # The integer value determines the ranking of that string value relative
+                    # to other enumerated values for the same property. For example, you might
+                    # associate *p0* with *0* and define another enum pair such as *p1* and *1*.
+                    # You must use the integer value in combination with
+                    # ordered
+                    # ranking to
+                    # set the ranking of a given value relative to other enumerated values for
+                    # the same property name. Here, a ranking order of DESCENDING for *priority*
+                    # properties results in a ranking boost for items indexed with a value of
+                    # *p0* compared to items indexed with a value of *p1*. Without a specified
+                    # ranking order, the integer value has no effect on item ranking.
+                  "stringValue": "A String", # The string value of the EnumValuePair.
+                      # The maximum length is 32 characters.
+                  "integerValue": 42, # The integer value of the EnumValuePair which must be non-negative.
+                      # Optional.
+                },
+              ],
+            },
+            "isReturnable": True or False, # Indicates that the property identifies data that should be returned in
+                # search results via the Query API. If set to *true*, indicates that Query
+                # API users can use matching property fields in results. However, storing
+                # fields requires more space allocation and uses more bandwidth for search
+                # queries, which impacts performance over large datasets. Set to *true* here
+                # only if the field is needed for search results. Cannot be true for
+                # properties whose type is an object.
+            "isSortable": True or False, # Indicates that the property can be used for sorting. Cannot be true for
+                # properties that are repeatable. Cannot be true for properties whose type
+                # is object or user identifier. IsReturnable must be true to set this option.
+                # Only supported for Boolean, Date, Double, Integer, and Timestamp
+                # properties.
+            "objectPropertyOptions": { # Options for object properties.
+              "subobjectProperties": [ # The properties of the sub-object. These properties represent a nested
+                  # object. For example, if this property represents a postal address, the
+                  # subobjectProperties might be named *street*, *city*, and *state*.
+                  # The maximum number of elements is 1000.
+                # Object with schema name: PropertyDefinition
+              ],
+            },
+            "timestampPropertyOptions": { # Options for timestamp properties.
+              "operatorOptions": { # Used to provide a search operator for timestamp properties. This is # If set, describes how the timestamp should be used as a search operator.
+                  # optional. Search operators let users restrict the query to specific fields
+                  # relevant to the type of item being searched.
+                "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # timestamp property using the less-than operator. For example, if
+                    # lessThanOperatorName is *closedbefore* and the property's name is
+                    # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
+                    # show results only where the value of the property named *closeDate* is
+                    # earlier than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # timestamp property. For example, if operatorName is *closedon* and the
+                    # property's name is *closeDate*, then queries like
+                    # *closedon:&lt;value&gt;* will show results only where the value of the
+                    # property named *closeDate* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any String
+                    # properties or text within the content field for the item. The operator
+                    # name can only contain lowercase letters (a-z). The maximum length is 32
+                    # characters.
+                "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # timestamp property using the greater-than operator. For example, if
+                    # greaterThanOperatorName is *closedafter* and the property's name is
+                    # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
+                    # show results only where the value of the property named *closeDate* is
+                    # later than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "datePropertyOptions": { # Options for date properties.
+              "operatorOptions": { # Optional. Provides a search operator for date properties. # If set, describes how the date should be used as a search operator.
+                  # Search operators let users restrict the query to specific fields relevant
+                  # to the type of item being searched.
+                "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # date property using the less-than operator. For example, if
+                    # lessThanOperatorName is *closedbefore* and the property's name is
+                    # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
+                    # show results only where the value of the property named *closeDate* is
+                    # earlier than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+                "operatorName": "A String", # Indicates the actual string required in the query in order to isolate the
+                    # date property. For example, suppose an issue tracking schema object
+                    # has a property named *closeDate* that specifies an operator with an
+                    # operatorName of *closedon*. For searches on that data, queries like
+                    # *closedon:&lt;value&gt;* will show results only where the value of the
+                    # *closeDate* property matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any String
+                    # properties or text within the content field for the indexed datasource.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+                "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # date property using the greater-than operator. For example, if
+                    # greaterThanOperatorName is *closedafter* and the property's name is
+                    # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
+                    # show results only where the value of the property named *closeDate* is
+                    # later than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "displayOptions": { # The display options for a property. # Options that determine how the property is displayed in the Cloud Search
+                # results page if it is specified to be displayed in the object's
+                # display options
+                # .
+              "displayLabel": "A String", # The user friendly label for the property that will be used if the property
+                  # is specified to be displayed in ObjectDisplayOptions. If given, the display
+                  # label will be shown in front of the property values when the property is
+                  # part of the object display options. For example, if the property value is
+                  # '1', the value by itself may not be useful context for the user. If the
+                  # display name given was 'priority', then the user will see 'priority : 1' in
+                  # the search results which provides clear conext to search users. This is
+                  # OPTIONAL; if not given, only the property values will be displayed.
+                  # The maximum length is 32 characters.
+            },
+            "booleanPropertyOptions": { # Options for boolean properties.
+              "operatorOptions": { # Used to provide a search operator for boolean properties. This is # If set, describes how the boolean should be used as a search operator.
+                  # optional. Search operators let users restrict the query to specific fields
+                  # relevant to the type of item being searched.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # boolean property. For example, if operatorName is *closed* and the
+                    # property's name is *isClosed*, then queries like
+                    # *closed:&lt;value&gt;* will show results only where the value of the
+                    # property named *isClosed* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any
+                    # String properties or text within the content field for the item.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "isFacetable": True or False, # Indicates that the property can be used for generating facets. Cannot be
+                # true for properties whose type is object. IsReturnable must be true to set
+                # this option.
+                # Only supported for Boolean, Enum, and Text properties.
+            "doublePropertyOptions": { # Options for double properties.
+              "operatorOptions": { # Used to provide a search operator for double properties. This is # If set, describes how the double should be used as a search operator.
+                  # optional. Search operators let users restrict the query to specific fields
+                  # relevant to the type of item being searched.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to use the
+                    # double property in sorting or as a facet.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+            },
+            "isRepeatable": True or False, # Indicates that multiple values are allowed for the property. For example, a
+                # document only has one description but can have multiple comments. Cannot be
+                # true for properties whose type is a boolean.
+                # If set to false, properties that contain more than one value will cause the
+                # indexing request for that item to be rejected.
+            "isWildcardSearchable": True or False, # Indicates that users can perform wildcard search for this
+                # property. Only supported for Text properties. IsReturnable must be true to
+                # set this option. In a given datasource maximum of 5 properties can be
+                # marked as is_wildcard_searchable.
+                #
+                # Note: This is an alpha feature and is enabled for whitelisted users only.
+            "integerPropertyOptions": { # Options for integer properties.
+              "orderedRanking": "A String", # Used to specify the ordered ranking for the integer. Can only be used if
+                  # isRepeatable
+                  # is false.
+              "minimumValue": "A String", # The minimum value of the property. The minimum and maximum values for the
+                  # property are used to rank results according to the
+                  # ordered ranking.
+                  # Indexing requests with values less than the minimum are accepted and
+                  # ranked with the same weight as items indexed with the minimum value.
+              "operatorOptions": { # Used to provide a search operator for integer properties. This is # If set, describes how the integer should be used as a search operator.
+                  # optional. Search operators let users restrict the query to specific fields
+                  # relevant to the type of item being searched.
+                "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # integer property using the less-than operator. For example, if
+                    # lessThanOperatorName is *prioritybelow* and the property's name is
+                    # *priorityVal*, then queries like *prioritybelow:&lt;value&gt;* will
+                    # show results only where the value of the property named *priorityVal* is
+                    # less than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+                "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # integer property using the greater-than operator. For example, if
+                    # greaterThanOperatorName is *priorityabove* and the property's name is
+                    # *priorityVal*, then queries like *priorityabove:&lt;value&gt;* will
+                    # show results only where the value of the property named *priorityVal* is
+                    # greater than *&lt;value&gt;*.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+                "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                    # integer property. For example, if operatorName is *priority* and the
+                    # property's name is *priorityVal*, then queries like
+                    # *priority:&lt;value&gt;* will show results only where the value of the
+                    # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
+                    # search that uses the same *&lt;value&gt;* without an operator will return
+                    # all items where *&lt;value&gt;* matches the value of any String
+                    # properties or text within the content field for the item.
+                    # The operator name can only contain lowercase letters (a-z).
+                    # The maximum length is 32 characters.
+              },
+              "maximumValue": "A String", # The maximum value of the property. The minimum and maximum values for the
+                  # property are used to rank results according to the
+                  # ordered ranking.
+                  # Indexing requests with values greater than the maximum are accepted and
+                  # ranked with the same weight as items indexed with the maximum value.
+            },
+          },
+        ],
+        "name": "A String", # Name for the object, which then defines its type. Item indexing requests
+            # should set the
+            # objectType field
+            # equal to this value. For example, if *name* is *Document*, then indexing
+            # requests for items of type Document should set
+            # objectType equal to
+            # *Document*. Each object definition must be uniquely named within a schema.
+            # The name must start with a letter and can only contain letters (A-Z, a-z)
+            # or numbers (0-9).
+            # The maximum length is 256 characters.
+        "options": { # The options for an object. # The optional object-specific options.
+          "freshnessOptions": { # Indicates which freshness property to use when adjusting search ranking for # The freshness options for an object.
+              # an item. Fresher, more recent dates indicate higher quality. Use the
+              # freshness option property that best works with your data. For fileshare
+              # documents, last modified time is most relevant. For calendar event data,
+              # the time when the event occurs is a more relevant freshness indicator. In
+              # this way, calendar events that occur closer to the time of the search query
+              # are considered higher quality and ranked accordingly.
+            "freshnessDuration": "A String", # The duration after which an object should be considered
+                # stale. The default value is 180 days (in seconds).
+            "freshnessProperty": "A String", # This property indicates the freshness level of the object in the index.
+                # If set, this property must be a top-level property within the
+                # property definitions
+                # and it must be a
+                # timestamp type
+                # or
+                # date type.
+                # Otherwise, the Indexing API uses
+                # updateTime
+                # as the freshness indicator.
+                # The maximum length is 256 characters.
+                #
+                # When a property is used to calculate fresheness, the value defaults
+                # to 2 years from the current time.
+          },
+          "displayOptions": { # The display options for an object. # Options that determine how the object is displayed in the Cloud Search
+              # results page.
+            "metalines": [ # Defines the properties that will be displayed in the metalines of the
+                # search results. The property values will be displayed in the order given
+                # here. If a property holds multiple values, all of the values will be
+                # diplayed before the next properties. For this reason, it is a good practice
+                # to specify singular properties before repeated properties in this list. All
+                # of the properties must set
+                # is_returnable
+                # to true. The maximum number of metalines is 3.
+              { # A metaline is a list of properties that are displayed along with the search
+                  # result to provide context.
+                "properties": [ # The list of displayed properties for the metaline. The maxiumum number of
+                    # properties is 5.
+                  { # A reference to a top-level property within the object that should be
+                      # displayed in search results. The values of the chosen properties will be
+                      # displayed in the search results along with the
+                      # dislpay label
+                      # for that property if one is specified. If a display label is not specified,
+                      # only the values will be shown.
+                    "propertyName": "A String", # The name of the top-level property as defined in a property definition
+                        # for the object. If the name is not a defined property in the schema, an
+                        # error will be given when attempting to update the schema.
+                  },
+                ],
+              },
+            ],
+            "objectDisplayLabel": "A String", # The user friendly label to display in the search result to inidicate the
+                # type of the item. This is OPTIONAL; if not given, an object label will not
+                # be displayed on the context line of the search results. The maximum length
+                # is 32 characters.
+          },
+        },
+      },
+    ],
+    "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
+        # schema. After modifying the schema, wait for operations to complete
+        # before indexing additional content.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateSchema">updateSchema(name, body, x__xgafv=None)</code>
+  <pre>Updates the schema of a data source.
+
+Args:
+  name: string, Name of the data source to update Schema.  Format:
+datasources/{source_id} (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "validateOnly": True or False, # If true, the request will be validated without side effects.
+    "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Common debug options.
+      "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field.
+          # Otherwise, ignore this field.
+    },
+    "schema": { # The schema definition for a data source. # The new schema for the source.
+      "objectDefinitions": [ # The list of top-level objects for the data source.
+          # The maximum number of elements is 10.
+        { # The definition for an object within a data source.
+          "propertyDefinitions": [ # The property definitions for the object.
+              # The maximum number of elements is 1000.
+            { # The definition of a property within an object.
+              "htmlPropertyOptions": { # Options for html properties.
+                "retrievalImportance": { # Indicates the search quality importance of the tokens within the
+                    # field when used for retrieval. Can only be set to DEFAULT or NONE.
+                  "importance": "A String", # Indicates the ranking importance given to property when it is matched
+                      # during retrieval. Once set, the token importance of a property cannot be
+                      # changed.
+                },
+                "operatorOptions": { # Used to provide a search operator for html properties. This is optional. # If set, describes how the property should be used as a search operator.
+                    # Search operators let users restrict the query to specific fields relevant
+                    # to the type of item being searched.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # html property. For example, if operatorName is *subject* and the
+                      # property's name is *subjectLine*, then queries like
+                      # *subject:&lt;value&gt;* will show results only where the value of the
+                      # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any
+                      # html properties or text within the content field for the item.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "textPropertyOptions": { # Options for text properties.
+                "retrievalImportance": { # Indicates the search quality importance of the tokens within the
+                    # field when used for retrieval.
+                  "importance": "A String", # Indicates the ranking importance given to property when it is matched
+                      # during retrieval. Once set, the token importance of a property cannot be
+                      # changed.
+                },
+                "operatorOptions": { # Used to provide a search operator for text properties. This is optional. # If set, describes how the property should be used as a search operator.
+                    # Search operators let users restrict the query to specific fields relevant
+                    # to the type of item being searched.
+                  "exactMatchWithOperator": True or False, # If true, the text value will be tokenized as one atomic value in
+                      # operator searches and facet matches. For example, if the operator name is
+                      # "genre" and the value is "science-fiction" the query restrictions
+                      # "genre:science" and "genre:fiction" will not match the item;
+                      # "genre:science-fiction" will. Value matching is case-sensitive
+                      # and does not remove special characters.
+                      # If false, the text will be tokenized. For example, if the value is
+                      # "science-fiction" the queries "genre:science" and "genre:fiction" will
+                      # match the item.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # text property. For example, if operatorName is *subject* and the
+                      # property's name is *subjectLine*, then queries like
+                      # *subject:&lt;value&gt;* will show results only where the value of the
+                      # property named *subjectLine* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any
+                      # text properties or text within the content field for the item.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "name": "A String", # The name of the property. Item indexing requests sent to the Indexing API
+                  # should set the property name
+                  # equal to this value. For example, if name is *subject_line*, then indexing
+                  # requests for document items with subject fields should set the
+                  # name for that field equal to
+                  # *subject_line*. Use the name as the identifier for the object property.
+                  # Once registered as a property for an object, you cannot re-use this name
+                  # for another property within that object.
+                  # The name must start with a letter and can only contain letters (A-Z, a-z)
+                  # or numbers (0-9).
+                  # The maximum length is 256 characters.
+              "enumPropertyOptions": { # Options for enum properties, which allow you to define a restricted set of
+                  # strings to match user queries, set rankings for those string values, and
+                  # define an operator name to be paired with those strings so that users can
+                  # narrow results to only items with a specific value. For example, for items in
+                  # a request tracking system with priority information, you could define *p0* as
+                  # an allowable enum value and tie this enum to the operator name *priority* so
+                  # that search users could add *priority:p0* to their query to restrict the set
+                  # of results to only those items indexed with the value *p0*.
+                "orderedRanking": "A String", # Used to specify the ordered ranking for the enumeration that determines how
+                    # the integer values provided in the possible EnumValuePairs are used to rank
+                    # results. If specified, integer values must be provided for all possible
+                    # EnumValuePair values given for this property. Can only be used if
+                    # isRepeatable
+                    # is false.
+                "operatorOptions": { # Used to provide a search operator for enum properties. This is # If set, describes how the enum should be used as a search operator.
+                    # optional. Search operators let users restrict the query to specific fields
+                    # relevant to the type of item being searched. For example, if you provide no
+                    # operator for a *priority* enum property with possible values *p0* and *p1*,
+                    # a query that contains the term *p0* will return items that have *p0* as the
+                    # value of the *priority* property, as well as any items that contain the
+                    # string *p0* in other fields. If you provide an operator name for the enum,
+                    # such as *priority*, then search users can use that operator to refine
+                    # results to only items that have *p0* as this property's value, with the
+                    # query *priority:p0*.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # enum property. For example, if operatorName is *priority* and the
+                      # property's name is *priorityVal*, then queries like
+                      # *priority:&lt;value&gt;* will show results only where the value of the
+                      # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any String
+                      # properties or text within the content field for the item.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+                "possibleValues": [ # The list of possible values for the enumeration property. All
+                    # EnumValuePairs must provide a string value. If you specify an integer value
+                    # for one EnumValuePair, then all possible EnumValuePairs must provide an
+                    # integer value. Both the string value and integer value must be unique over
+                    # all possible values. Once set, possible values cannot be removed or
+                    # modified. If you supply an ordered ranking and think you might insert
+                    # additional enum values in the future, leave gaps in the initial integer
+                    # values to allow adding a value in between previously registered values.
+                    # The maximum number of elements is 100.
+                  { # The enumeration value pair defines two things: a required string value and
+                      # an optional integer value. The string value defines the necessary query
+                      # term required to retrieve that item, such as *p0* for a priority item.
+                      # The integer value determines the ranking of that string value relative
+                      # to other enumerated values for the same property. For example, you might
+                      # associate *p0* with *0* and define another enum pair such as *p1* and *1*.
+                      # You must use the integer value in combination with
+                      # ordered
+                      # ranking to
+                      # set the ranking of a given value relative to other enumerated values for
+                      # the same property name. Here, a ranking order of DESCENDING for *priority*
+                      # properties results in a ranking boost for items indexed with a value of
+                      # *p0* compared to items indexed with a value of *p1*. Without a specified
+                      # ranking order, the integer value has no effect on item ranking.
+                    "stringValue": "A String", # The string value of the EnumValuePair.
+                        # The maximum length is 32 characters.
+                    "integerValue": 42, # The integer value of the EnumValuePair which must be non-negative.
+                        # Optional.
+                  },
+                ],
+              },
+              "isReturnable": True or False, # Indicates that the property identifies data that should be returned in
+                  # search results via the Query API. If set to *true*, indicates that Query
+                  # API users can use matching property fields in results. However, storing
+                  # fields requires more space allocation and uses more bandwidth for search
+                  # queries, which impacts performance over large datasets. Set to *true* here
+                  # only if the field is needed for search results. Cannot be true for
+                  # properties whose type is an object.
+              "isSortable": True or False, # Indicates that the property can be used for sorting. Cannot be true for
+                  # properties that are repeatable. Cannot be true for properties whose type
+                  # is object or user identifier. IsReturnable must be true to set this option.
+                  # Only supported for Boolean, Date, Double, Integer, and Timestamp
+                  # properties.
+              "objectPropertyOptions": { # Options for object properties.
+                "subobjectProperties": [ # The properties of the sub-object. These properties represent a nested
+                    # object. For example, if this property represents a postal address, the
+                    # subobjectProperties might be named *street*, *city*, and *state*.
+                    # The maximum number of elements is 1000.
+                  # Object with schema name: PropertyDefinition
+                ],
+              },
+              "timestampPropertyOptions": { # Options for timestamp properties.
+                "operatorOptions": { # Used to provide a search operator for timestamp properties. This is # If set, describes how the timestamp should be used as a search operator.
+                    # optional. Search operators let users restrict the query to specific fields
+                    # relevant to the type of item being searched.
+                  "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # timestamp property using the less-than operator. For example, if
+                      # lessThanOperatorName is *closedbefore* and the property's name is
+                      # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
+                      # show results only where the value of the property named *closeDate* is
+                      # earlier than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # timestamp property. For example, if operatorName is *closedon* and the
+                      # property's name is *closeDate*, then queries like
+                      # *closedon:&lt;value&gt;* will show results only where the value of the
+                      # property named *closeDate* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any String
+                      # properties or text within the content field for the item. The operator
+                      # name can only contain lowercase letters (a-z). The maximum length is 32
+                      # characters.
+                  "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # timestamp property using the greater-than operator. For example, if
+                      # greaterThanOperatorName is *closedafter* and the property's name is
+                      # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
+                      # show results only where the value of the property named *closeDate* is
+                      # later than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "datePropertyOptions": { # Options for date properties.
+                "operatorOptions": { # Optional. Provides a search operator for date properties. # If set, describes how the date should be used as a search operator.
+                    # Search operators let users restrict the query to specific fields relevant
+                    # to the type of item being searched.
+                  "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # date property using the less-than operator. For example, if
+                      # lessThanOperatorName is *closedbefore* and the property's name is
+                      # *closeDate*, then queries like *closedbefore:&lt;value&gt;* will
+                      # show results only where the value of the property named *closeDate* is
+                      # earlier than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                  "operatorName": "A String", # Indicates the actual string required in the query in order to isolate the
+                      # date property. For example, suppose an issue tracking schema object
+                      # has a property named *closeDate* that specifies an operator with an
+                      # operatorName of *closedon*. For searches on that data, queries like
+                      # *closedon:&lt;value&gt;* will show results only where the value of the
+                      # *closeDate* property matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any String
+                      # properties or text within the content field for the indexed datasource.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                  "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # date property using the greater-than operator. For example, if
+                      # greaterThanOperatorName is *closedafter* and the property's name is
+                      # *closeDate*, then queries like *closedafter:&lt;value&gt;* will
+                      # show results only where the value of the property named *closeDate* is
+                      # later than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "displayOptions": { # The display options for a property. # Options that determine how the property is displayed in the Cloud Search
+                  # results page if it is specified to be displayed in the object's
+                  # display options
+                  # .
+                "displayLabel": "A String", # The user friendly label for the property that will be used if the property
+                    # is specified to be displayed in ObjectDisplayOptions. If given, the display
+                    # label will be shown in front of the property values when the property is
+                    # part of the object display options. For example, if the property value is
+                    # '1', the value by itself may not be useful context for the user. If the
+                    # display name given was 'priority', then the user will see 'priority : 1' in
+                    # the search results which provides clear conext to search users. This is
+                    # OPTIONAL; if not given, only the property values will be displayed.
+                    # The maximum length is 32 characters.
+              },
+              "booleanPropertyOptions": { # Options for boolean properties.
+                "operatorOptions": { # Used to provide a search operator for boolean properties. This is # If set, describes how the boolean should be used as a search operator.
+                    # optional. Search operators let users restrict the query to specific fields
+                    # relevant to the type of item being searched.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # boolean property. For example, if operatorName is *closed* and the
+                      # property's name is *isClosed*, then queries like
+                      # *closed:&lt;value&gt;* will show results only where the value of the
+                      # property named *isClosed* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any
+                      # String properties or text within the content field for the item.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "isFacetable": True or False, # Indicates that the property can be used for generating facets. Cannot be
+                  # true for properties whose type is object. IsReturnable must be true to set
+                  # this option.
+                  # Only supported for Boolean, Enum, and Text properties.
+              "doublePropertyOptions": { # Options for double properties.
+                "operatorOptions": { # Used to provide a search operator for double properties. This is # If set, describes how the double should be used as a search operator.
+                    # optional. Search operators let users restrict the query to specific fields
+                    # relevant to the type of item being searched.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to use the
+                      # double property in sorting or as a facet.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+              },
+              "isRepeatable": True or False, # Indicates that multiple values are allowed for the property. For example, a
+                  # document only has one description but can have multiple comments. Cannot be
+                  # true for properties whose type is a boolean.
+                  # If set to false, properties that contain more than one value will cause the
+                  # indexing request for that item to be rejected.
+              "isWildcardSearchable": True or False, # Indicates that users can perform wildcard search for this
+                  # property. Only supported for Text properties. IsReturnable must be true to
+                  # set this option. In a given datasource maximum of 5 properties can be
+                  # marked as is_wildcard_searchable.
+                  #
+                  # Note: This is an alpha feature and is enabled for whitelisted users only.
+              "integerPropertyOptions": { # Options for integer properties.
+                "orderedRanking": "A String", # Used to specify the ordered ranking for the integer. Can only be used if
+                    # isRepeatable
+                    # is false.
+                "minimumValue": "A String", # The minimum value of the property. The minimum and maximum values for the
+                    # property are used to rank results according to the
+                    # ordered ranking.
+                    # Indexing requests with values less than the minimum are accepted and
+                    # ranked with the same weight as items indexed with the minimum value.
+                "operatorOptions": { # Used to provide a search operator for integer properties. This is # If set, describes how the integer should be used as a search operator.
+                    # optional. Search operators let users restrict the query to specific fields
+                    # relevant to the type of item being searched.
+                  "lessThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # integer property using the less-than operator. For example, if
+                      # lessThanOperatorName is *prioritybelow* and the property's name is
+                      # *priorityVal*, then queries like *prioritybelow:&lt;value&gt;* will
+                      # show results only where the value of the property named *priorityVal* is
+                      # less than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                  "greaterThanOperatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # integer property using the greater-than operator. For example, if
+                      # greaterThanOperatorName is *priorityabove* and the property's name is
+                      # *priorityVal*, then queries like *priorityabove:&lt;value&gt;* will
+                      # show results only where the value of the property named *priorityVal* is
+                      # greater than *&lt;value&gt;*.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                  "operatorName": "A String", # Indicates the operator name required in the query in order to isolate the
+                      # integer property. For example, if operatorName is *priority* and the
+                      # property's name is *priorityVal*, then queries like
+                      # *priority:&lt;value&gt;* will show results only where the value of the
+                      # property named *priorityVal* matches *&lt;value&gt;*. By contrast, a
+                      # search that uses the same *&lt;value&gt;* without an operator will return
+                      # all items where *&lt;value&gt;* matches the value of any String
+                      # properties or text within the content field for the item.
+                      # The operator name can only contain lowercase letters (a-z).
+                      # The maximum length is 32 characters.
+                },
+                "maximumValue": "A String", # The maximum value of the property. The minimum and maximum values for the
+                    # property are used to rank results according to the
+                    # ordered ranking.
+                    # Indexing requests with values greater than the maximum are accepted and
+                    # ranked with the same weight as items indexed with the maximum value.
+              },
+            },
+          ],
+          "name": "A String", # Name for the object, which then defines its type. Item indexing requests
+              # should set the
+              # objectType field
+              # equal to this value. For example, if *name* is *Document*, then indexing
+              # requests for items of type Document should set
+              # objectType equal to
+              # *Document*. Each object definition must be uniquely named within a schema.
+              # The name must start with a letter and can only contain letters (A-Z, a-z)
+              # or numbers (0-9).
+              # The maximum length is 256 characters.
+          "options": { # The options for an object. # The optional object-specific options.
+            "freshnessOptions": { # Indicates which freshness property to use when adjusting search ranking for # The freshness options for an object.
+                # an item. Fresher, more recent dates indicate higher quality. Use the
+                # freshness option property that best works with your data. For fileshare
+                # documents, last modified time is most relevant. For calendar event data,
+                # the time when the event occurs is a more relevant freshness indicator. In
+                # this way, calendar events that occur closer to the time of the search query
+                # are considered higher quality and ranked accordingly.
+              "freshnessDuration": "A String", # The duration after which an object should be considered
+                  # stale. The default value is 180 days (in seconds).
+              "freshnessProperty": "A String", # This property indicates the freshness level of the object in the index.
+                  # If set, this property must be a top-level property within the
+                  # property definitions
+                  # and it must be a
+                  # timestamp type
+                  # or
+                  # date type.
+                  # Otherwise, the Indexing API uses
+                  # updateTime
+                  # as the freshness indicator.
+                  # The maximum length is 256 characters.
+                  #
+                  # When a property is used to calculate fresheness, the value defaults
+                  # to 2 years from the current time.
+            },
+            "displayOptions": { # The display options for an object. # Options that determine how the object is displayed in the Cloud Search
+                # results page.
+              "metalines": [ # Defines the properties that will be displayed in the metalines of the
+                  # search results. The property values will be displayed in the order given
+                  # here. If a property holds multiple values, all of the values will be
+                  # diplayed before the next properties. For this reason, it is a good practice
+                  # to specify singular properties before repeated properties in this list. All
+                  # of the properties must set
+                  # is_returnable
+                  # to true. The maximum number of metalines is 3.
+                { # A metaline is a list of properties that are displayed along with the search
+                    # result to provide context.
+                  "properties": [ # The list of displayed properties for the metaline. The maxiumum number of
+                      # properties is 5.
+                    { # A reference to a top-level property within the object that should be
+                        # displayed in search results. The values of the chosen properties will be
+                        # displayed in the search results along with the
+                        # dislpay label
+                        # for that property if one is specified. If a display label is not specified,
+                        # only the values will be shown.
+                      "propertyName": "A String", # The name of the top-level property as defined in a property definition
+                          # for the object. If the name is not a defined property in the schema, an
+                          # error will be given when attempting to update the schema.
+                    },
+                  ],
+                },
+              ],
+              "objectDisplayLabel": "A String", # The user friendly label to display in the search result to inidicate the
+                  # type of the item. This is OPTIONAL; if not given, an object label will not
+                  # be displayed on the context line of the search results. The maximum length
+                  # is 32 characters.
+            },
+          },
+        },
+      ],
+      "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
+          # schema. After modifying the schema, wait for operations to complete
+          # before indexing additional content.
+        "A String",
+      ],
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # 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.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file