Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/vault_v1.matters.holds.html b/docs/dyn/vault_v1.matters.holds.html
new file mode 100644
index 0000000..43d65c2
--- /dev/null
+++ b/docs/dyn/vault_v1.matters.holds.html
@@ -0,0 +1,770 @@
+<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="vault_v1.html">G Suite Vault API</a> . <a href="vault_v1.matters.html">matters</a> . <a href="vault_v1.matters.holds.html">holds</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="vault_v1.matters.holds.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#addHeldAccounts">addHeldAccounts(matterId, holdId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Adds HeldAccounts to a hold. Returns a list of accounts that have been</p>
+<p class="toc_element">
+  <code><a href="#create">create(matterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a hold in the given matter.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(matterId, holdId, x__xgafv=None)</a></code></p>
+<p class="firstline">Removes a hold by ID. This will release any HeldAccounts on this Hold.</p>
+<p class="toc_element">
+  <code><a href="#get">get(matterId, holdId, x__xgafv=None, view=None)</a></code></p>
+<p class="firstline">Gets a hold by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(matterId, pageSize=None, pageToken=None, x__xgafv=None, view=None)</a></code></p>
+<p class="firstline">Lists holds within a matter. An empty page token in ListHoldsResponse</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#removeHeldAccounts">removeHeldAccounts(matterId, holdId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Removes HeldAccounts from a hold. Returns a list of statuses in the same</p>
+<p class="toc_element">
+  <code><a href="#update">update(matterId, holdId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the OU and/or query parameters of a hold. You cannot add accounts</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addHeldAccounts">addHeldAccounts(matterId, holdId, body, x__xgafv=None)</code>
+  <pre>Adds HeldAccounts to a hold. Returns a list of accounts that have been
+successfully added. Accounts can only be added to an existing account-based
+hold.
+
+Args:
+  matterId: string, The matter ID. (required)
+  holdId: string, The hold ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Add a list of accounts to a hold.
+    "accountIds": [ # Account ids to identify which accounts to add. Only account_ids or only
+        # emails should be specified, but not both.
+      "A String",
+    ],
+    "emails": [ # Emails to identify which accounts to add. Only emails or only account_ids
+        # should be specified, but not both.
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for batch create held accounts.
+    "responses": [ # The list of responses, in the same order as the batch request.
+      { # A status detailing the status of each account creation, and the
+          # HeldAccount, if successful.
+        "status": { # The `Status` type defines a logical error model that is suitable for # This represents the success status. If failed, check message.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). The error model is designed to be:
+            #
+            # - Simple to use and understand for most users
+            # - Flexible enough to meet unexpected needs
+            #
+            # # Overview
+            #
+            # The `Status` message contains three pieces of data: error code, error
+            # message, and error details. The error code should be an enum value of
+            # google.rpc.Code, but it may accept additional error codes if needed.  The
+            # error message should be a developer-facing English message that helps
+            # developers *understand* and *resolve* the error. If a localized user-facing
+            # error message is needed, put the localized message in the error details or
+            # localize it in the client. The optional error details may contain arbitrary
+            # information about the error. There is a predefined set of error detail types
+            # in the package `google.rpc` that can be used for common error conditions.
+            #
+            # # Language mapping
+            #
+            # The `Status` message is the logical representation of the error model, but it
+            # is not necessarily the actual wire format. When the `Status` message is
+            # exposed in different client libraries and different wire protocols, it can be
+            # mapped differently. For example, it will likely be mapped to some exceptions
+            # in Java, but more likely mapped to some error codes in C.
+            #
+            # # Other uses
+            #
+            # The error model and the `Status` message can be used in a variety of
+            # environments, either with or without APIs, to provide a
+            # consistent developer experience across different environments.
+            #
+            # Example uses of this error model include:
+            #
+            # - Partial errors. If a service needs to return partial errors to the client,
+            #     it may embed the `Status` in the normal response to indicate the partial
+            #     errors.
+            #
+            # - Workflow errors. A typical workflow has multiple steps. Each step may
+            #     have a `Status` message for error reporting.
+            #
+            # - Batch operations. If a client uses batch request and batch response, the
+            #     `Status` message should be used directly inside batch response, one for
+            #     each error sub-response.
+            #
+            # - Asynchronous operations. If an API call embeds asynchronous operation
+            #     results in its response, the status of those operations should be
+            #     represented directly using the `Status` message.
+            #
+            # - Logging. If some API errors are stored in logs, the message `Status` could
+            #     be used directly after any stripping needed for security/privacy reasons.
+          "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.
+            },
+          ],
+        },
+        "account": { # An account being held in a particular hold. This structure is immutable. # If present, this account was successfully created.
+            # This can be either a single user or a google group, depending on the corpus.
+          "lastName": "A String", # Output only. The last name of the account holder.
+          "holdTime": "A String", # Output only. When the account was put on hold.
+          "email": "A String", # The primary email address of the account. If used as an input, this takes
+              # precedence over account ID.
+          "firstName": "A String", # Output only. The first name of the account holder.
+          "accountId": "A String", # The account's ID as provided by the
+              # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(matterId, body, x__xgafv=None)</code>
+  <pre>Creates a hold in the given matter.
+
+Args:
+  matterId: string, The matter ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a hold within Vault. A hold restricts purging of
+    # artifacts based on the combination of the query and accounts restrictions.
+    # A hold can be configured to either apply to an explicitly configured set
+    # of accounts, or can be applied to all members of an organizational unit.
+  "updateTime": "A String", # The last time this hold was modified.
+  "name": "A String", # The name of the hold.
+  "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+      # accounts must be empty. This property is mutable. For groups holds,
+      # set the accounts field.
+      # This structure is immutable.
+    "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+    "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+  },
+  "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+      # empty.
+    { # An account being held in a particular hold. This structure is immutable.
+        # This can be either a single user or a google group, depending on the corpus.
+      "lastName": "A String", # Output only. The last name of the account holder.
+      "holdTime": "A String", # Output only. When the account was put on hold.
+      "email": "A String", # The primary email address of the account. If used as an input, this takes
+          # precedence over account ID.
+      "firstName": "A String", # Output only. The first name of the account holder.
+      "accountId": "A String", # The account's ID as provided by the
+          # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+    },
+  ],
+  "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+      # type.
+    "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+        # Hangouts Chat.
+      "includeRooms": True or False, # If true, include rooms the user has participated in.
+    },
+    "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+      "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+      "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+    },
+    "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+      "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "terms": "A String", # The search terms for the hold.
+      "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+    },
+    "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+      "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "terms": "A String", # The search terms for the hold.
+      "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+    },
+  },
+  "corpus": "A String", # The corpus to be searched.
+  "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a hold within Vault. A hold restricts purging of
+      # artifacts based on the combination of the query and accounts restrictions.
+      # A hold can be configured to either apply to an explicitly configured set
+      # of accounts, or can be applied to all members of an organizational unit.
+    "updateTime": "A String", # The last time this hold was modified.
+    "name": "A String", # The name of the hold.
+    "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+        # accounts must be empty. This property is mutable. For groups holds,
+        # set the accounts field.
+        # This structure is immutable.
+      "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+      "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+    },
+    "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+        # empty.
+      { # An account being held in a particular hold. This structure is immutable.
+          # This can be either a single user or a google group, depending on the corpus.
+        "lastName": "A String", # Output only. The last name of the account holder.
+        "holdTime": "A String", # Output only. When the account was put on hold.
+        "email": "A String", # The primary email address of the account. If used as an input, this takes
+            # precedence over account ID.
+        "firstName": "A String", # Output only. The first name of the account holder.
+        "accountId": "A String", # The account's ID as provided by the
+            # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+      },
+    ],
+    "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+        # type.
+      "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+          # Hangouts Chat.
+        "includeRooms": True or False, # If true, include rooms the user has participated in.
+      },
+      "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+        "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+        "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+      },
+      "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+      "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+    },
+    "corpus": "A String", # The corpus to be searched.
+    "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(matterId, holdId, x__xgafv=None)</code>
+  <pre>Removes a hold by ID. This will release any HeldAccounts on this Hold.
+
+Args:
+  matterId: string, The matter ID. (required)
+  holdId: string, The hold ID. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(matterId, holdId, x__xgafv=None, view=None)</code>
+  <pre>Gets a hold by ID.
+
+Args:
+  matterId: string, The matter ID. (required)
+  holdId: string, The hold ID. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  view: string, Specifies which parts of the Hold to return.
+
+Returns:
+  An object of the form:
+
+    { # Represents a hold within Vault. A hold restricts purging of
+      # artifacts based on the combination of the query and accounts restrictions.
+      # A hold can be configured to either apply to an explicitly configured set
+      # of accounts, or can be applied to all members of an organizational unit.
+    "updateTime": "A String", # The last time this hold was modified.
+    "name": "A String", # The name of the hold.
+    "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+        # accounts must be empty. This property is mutable. For groups holds,
+        # set the accounts field.
+        # This structure is immutable.
+      "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+      "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+    },
+    "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+        # empty.
+      { # An account being held in a particular hold. This structure is immutable.
+          # This can be either a single user or a google group, depending on the corpus.
+        "lastName": "A String", # Output only. The last name of the account holder.
+        "holdTime": "A String", # Output only. When the account was put on hold.
+        "email": "A String", # The primary email address of the account. If used as an input, this takes
+            # precedence over account ID.
+        "firstName": "A String", # Output only. The first name of the account holder.
+        "accountId": "A String", # The account's ID as provided by the
+            # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+      },
+    ],
+    "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+        # type.
+      "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+          # Hangouts Chat.
+        "includeRooms": True or False, # If true, include rooms the user has participated in.
+      },
+      "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+        "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+        "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+      },
+      "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+      "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+    },
+    "corpus": "A String", # The corpus to be searched.
+    "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(matterId, pageSize=None, pageToken=None, x__xgafv=None, view=None)</code>
+  <pre>Lists holds within a matter. An empty page token in ListHoldsResponse
+denotes no more holds to list.
+
+Args:
+  matterId: string, The matter ID. (required)
+  pageSize: integer, The number of holds to return in the response, between 0 and 100 inclusive.
+Leaving this empty, or as 0, is the same as page_size = 100.
+  pageToken: string, The pagination token as returned in the response.
+An empty token means start from the beginning.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  view: string, Specifies which parts of the Hold to return.
+
+Returns:
+  An object of the form:
+
+    { # The holds for a matter.
+    "nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
+        # If this is empty, then there are no more holds to list.
+    "holds": [ # The list of holds.
+      { # Represents a hold within Vault. A hold restricts purging of
+          # artifacts based on the combination of the query and accounts restrictions.
+          # A hold can be configured to either apply to an explicitly configured set
+          # of accounts, or can be applied to all members of an organizational unit.
+        "updateTime": "A String", # The last time this hold was modified.
+        "name": "A String", # The name of the hold.
+        "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+            # accounts must be empty. This property is mutable. For groups holds,
+            # set the accounts field.
+            # This structure is immutable.
+          "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+          "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+        },
+        "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+            # empty.
+          { # An account being held in a particular hold. This structure is immutable.
+              # This can be either a single user or a google group, depending on the corpus.
+            "lastName": "A String", # Output only. The last name of the account holder.
+            "holdTime": "A String", # Output only. When the account was put on hold.
+            "email": "A String", # The primary email address of the account. If used as an input, this takes
+                # precedence over account ID.
+            "firstName": "A String", # Output only. The first name of the account holder.
+            "accountId": "A String", # The account's ID as provided by the
+                # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+          },
+        ],
+        "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+            # type.
+          "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+              # Hangouts Chat.
+            "includeRooms": True or False, # If true, include rooms the user has participated in.
+          },
+          "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+            "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+            "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+          },
+          "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+            "terms": "A String", # The search terms for the hold.
+            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+          },
+          "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+            "terms": "A String", # The search terms for the hold.
+            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+          },
+        },
+        "corpus": "A String", # The corpus to be searched.
+        "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="removeHeldAccounts">removeHeldAccounts(matterId, holdId, body, x__xgafv=None)</code>
+  <pre>Removes HeldAccounts from a hold. Returns a list of statuses in the same
+order as the request. If this request leaves the hold with no held
+accounts, the hold will not apply to any accounts.
+
+Args:
+  matterId: string, The matter ID. (required)
+  holdId: string, The hold ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Remove a list of accounts from a hold.
+    "accountIds": [ # Account ids to identify HeldAccounts to remove.
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for batch delete held accounts.
+    "statuses": [ # A list of statuses for deleted accounts. Results have the
+        # same order as the request.
+      { # The `Status` type defines a logical error model that is suitable for
+          # different programming environments, including REST APIs and RPC APIs. It is
+          # used by [gRPC](https://github.com/grpc). The error model is designed to be:
+          #
+          # - Simple to use and understand for most users
+          # - Flexible enough to meet unexpected needs
+          #
+          # # Overview
+          #
+          # The `Status` message contains three pieces of data: error code, error
+          # message, and error details. The error code should be an enum value of
+          # google.rpc.Code, but it may accept additional error codes if needed.  The
+          # error message should be a developer-facing English message that helps
+          # developers *understand* and *resolve* the error. If a localized user-facing
+          # error message is needed, put the localized message in the error details or
+          # localize it in the client. The optional error details may contain arbitrary
+          # information about the error. There is a predefined set of error detail types
+          # in the package `google.rpc` that can be used for common error conditions.
+          #
+          # # Language mapping
+          #
+          # The `Status` message is the logical representation of the error model, but it
+          # is not necessarily the actual wire format. When the `Status` message is
+          # exposed in different client libraries and different wire protocols, it can be
+          # mapped differently. For example, it will likely be mapped to some exceptions
+          # in Java, but more likely mapped to some error codes in C.
+          #
+          # # Other uses
+          #
+          # The error model and the `Status` message can be used in a variety of
+          # environments, either with or without APIs, to provide a
+          # consistent developer experience across different environments.
+          #
+          # Example uses of this error model include:
+          #
+          # - Partial errors. If a service needs to return partial errors to the client,
+          #     it may embed the `Status` in the normal response to indicate the partial
+          #     errors.
+          #
+          # - Workflow errors. A typical workflow has multiple steps. Each step may
+          #     have a `Status` message for error reporting.
+          #
+          # - Batch operations. If a client uses batch request and batch response, the
+          #     `Status` message should be used directly inside batch response, one for
+          #     each error sub-response.
+          #
+          # - Asynchronous operations. If an API call embeds asynchronous operation
+          #     results in its response, the status of those operations should be
+          #     represented directly using the `Status` message.
+          #
+          # - Logging. If some API errors are stored in logs, the message `Status` could
+          #     be used directly after any stripping needed for security/privacy reasons.
+        "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.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(matterId, holdId, body, x__xgafv=None)</code>
+  <pre>Updates the OU and/or query parameters of a hold. You cannot add accounts
+to a hold that covers an OU, nor can you add OUs to a hold that covers
+individual accounts. Accounts listed in the hold will be ignored.
+
+Args:
+  matterId: string, The matter ID. (required)
+  holdId: string, The ID of the hold. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a hold within Vault. A hold restricts purging of
+    # artifacts based on the combination of the query and accounts restrictions.
+    # A hold can be configured to either apply to an explicitly configured set
+    # of accounts, or can be applied to all members of an organizational unit.
+  "updateTime": "A String", # The last time this hold was modified.
+  "name": "A String", # The name of the hold.
+  "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+      # accounts must be empty. This property is mutable. For groups holds,
+      # set the accounts field.
+      # This structure is immutable.
+    "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+    "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+  },
+  "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+      # empty.
+    { # An account being held in a particular hold. This structure is immutable.
+        # This can be either a single user or a google group, depending on the corpus.
+      "lastName": "A String", # Output only. The last name of the account holder.
+      "holdTime": "A String", # Output only. When the account was put on hold.
+      "email": "A String", # The primary email address of the account. If used as an input, this takes
+          # precedence over account ID.
+      "firstName": "A String", # Output only. The first name of the account holder.
+      "accountId": "A String", # The account's ID as provided by the
+          # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+    },
+  ],
+  "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+      # type.
+    "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+        # Hangouts Chat.
+      "includeRooms": True or False, # If true, include rooms the user has participated in.
+    },
+    "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+      "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+      "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+    },
+    "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+      "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "terms": "A String", # The search terms for the hold.
+      "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+    },
+    "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+      "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "terms": "A String", # The search terms for the hold.
+      "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+    },
+  },
+  "corpus": "A String", # The corpus to be searched.
+  "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a hold within Vault. A hold restricts purging of
+      # artifacts based on the combination of the query and accounts restrictions.
+      # A hold can be configured to either apply to an explicitly configured set
+      # of accounts, or can be applied to all members of an organizational unit.
+    "updateTime": "A String", # The last time this hold was modified.
+    "name": "A String", # The name of the hold.
+    "orgUnit": { # A organizational unit being held in a particular hold. # If set, the hold applies to all members of the organizational unit and
+        # accounts must be empty. This property is mutable. For groups holds,
+        # set the accounts field.
+        # This structure is immutable.
+      "holdTime": "A String", # When the org unit was put on hold. This property is immutable.
+      "orgUnitId": "A String", # The org unit's immutable ID as provided by the Admin SDK.
+    },
+    "accounts": [ # If set, the hold applies to the enumerated accounts and org_unit must be
+        # empty.
+      { # An account being held in a particular hold. This structure is immutable.
+          # This can be either a single user or a google group, depending on the corpus.
+        "lastName": "A String", # Output only. The last name of the account holder.
+        "holdTime": "A String", # Output only. When the account was put on hold.
+        "email": "A String", # The primary email address of the account. If used as an input, this takes
+            # precedence over account ID.
+        "firstName": "A String", # Output only. The first name of the account holder.
+        "accountId": "A String", # The account's ID as provided by the
+            # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
+      },
+    ],
+    "query": { # Corpus specific queries. # The corpus-specific query. If set, the corpusQuery must match corpus
+        # type.
+      "hangoutsChatQuery": { # Query options for hangouts chat holds. # Details pertaining to Hangouts Chat holds. If set, corpus must be
+          # Hangouts Chat.
+        "includeRooms": True or False, # If true, include rooms the user has participated in.
+      },
+      "driveQuery": { # Query options for Drive holds. # Details pertaining to Drive holds. If set, corpus must be Drive.
+        "includeSharedDriveFiles": True or False, # If true, include files in shared drives in the hold.
+        "includeTeamDriveFiles": True or False, # If true, include files in Team Drives in the hold.
+      },
+      "mailQuery": { # Query options for mail holds. # Details pertaining to mail holds. If set, corpus must be mail.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+      "groupsQuery": { # Query options for group holds. # Details pertaining to Groups holds. If set, corpus must be Groups.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "terms": "A String", # The search terms for the hold.
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+      },
+    },
+    "corpus": "A String", # The corpus to be searched.
+    "holdId": "A String", # The unique immutable ID of the hold. Assigned during creation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file