G Suite Vault API . matters . holds

Instance Methods

accounts()

Returns the accounts Resource.

addHeldAccounts(matterId, holdId, body, x__xgafv=None)

Adds HeldAccounts to a hold. Returns a list of accounts that have been

create(matterId, body, x__xgafv=None)

Creates a hold in the given matter.

delete(matterId, holdId, x__xgafv=None)

Removes a hold by ID. This will release any HeldAccounts on this Hold.

get(matterId, holdId, x__xgafv=None, view=None)

Gets a hold by ID.

list(matterId, pageSize=None, pageToken=None, x__xgafv=None, view=None)

Lists holds within a matter. An empty page token in ListHoldsResponse

list_next(previous_request, previous_response)

Retrieves the next page of results.

removeHeldAccounts(matterId, holdId, body, x__xgafv=None)

Removes HeldAccounts from a hold. Returns a list of statuses in the same

update(matterId, holdId, body, x__xgafv=None)

Updates the OU and/or query parameters of a hold. You cannot add accounts

Method Details

addHeldAccounts(matterId, holdId, body, x__xgafv=None)
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
              # Admin SDK.
        },
      },
    ],
  }
create(matterId, body, x__xgafv=None)
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
          # Admin SDK.
    },
  ],
  "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
            # Admin SDK.
      },
    ],
    "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.
  }
delete(matterId, holdId, x__xgafv=None)
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 `{}`.
  }
get(matterId, holdId, x__xgafv=None, view=None)
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
            # Admin SDK.
      },
    ],
    "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.
  }
list(matterId, pageSize=None, pageToken=None, x__xgafv=None, view=None)
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
                # Admin SDK.
          },
        ],
        "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.
      },
    ],
  }
list_next(previous_request, previous_response)
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.
    
removeHeldAccounts(matterId, holdId, body, x__xgafv=None)
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.
          },
        ],
      },
    ],
  }
update(matterId, holdId, body, x__xgafv=None)
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
          # Admin SDK.
    },
  ],
  "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
            # Admin SDK.
      },
    ],
    "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.
  }