"""Generated message classes for dialogflow version v2.

Builds conversational interfaces (for example, chatbots, and voice-powered
apps and devices).
"""
# NOTE: This file is autogenerated and should not be edited by hand.

from __future__ import absolute_import

from apitools.base.protorpclite import messages as _messages
from apitools.base.py import encoding
from apitools.base.py import extra_types


package = 'dialogflow'


class DialogflowProjectsAgentEntityTypesBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesBatchDeleteRequest object.

  Fields:
    googleCloudDialogflowV2BatchDeleteEntityTypesRequest: A
      GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest resource to be
      passed as the request body.
    parent: Required. The name of the agent to delete all entities types for.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchDeleteEntityTypesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesBatchUpdateRequest object.

  Fields:
    googleCloudDialogflowV2BatchUpdateEntityTypesRequest: A
      GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest resource to be
      passed as the request body.
    parent: Required. The name of the agent to update or create entity types
      in. Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchUpdateEntityTypesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesCreateRequest object.

  Fields:
    googleCloudDialogflowV2EntityType: A GoogleCloudDialogflowV2EntityType
      resource to be passed as the request body.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    parent: Required. The agent to create a entity type for. Format:
      `projects//agent`.
  """

  googleCloudDialogflowV2EntityType = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1)
  languageCode = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEntityTypesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesDeleteRequest object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/entityTypes/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEntityTypesEntitiesBatchCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesEntitiesBatchCreateRequest object.

  Fields:
    googleCloudDialogflowV2BatchCreateEntitiesRequest: A
      GoogleCloudDialogflowV2BatchCreateEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to create entities in.
      Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchCreateEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchCreateEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesEntitiesBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesEntitiesBatchDeleteRequest object.

  Fields:
    googleCloudDialogflowV2BatchDeleteEntitiesRequest: A
      GoogleCloudDialogflowV2BatchDeleteEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to delete entries for.
      Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchDeleteEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesEntitiesBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesEntitiesBatchUpdateRequest object.

  Fields:
    googleCloudDialogflowV2BatchUpdateEntitiesRequest: A
      GoogleCloudDialogflowV2BatchUpdateEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to update or create entities
      in. Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchUpdateEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesGetRequest object.

  Fields:
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Required. The name of the entity type. Format:
      `projects//agent/entityTypes/`.
  """

  languageCode = _messages.StringField(1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesListRequest object.

  Fields:
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all entity types from. Format:
      `projects//agent`.
  """

  languageCode = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsAgentEntityTypesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEntityTypesPatchRequest object.

  Fields:
    googleCloudDialogflowV2EntityType: A GoogleCloudDialogflowV2EntityType
      resource to be passed as the request body.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: The unique identifier of the entity type. Required for
      EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
      methods. Format: `projects//agent/entityTypes/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2EntityType = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1)
  languageCode = _messages.StringField(2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


class DialogflowProjectsAgentEnvironmentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsCreateRequest object.

  Fields:
    environmentId: Required. The unique id of the new environment.
    googleCloudDialogflowV2Environment: A GoogleCloudDialogflowV2Environment
      resource to be passed as the request body.
    parent: Required. The agent to create an environment for. Supported
      formats: - `projects//agent` - `projects//locations//agent`
  """

  environmentId = _messages.StringField(1)
  googleCloudDialogflowV2Environment = _messages.MessageField('GoogleCloudDialogflowV2Environment', 2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEnvironmentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsDeleteRequest object.

  Fields:
    name: Required. The name of the environment to delete. / Format: -
      `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsGetHistoryRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsGetHistoryRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The name of the environment to retrieve history for.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEnvironmentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsGetRequest object.

  Fields:
    name: Required. The name of the environment. Supported formats: -
      `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsIntentsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsIntentsListRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all intents from. Format:
      `projects//agent` or `projects//locations//agent`. Alternatively, you
      can specify the environment to list intents for. Format:
      `projects//agent/environments/` or
      `projects//locations//agent/environments/`. Note: training phrases of
      the intents will not be returned for non-draft environment.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  parent = _messages.StringField(5, required=True)


class DialogflowProjectsAgentEnvironmentsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all environments from. Format: -
      `projects//agent` - `projects//locations//agent`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEnvironmentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsPatchRequest object.

  Fields:
    allowLoadToDraftAndDiscardChanges: Optional. This field is used to prevent
      accidental overwrite of the default environment, which is an operation
      that cannot be undone. To confirm that the caller desires this
      overwrite, this field must be explicitly set to true when updating the
      default environment (environment ID = `-`).
    googleCloudDialogflowV2Environment: A GoogleCloudDialogflowV2Environment
      resource to be passed as the request body.
    name: Output only. The unique identifier of this agent environment.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
    updateMask: Required. The mask to control which fields get updated.
  """

  allowLoadToDraftAndDiscardChanges = _messages.BooleanField(1)
  googleCloudDialogflowV2Environment = _messages.MessageField('GoogleCloudDialogflowV2Environment', 2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


class DialogflowProjectsAgentEnvironmentsUsersSessionsContextsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsContextsCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    parent: Required. The session to create a context for. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsContextsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsContextsDeleteRequest
  object.

  Fields:
    name: Required. The name of the context to delete. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsContextsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsContextsGetRequest
  object.

  Fields:
    name: Required. The name of the context. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsContextsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsContextsListRequest
  object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all contexts from. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsContextsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsContextsPatchRequest
  object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    name: Required. The unique identifier of the context. Format:
      `projects//agent/sessions//contexts/`, or
      `projects//agent/environments//users//sessions//contexts/`. The `Context
      ID` is always converted to lowercase, may only contain characters in
      a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user. The following context names
      are reserved for internal use by Dialogflow. You should not use these
      contexts or create contexts with these names: * `__system_counters__` *
      `*_id_dialog_context` * `*_dialog_params_size`
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentEnvironmentsUsersSessionsDeleteContextsRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsDeleteContextsRequest
  object.

  Fields:
    parent: Required. The name of the session to delete all contexts from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified we assume default 'draft' environment. If `User ID` is not
      specified, we assume default '-' user.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsDetectIntentRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsDetectIntentRequest
  object.

  Fields:
    googleCloudDialogflowV2DetectIntentRequest: A
      GoogleCloudDialogflowV2DetectIntentRequest resource to be passed as the
      request body.
    session: Required. The name of the session this query is sent to. Format:
      `projects//agent/sessions/`, or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment (`Environment ID`
      might be referred to as environment name at some places). If `User ID`
      is not specified, we are using "-". It's up to the API caller to choose
      an appropriate `Session ID` and `User Id`. They can be a random number
      or some type of user and session identifiers (preferably hashed). The
      length of the `Session ID` and `User ID` must not exceed 36 characters.
      For more information, see the [API interactions
      guide](https://cloud.google.com/dialogflow/docs/api-overview). Note:
      Always use agent versions for production traffic. See [Versions and
      environments](https://cloud.google.com/dialogflow/es/docs/agents-
      versions).
  """

  googleCloudDialogflowV2DetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2DetectIntentRequest', 1)
  session = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesCreateRequest(_messages.Message):
  r"""A
  DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    parent: Required. The session to create a session entity type for. Format:
      `projects//agent/sessions/` or `projects//agent/environments//users//
      sessions/`. If `Environment ID` is not specified, we assume default
      'draft' environment. If `User ID` is not specified, we assume default
      '-' user.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesDeleteRequest(_messages.Message):
  r"""A
  DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesDeleteRequest
  object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesGetRequest
  object.

  Fields:
    name: Required. The name of the session entity type. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesListRequest
  object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all session entity types from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users// sessions/`. If `Environment ID`
      is not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesPatchRequest(_messages.Message):
  r"""A
  DialogflowProjectsAgentEnvironmentsUsersSessionsEntityTypesPatchRequest
  object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    name: Required. The unique identifier of this session entity type. Format:
      `projects//agent/sessions//entityTypes/`, or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      `` must be the display name of an existing entity type in the same agent
      that will be overridden or supplemented.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentExportRequest(_messages.Message):
  r"""A DialogflowProjectsAgentExportRequest object.

  Fields:
    googleCloudDialogflowV2ExportAgentRequest: A
      GoogleCloudDialogflowV2ExportAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to export is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2ExportAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2ExportAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentGetFulfillmentRequest(_messages.Message):
  r"""A DialogflowProjectsAgentGetFulfillmentRequest object.

  Fields:
    name: Required. The name of the fulfillment. Format:
      `projects//agent/fulfillment`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentGetValidationResultRequest(_messages.Message):
  r"""A DialogflowProjectsAgentGetValidationResultRequest object.

  Fields:
    languageCode: Optional. The language for which you want a validation
      result. If not specified, the agent's default language is used. [Many
      languages](https://cloud.google.com/dialogflow/docs/reference/language)
      are supported. Note: languages must be enabled in the agent before they
      can be used.
    parent: Required. The project that the agent is associated with. Format:
      `projects/`.
  """

  languageCode = _messages.StringField(1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentImportRequest(_messages.Message):
  r"""A DialogflowProjectsAgentImportRequest object.

  Fields:
    googleCloudDialogflowV2ImportAgentRequest: A
      GoogleCloudDialogflowV2ImportAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to import is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2ImportAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2ImportAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentIntentsBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsBatchDeleteRequest object.

  Fields:
    googleCloudDialogflowV2BatchDeleteIntentsRequest: A
      GoogleCloudDialogflowV2BatchDeleteIntentsRequest resource to be passed
      as the request body.
    parent: Required. The name of the agent to delete all entities types for.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchDeleteIntentsRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteIntentsRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentIntentsBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsBatchUpdateRequest object.

  Fields:
    googleCloudDialogflowV2BatchUpdateIntentsRequest: A
      GoogleCloudDialogflowV2BatchUpdateIntentsRequest resource to be passed
      as the request body.
    parent: Required. The name of the agent to update or create intents in.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchUpdateIntentsRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateIntentsRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentIntentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsCreateRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    googleCloudDialogflowV2Intent: A GoogleCloudDialogflowV2Intent resource to
      be passed as the request body.
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    parent: Required. The agent to create a intent for. Format:
      `projects//agent`.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  googleCloudDialogflowV2Intent = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1)
  intentView = _messages.EnumField('IntentViewValueValuesEnum', 2)
  languageCode = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsAgentIntentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsDeleteRequest object.

  Fields:
    name: Required. The name of the intent to delete. If this intent has
      direct or indirect followup intents, we also delete them. Format:
      `projects//agent/intents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentIntentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsGetRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Required. The name of the intent. Format:
      `projects//agent/intents/`.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  name = _messages.StringField(3, required=True)


class DialogflowProjectsAgentIntentsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsListRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all intents from. Format:
      `projects//agent` or `projects//locations//agent`. Alternatively, you
      can specify the environment to list intents for. Format:
      `projects//agent/environments/` or
      `projects//locations//agent/environments/`. Note: training phrases of
      the intents will not be returned for non-draft environment.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  parent = _messages.StringField(5, required=True)


class DialogflowProjectsAgentIntentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentIntentsPatchRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    googleCloudDialogflowV2Intent: A GoogleCloudDialogflowV2Intent resource to
      be passed as the request body.
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Optional. The unique identifier of this intent. Required for
      Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format:
      `projects//agent/intents/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  googleCloudDialogflowV2Intent = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1)
  intentView = _messages.EnumField('IntentViewValueValuesEnum', 2)
  languageCode = _messages.StringField(3)
  name = _messages.StringField(4, required=True)
  updateMask = _messages.StringField(5)


class DialogflowProjectsAgentKnowledgeBasesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesCreateRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    parent: Required. The project to create a knowledge base for. Format:
      `projects//locations/`.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentKnowledgeBasesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDeleteRequest object.

  Fields:
    force: Optional. Force deletes the knowledge base. When set to true, any
      documents in the knowledge base are also deleted.
    name: Required. The name of the knowledge base to delete. Format:
      `projects//locations//knowledgeBases/`.
  """

  force = _messages.BooleanField(1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsAgentKnowledgeBasesDocumentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    parent: Required. The knowledge base to create a document for. Format:
      `projects//locations//knowledgeBases/`.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentKnowledgeBasesDocumentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsDeleteRequest object.

  Fields:
    name: Required. The name of the document to delete. Format:
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentKnowledgeBasesDocumentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsGetRequest object.

  Fields:
    name: Required. The name of the document to retrieve. Format
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentKnowledgeBasesDocumentsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The knowledge base to list all documents for. Format:
      `projects//locations//knowledgeBases/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentKnowledgeBasesDocumentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    name: Optional. The document resource name. The name must be empty when
      creating a document. Format:
      `projects//locations//knowledgeBases//documents/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentKnowledgeBasesDocumentsReloadRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesDocumentsReloadRequest object.

  Fields:
    googleCloudDialogflowV2ReloadDocumentRequest: A
      GoogleCloudDialogflowV2ReloadDocumentRequest resource to be passed as
      the request body.
    name: Required. The name of the document to reload. Format:
      `projects//locations//knowledgeBases//documents/`
  """

  googleCloudDialogflowV2ReloadDocumentRequest = _messages.MessageField('GoogleCloudDialogflowV2ReloadDocumentRequest', 1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsAgentKnowledgeBasesGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesGetRequest object.

  Fields:
    name: Required. The name of the knowledge base to retrieve. Format
      `projects//locations//knowledgeBases/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentKnowledgeBasesListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list of knowledge bases for. Format:
      `projects//locations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentKnowledgeBasesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentKnowledgeBasesPatchRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    name: The knowledge base resource name. The name must be empty when
      creating a knowledge base. Format:
      `projects//locations//knowledgeBases/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentRestoreRequest(_messages.Message):
  r"""A DialogflowProjectsAgentRestoreRequest object.

  Fields:
    googleCloudDialogflowV2RestoreAgentRequest: A
      GoogleCloudDialogflowV2RestoreAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to restore is associated
      with. Format: `projects/`.
  """

  googleCloudDialogflowV2RestoreAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2RestoreAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentSearchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSearchRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list agents from. Format: `projects/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentSessionsContextsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsContextsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    parent: Required. The session to create a context for. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentSessionsContextsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsContextsDeleteRequest object.

  Fields:
    name: Required. The name of the context to delete. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentSessionsContextsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsContextsGetRequest object.

  Fields:
    name: Required. The name of the context. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentSessionsContextsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsContextsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all contexts from. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentSessionsContextsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsContextsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    name: Required. The unique identifier of the context. Format:
      `projects//agent/sessions//contexts/`, or
      `projects//agent/environments//users//sessions//contexts/`. The `Context
      ID` is always converted to lowercase, may only contain characters in
      a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user. The following context names
      are reserved for internal use by Dialogflow. You should not use these
      contexts or create contexts with these names: * `__system_counters__` *
      `*_id_dialog_context` * `*_dialog_params_size`
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentSessionsDeleteContextsRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsDeleteContextsRequest object.

  Fields:
    parent: Required. The name of the session to delete all contexts from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified we assume default 'draft' environment. If `User ID` is not
      specified, we assume default '-' user.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsAgentSessionsDetectIntentRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsDetectIntentRequest object.

  Fields:
    googleCloudDialogflowV2DetectIntentRequest: A
      GoogleCloudDialogflowV2DetectIntentRequest resource to be passed as the
      request body.
    session: Required. The name of the session this query is sent to. Format:
      `projects//agent/sessions/`, or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment (`Environment ID`
      might be referred to as environment name at some places). If `User ID`
      is not specified, we are using "-". It's up to the API caller to choose
      an appropriate `Session ID` and `User Id`. They can be a random number
      or some type of user and session identifiers (preferably hashed). The
      length of the `Session ID` and `User ID` must not exceed 36 characters.
      For more information, see the [API interactions
      guide](https://cloud.google.com/dialogflow/docs/api-overview). Note:
      Always use agent versions for production traffic. See [Versions and
      environments](https://cloud.google.com/dialogflow/es/docs/agents-
      versions).
  """

  googleCloudDialogflowV2DetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2DetectIntentRequest', 1)
  session = _messages.StringField(2, required=True)


class DialogflowProjectsAgentSessionsEntityTypesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsEntityTypesCreateRequest object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    parent: Required. The session to create a session entity type for. Format:
      `projects//agent/sessions/` or `projects//agent/environments//users//
      sessions/`. If `Environment ID` is not specified, we assume default
      'draft' environment. If `User ID` is not specified, we assume default
      '-' user.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentSessionsEntityTypesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsEntityTypesDeleteRequest object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentSessionsEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsEntityTypesGetRequest object.

  Fields:
    name: Required. The name of the session entity type. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentSessionsEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsEntityTypesListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all session entity types from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users// sessions/`. If `Environment ID`
      is not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentSessionsEntityTypesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentSessionsEntityTypesPatchRequest object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    name: Required. The unique identifier of this session entity type. Format:
      `projects//agent/sessions//entityTypes/`, or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      `` must be the display name of an existing entity type in the same agent
      that will be overridden or supplemented.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentTrainRequest(_messages.Message):
  r"""A DialogflowProjectsAgentTrainRequest object.

  Fields:
    googleCloudDialogflowV2TrainAgentRequest: A
      GoogleCloudDialogflowV2TrainAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to train is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2TrainAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2TrainAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentUpdateFulfillmentRequest(_messages.Message):
  r"""A DialogflowProjectsAgentUpdateFulfillmentRequest object.

  Fields:
    googleCloudDialogflowV2Fulfillment: A GoogleCloudDialogflowV2Fulfillment
      resource to be passed as the request body.
    name: Required. The unique identifier of the fulfillment. Supported
      formats: - `projects//agent/fulfillment` -
      `projects//locations//agent/fulfillment` This field is not used for
      Fulfillment in an Environment.
    updateMask: Required. The mask to control which fields get updated. If the
      mask is not present, all fields will be updated.
  """

  googleCloudDialogflowV2Fulfillment = _messages.MessageField('GoogleCloudDialogflowV2Fulfillment', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAgentVersionsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsAgentVersionsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Version: A GoogleCloudDialogflowV2Version resource
      to be passed as the request body.
    parent: Required. The agent to create a version for. Supported formats: -
      `projects//agent` - `projects//locations//agent`
  """

  googleCloudDialogflowV2Version = _messages.MessageField('GoogleCloudDialogflowV2Version', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsAgentVersionsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsAgentVersionsDeleteRequest object.

  Fields:
    name: Required. The name of the version to delete. Supported formats: -
      `projects//agent/versions/` - `projects//locations//agent/versions/`
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentVersionsGetRequest(_messages.Message):
  r"""A DialogflowProjectsAgentVersionsGetRequest object.

  Fields:
    name: Required. The name of the version. Supported formats: -
      `projects//agent/versions/` - `projects//locations//agent/versions/`
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsAgentVersionsListRequest(_messages.Message):
  r"""A DialogflowProjectsAgentVersionsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all versions from. Supported formats:
      - `projects//agent` - `projects//locations//agent`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsAgentVersionsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAgentVersionsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Version: A GoogleCloudDialogflowV2Version resource
      to be passed as the request body.
    name: Output only. The unique identifier of this agent version. Supported
      formats: - `projects//agent/versions/` -
      `projects//locations//agent/versions/`
    updateMask: Required. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Version = _messages.MessageField('GoogleCloudDialogflowV2Version', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsAnswerRecordsListRequest(_messages.Message):
  r"""A DialogflowProjectsAnswerRecordsListRequest object.

  Fields:
    filter: Required. Filters to restrict results to specific answer records.
      Filter on answer record type. Currently predicates on `type` is
      supported, valid values are `ARTICLE_ANSWER`, `FAQ_ANSWER`. For more
      information about filtering, see [API Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of records to return in a single
      page. The server may return fewer records than this. If unspecified, we
      use 10. The maximum is 100.
    pageToken: Optional. The ListAnswerRecordsResponse.next_page_token value
      returned from a previous list request used to continue listing on the
      next page.
    parent: Required. The project to list all answer records for in reverse
      chronological order. Format: `projects//locations/`.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsAnswerRecordsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsAnswerRecordsPatchRequest object.

  Fields:
    googleCloudDialogflowV2AnswerRecord: A GoogleCloudDialogflowV2AnswerRecord
      resource to be passed as the request body.
    name: The unique identifier of this answer record. Format:
      `projects//locations//answerRecords/`.
    updateMask: Required. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2AnswerRecord = _messages.MessageField('GoogleCloudDialogflowV2AnswerRecord', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsConversationProfilesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsConversationProfilesCreateRequest object.

  Fields:
    googleCloudDialogflowV2ConversationProfile: A
      GoogleCloudDialogflowV2ConversationProfile resource to be passed as the
      request body.
    parent: Required. The project to create a conversation profile for.
      Format: `projects//locations/`.
  """

  googleCloudDialogflowV2ConversationProfile = _messages.MessageField('GoogleCloudDialogflowV2ConversationProfile', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsConversationProfilesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsConversationProfilesDeleteRequest object.

  Fields:
    name: Required. The name of the conversation profile to delete. Format:
      `projects//locations//conversationProfiles/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsConversationProfilesGetRequest(_messages.Message):
  r"""A DialogflowProjectsConversationProfilesGetRequest object.

  Fields:
    name: Required. The resource name of the conversation profile. Format:
      `projects//locations//conversationProfiles/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsConversationProfilesListRequest(_messages.Message):
  r"""A DialogflowProjectsConversationProfilesListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 100 and at most 1000.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list all conversation profiles from.
      Format: `projects//locations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsConversationProfilesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsConversationProfilesPatchRequest object.

  Fields:
    googleCloudDialogflowV2ConversationProfile: A
      GoogleCloudDialogflowV2ConversationProfile resource to be passed as the
      request body.
    name: The unique identifier of this conversation profile. Format:
      `projects//locations//conversationProfiles/`.
    updateMask: Required. The mask to control which fields to update.
  """

  googleCloudDialogflowV2ConversationProfile = _messages.MessageField('GoogleCloudDialogflowV2ConversationProfile', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsConversationsCompleteRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsCompleteRequest object.

  Fields:
    googleCloudDialogflowV2CompleteConversationRequest: A
      GoogleCloudDialogflowV2CompleteConversationRequest resource to be passed
      as the request body.
    name: Required. Resource identifier of the conversation to close. Format:
      `projects//locations//conversations/`.
  """

  googleCloudDialogflowV2CompleteConversationRequest = _messages.MessageField('GoogleCloudDialogflowV2CompleteConversationRequest', 1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsConversationsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsCreateRequest object.

  Fields:
    conversationId: Optional. Identifier of the conversation. Generally it's
      auto generated by Google. Only set it if you cannot wait for the
      response to return a auto-generated one to you. The conversation ID must
      be compliant with the regression fomula "a-zA-Z*" with the characters
      length in range of [3,64]. If the field is provided, the caller is
      resposible for 1. the uniqueness of the ID, otherwise the request will
      be rejected. 2. the consistency for whether to use custom ID or not
      under a project to better ensure uniqueness.
    googleCloudDialogflowV2Conversation: A GoogleCloudDialogflowV2Conversation
      resource to be passed as the request body.
    parent: Required. Resource identifier of the project creating the
      conversation. Format: `projects//locations/`.
  """

  conversationId = _messages.StringField(1)
  googleCloudDialogflowV2Conversation = _messages.MessageField('GoogleCloudDialogflowV2Conversation', 2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsConversationsGetRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsGetRequest object.

  Fields:
    name: Required. The name of the conversation. Format:
      `projects//locations//conversations/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsConversationsListRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsListRequest object.

  Fields:
    filter: A filter expression that filters conversations listed in the
      response. In general, the expression must specify the field name, a
      comparison operator, and the value to use for filtering: - The value
      must be a string, a number, or a boolean. - The comparison operator must
      be either `=`,`!=`, `>`, or `<`. - To filter on multiple expressions,
      separate the expressions with `AND` or `OR` (omitting both implies
      `AND`). - For clarity, expressions can be enclosed in parentheses. Only
      `lifecycle_state` can be filtered on in this way. For example, the
      following expression only returns `COMPLETED` conversations:
      `lifecycle_state = "COMPLETED"` For more information about filtering,
      see [API Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The project from which to list all conversation. Format:
      `projects//locations/`.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsConversationsMessagesListRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsMessagesListRequest object.

  Fields:
    filter: Optional. Filter on message fields. Currently predicates on
      `create_time` and `create_time_epoch_microseconds` are supported.
      `create_time` only support milliseconds accuracy. E.g.,
      `create_time_epoch_microseconds > 1551790877964485` or `create_time >
      2017-01-15T01:30:15.01Z`. For more information about filtering, see [API
      Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The name of the conversation to list messages for.
      Format: `projects//locations//conversations/`
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsConversationsParticipantsAnalyzeContentRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsAnalyzeContentRequest
  object.

  Fields:
    googleCloudDialogflowV2AnalyzeContentRequest: A
      GoogleCloudDialogflowV2AnalyzeContentRequest resource to be passed as
      the request body.
    participant: Required. The name of the participant this text comes from.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2AnalyzeContentRequest = _messages.MessageField('GoogleCloudDialogflowV2AnalyzeContentRequest', 1)
  participant = _messages.StringField(2, required=True)


class DialogflowProjectsConversationsParticipantsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Participant: A GoogleCloudDialogflowV2Participant
      resource to be passed as the request body.
    parent: Required. Resource identifier of the conversation adding the
      participant. Format: `projects//locations//conversations/`.
  """

  googleCloudDialogflowV2Participant = _messages.MessageField('GoogleCloudDialogflowV2Participant', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsConversationsParticipantsGetRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsGetRequest object.

  Fields:
    name: Required. The name of the participant. Format:
      `projects//locations//conversations//participants/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsConversationsParticipantsListRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The conversation to list all participants from. Format:
      `projects//locations//conversations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsConversationsParticipantsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Participant: A GoogleCloudDialogflowV2Participant
      resource to be passed as the request body.
    name: Optional. The unique identifier of this participant. Format:
      `projects//locations//conversations//participants/`.
    updateMask: Required. The mask to specify which fields to update.
  """

  googleCloudDialogflowV2Participant = _messages.MessageField('GoogleCloudDialogflowV2Participant', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsConversationsParticipantsSuggestionsSuggestArticlesRequest(_messages.Message):
  r"""A
  DialogflowProjectsConversationsParticipantsSuggestionsSuggestArticlesRequest
  object.

  Fields:
    googleCloudDialogflowV2SuggestArticlesRequest: A
      GoogleCloudDialogflowV2SuggestArticlesRequest resource to be passed as
      the request body.
    parent: Required. The name of the participant to fetch suggestion for.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2SuggestArticlesRequest = _messages.MessageField('GoogleCloudDialogflowV2SuggestArticlesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsConversationsParticipantsSuggestionsSuggestFaqAnswersRequest(_messages.Message):
  r"""A DialogflowProjectsConversationsParticipantsSuggestionsSuggestFaqAnswer
  sRequest object.

  Fields:
    googleCloudDialogflowV2SuggestFaqAnswersRequest: A
      GoogleCloudDialogflowV2SuggestFaqAnswersRequest resource to be passed as
      the request body.
    parent: Required. The name of the participant to fetch suggestion for.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2SuggestFaqAnswersRequest = _messages.MessageField('GoogleCloudDialogflowV2SuggestFaqAnswersRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsDeleteAgentRequest(_messages.Message):
  r"""A DialogflowProjectsDeleteAgentRequest object.

  Fields:
    parent: Required. The project that the agent to delete is associated with.
      Format: `projects/`.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsGetAgentRequest(_messages.Message):
  r"""A DialogflowProjectsGetAgentRequest object.

  Fields:
    parent: Required. The project that the agent to fetch is associated with.
      Format: `projects/`.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsKnowledgeBasesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesCreateRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    parent: Required. The project to create a knowledge base for. Format:
      `projects//locations/`.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsKnowledgeBasesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDeleteRequest object.

  Fields:
    force: Optional. Force deletes the knowledge base. When set to true, any
      documents in the knowledge base are also deleted.
    name: Required. The name of the knowledge base to delete. Format:
      `projects//locations//knowledgeBases/`.
  """

  force = _messages.BooleanField(1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsKnowledgeBasesDocumentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    parent: Required. The knowledge base to create a document for. Format:
      `projects//locations//knowledgeBases/`.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsKnowledgeBasesDocumentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsDeleteRequest object.

  Fields:
    name: Required. The name of the document to delete. Format:
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsKnowledgeBasesDocumentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsGetRequest object.

  Fields:
    name: Required. The name of the document to retrieve. Format
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsKnowledgeBasesDocumentsListRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The knowledge base to list all documents for. Format:
      `projects//locations//knowledgeBases/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsKnowledgeBasesDocumentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    name: Optional. The document resource name. The name must be empty when
      creating a document. Format:
      `projects//locations//knowledgeBases//documents/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsKnowledgeBasesDocumentsReloadRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesDocumentsReloadRequest object.

  Fields:
    googleCloudDialogflowV2ReloadDocumentRequest: A
      GoogleCloudDialogflowV2ReloadDocumentRequest resource to be passed as
      the request body.
    name: Required. The name of the document to reload. Format:
      `projects//locations//knowledgeBases//documents/`
  """

  googleCloudDialogflowV2ReloadDocumentRequest = _messages.MessageField('GoogleCloudDialogflowV2ReloadDocumentRequest', 1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsKnowledgeBasesGetRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesGetRequest object.

  Fields:
    name: Required. The name of the knowledge base to retrieve. Format
      `projects//locations//knowledgeBases/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsKnowledgeBasesListRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list of knowledge bases for. Format:
      `projects//locations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsKnowledgeBasesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsKnowledgeBasesPatchRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    name: The knowledge base resource name. The name must be empty when
      creating a knowledge base. Format:
      `projects//locations//knowledgeBases/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentEntityTypesBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesBatchDeleteRequest object.

  Fields:
    googleCloudDialogflowV2BatchDeleteEntityTypesRequest: A
      GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest resource to be
      passed as the request body.
    parent: Required. The name of the agent to delete all entities types for.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchDeleteEntityTypesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesBatchUpdateRequest object.

  Fields:
    googleCloudDialogflowV2BatchUpdateEntityTypesRequest: A
      GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest resource to be
      passed as the request body.
    parent: Required. The name of the agent to update or create entity types
      in. Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchUpdateEntityTypesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesCreateRequest object.

  Fields:
    googleCloudDialogflowV2EntityType: A GoogleCloudDialogflowV2EntityType
      resource to be passed as the request body.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    parent: Required. The agent to create a entity type for. Format:
      `projects//agent`.
  """

  googleCloudDialogflowV2EntityType = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1)
  languageCode = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEntityTypesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesDeleteRequest object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/entityTypes/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2BatchCreateEntitiesRequest: A
      GoogleCloudDialogflowV2BatchCreateEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to create entities in.
      Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchCreateEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchCreateEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchDeleteRequest
  object.

  Fields:
    googleCloudDialogflowV2BatchDeleteEntitiesRequest: A
      GoogleCloudDialogflowV2BatchDeleteEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to delete entries for.
      Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchDeleteEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesEntitiesBatchUpdateRequest
  object.

  Fields:
    googleCloudDialogflowV2BatchUpdateEntitiesRequest: A
      GoogleCloudDialogflowV2BatchUpdateEntitiesRequest resource to be passed
      as the request body.
    parent: Required. The name of the entity type to update or create entities
      in. Format: `projects//agent/entityTypes/`.
  """

  googleCloudDialogflowV2BatchUpdateEntitiesRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateEntitiesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesGetRequest object.

  Fields:
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Required. The name of the entity type. Format:
      `projects//agent/entityTypes/`.
  """

  languageCode = _messages.StringField(1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesListRequest object.

  Fields:
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all entity types from. Format:
      `projects//agent`.
  """

  languageCode = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsLocationsAgentEntityTypesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEntityTypesPatchRequest object.

  Fields:
    googleCloudDialogflowV2EntityType: A GoogleCloudDialogflowV2EntityType
      resource to be passed as the request body.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: The unique identifier of the entity type. Required for
      EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
      methods. Format: `projects//agent/entityTypes/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2EntityType = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1)
  languageCode = _messages.StringField(2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


class DialogflowProjectsLocationsAgentEnvironmentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsCreateRequest object.

  Fields:
    environmentId: Required. The unique id of the new environment.
    googleCloudDialogflowV2Environment: A GoogleCloudDialogflowV2Environment
      resource to be passed as the request body.
    parent: Required. The agent to create an environment for. Supported
      formats: - `projects//agent` - `projects//locations//agent`
  """

  environmentId = _messages.StringField(1)
  googleCloudDialogflowV2Environment = _messages.MessageField('GoogleCloudDialogflowV2Environment', 2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsDeleteRequest object.

  Fields:
    name: Required. The name of the environment to delete. / Format: -
      `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsGetHistoryRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsGetHistoryRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The name of the environment to retrieve history for.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsGetRequest object.

  Fields:
    name: Required. The name of the environment. Supported formats: -
      `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsIntentsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsIntentsListRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all intents from. Format:
      `projects//agent` or `projects//locations//agent`. Alternatively, you
      can specify the environment to list intents for. Format:
      `projects//agent/environments/` or
      `projects//locations//agent/environments/`. Note: training phrases of
      the intents will not be returned for non-draft environment.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  parent = _messages.StringField(5, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all environments from. Format: -
      `projects//agent` - `projects//locations//agent`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsPatchRequest object.

  Fields:
    allowLoadToDraftAndDiscardChanges: Optional. This field is used to prevent
      accidental overwrite of the default environment, which is an operation
      that cannot be undone. To confirm that the caller desires this
      overwrite, this field must be explicitly set to true when updating the
      default environment (environment ID = `-`).
    googleCloudDialogflowV2Environment: A GoogleCloudDialogflowV2Environment
      resource to be passed as the request body.
    name: Output only. The unique identifier of this agent environment.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
    updateMask: Required. The mask to control which fields get updated.
  """

  allowLoadToDraftAndDiscardChanges = _messages.BooleanField(1)
  googleCloudDialogflowV2Environment = _messages.MessageField('GoogleCloudDialogflowV2Environment', 2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsCreat
  eRequest object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    parent: Required. The session to create a context for. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsDelet
  eRequest object.

  Fields:
    name: Required. The name of the context to delete. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsGetRequest(_messages.Message):
  r"""A
  DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsGetRequest
  object.

  Fields:
    name: Required. The name of the context. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsListRequest(_messages.Message):
  r"""A
  DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsListRequest
  object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all contexts from. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsContextsPatch
  Request object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    name: Required. The unique identifier of the context. Format:
      `projects//agent/sessions//contexts/`, or
      `projects//agent/environments//users//sessions//contexts/`. The `Context
      ID` is always converted to lowercase, may only contain characters in
      a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user. The following context names
      are reserved for internal use by Dialogflow. You should not use these
      contexts or create contexts with these names: * `__system_counters__` *
      `*_id_dialog_context` * `*_dialog_params_size`
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsDeleteContextsRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsDeleteContext
  sRequest object.

  Fields:
    parent: Required. The name of the session to delete all contexts from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified we assume default 'draft' environment. If `User ID` is not
      specified, we assume default '-' user.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsDetectIntentRequest(_messages.Message):
  r"""A
  DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsDetectIntentRequest
  object.

  Fields:
    googleCloudDialogflowV2DetectIntentRequest: A
      GoogleCloudDialogflowV2DetectIntentRequest resource to be passed as the
      request body.
    session: Required. The name of the session this query is sent to. Format:
      `projects//agent/sessions/`, or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment (`Environment ID`
      might be referred to as environment name at some places). If `User ID`
      is not specified, we are using "-". It's up to the API caller to choose
      an appropriate `Session ID` and `User Id`. They can be a random number
      or some type of user and session identifiers (preferably hashed). The
      length of the `Session ID` and `User ID` must not exceed 36 characters.
      For more information, see the [API interactions
      guide](https://cloud.google.com/dialogflow/docs/api-overview). Note:
      Always use agent versions for production traffic. See [Versions and
      environments](https://cloud.google.com/dialogflow/es/docs/agents-
      versions).
  """

  googleCloudDialogflowV2DetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2DetectIntentRequest', 1)
  session = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesCr
  eateRequest object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    parent: Required. The session to create a session entity type for. Format:
      `projects//agent/sessions/` or `projects//agent/environments//users//
      sessions/`. If `Environment ID` is not specified, we assume default
      'draft' environment. If `User ID` is not specified, we assume default
      '-' user.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesDe
  leteRequest object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesGe
  tRequest object.

  Fields:
    name: Required. The name of the session entity type. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesLi
  stRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all session entity types from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users// sessions/`. If `Environment ID`
      is not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesPa
  tchRequest object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    name: Required. The unique identifier of this session entity type. Format:
      `projects//agent/sessions//entityTypes/`, or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      `` must be the display name of an existing entity type in the same agent
      that will be overridden or supplemented.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentExportRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentExportRequest object.

  Fields:
    googleCloudDialogflowV2ExportAgentRequest: A
      GoogleCloudDialogflowV2ExportAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to export is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2ExportAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2ExportAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentGetFulfillmentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentGetFulfillmentRequest object.

  Fields:
    name: Required. The name of the fulfillment. Format:
      `projects//agent/fulfillment`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentGetValidationResultRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentGetValidationResultRequest object.

  Fields:
    languageCode: Optional. The language for which you want a validation
      result. If not specified, the agent's default language is used. [Many
      languages](https://cloud.google.com/dialogflow/docs/reference/language)
      are supported. Note: languages must be enabled in the agent before they
      can be used.
    parent: Required. The project that the agent is associated with. Format:
      `projects/`.
  """

  languageCode = _messages.StringField(1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentImportRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentImportRequest object.

  Fields:
    googleCloudDialogflowV2ImportAgentRequest: A
      GoogleCloudDialogflowV2ImportAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to import is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2ImportAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2ImportAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentIntentsBatchDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsBatchDeleteRequest object.

  Fields:
    googleCloudDialogflowV2BatchDeleteIntentsRequest: A
      GoogleCloudDialogflowV2BatchDeleteIntentsRequest resource to be passed
      as the request body.
    parent: Required. The name of the agent to delete all entities types for.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchDeleteIntentsRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchDeleteIntentsRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentIntentsBatchUpdateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsBatchUpdateRequest object.

  Fields:
    googleCloudDialogflowV2BatchUpdateIntentsRequest: A
      GoogleCloudDialogflowV2BatchUpdateIntentsRequest resource to be passed
      as the request body.
    parent: Required. The name of the agent to update or create intents in.
      Format: `projects//agent`.
  """

  googleCloudDialogflowV2BatchUpdateIntentsRequest = _messages.MessageField('GoogleCloudDialogflowV2BatchUpdateIntentsRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentIntentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsCreateRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    googleCloudDialogflowV2Intent: A GoogleCloudDialogflowV2Intent resource to
      be passed as the request body.
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    parent: Required. The agent to create a intent for. Format:
      `projects//agent`.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  googleCloudDialogflowV2Intent = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1)
  intentView = _messages.EnumField('IntentViewValueValuesEnum', 2)
  languageCode = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsLocationsAgentIntentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsDeleteRequest object.

  Fields:
    name: Required. The name of the intent to delete. If this intent has
      direct or indirect followup intents, we also delete them. Format:
      `projects//agent/intents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentIntentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsGetRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Required. The name of the intent. Format:
      `projects//agent/intents/`.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  name = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentIntentsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsListRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all intents from. Format:
      `projects//agent` or `projects//locations//agent`. Alternatively, you
      can specify the environment to list intents for. Format:
      `projects//agent/environments/` or
      `projects//locations//agent/environments/`. Note: training phrases of
      the intents will not be returned for non-draft environment.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentView = _messages.EnumField('IntentViewValueValuesEnum', 1)
  languageCode = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  parent = _messages.StringField(5, required=True)


class DialogflowProjectsLocationsAgentIntentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentIntentsPatchRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    googleCloudDialogflowV2Intent: A GoogleCloudDialogflowV2Intent resource to
      be passed as the request body.
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    name: Optional. The unique identifier of this intent. Required for
      Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format:
      `projects//agent/intents/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  googleCloudDialogflowV2Intent = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1)
  intentView = _messages.EnumField('IntentViewValueValuesEnum', 2)
  languageCode = _messages.StringField(3)
  name = _messages.StringField(4, required=True)
  updateMask = _messages.StringField(5)


class DialogflowProjectsLocationsAgentRestoreRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentRestoreRequest object.

  Fields:
    googleCloudDialogflowV2RestoreAgentRequest: A
      GoogleCloudDialogflowV2RestoreAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to restore is associated
      with. Format: `projects/`.
  """

  googleCloudDialogflowV2RestoreAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2RestoreAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentSearchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSearchRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list agents from. Format: `projects/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentSessionsContextsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsContextsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    parent: Required. The session to create a context for. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentSessionsContextsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsContextsDeleteRequest object.

  Fields:
    name: Required. The name of the context to delete. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentSessionsContextsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsContextsGetRequest object.

  Fields:
    name: Required. The name of the context. Format:
      `projects//agent/sessions//contexts/` or
      `projects//agent/environments//users//sessions//contexts/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentSessionsContextsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsContextsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all contexts from. Format:
      `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentSessionsContextsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsContextsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Context: A GoogleCloudDialogflowV2Context resource
      to be passed as the request body.
    name: Required. The unique identifier of the context. Format:
      `projects//agent/sessions//contexts/`, or
      `projects//agent/environments//users//sessions//contexts/`. The `Context
      ID` is always converted to lowercase, may only contain characters in
      a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user. The following context names
      are reserved for internal use by Dialogflow. You should not use these
      contexts or create contexts with these names: * `__system_counters__` *
      `*_id_dialog_context` * `*_dialog_params_size`
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Context = _messages.MessageField('GoogleCloudDialogflowV2Context', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentSessionsDeleteContextsRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsDeleteContextsRequest object.

  Fields:
    parent: Required. The name of the session to delete all contexts from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified we assume default 'draft' environment. If `User ID` is not
      specified, we assume default '-' user.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentSessionsDetectIntentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsDetectIntentRequest object.

  Fields:
    googleCloudDialogflowV2DetectIntentRequest: A
      GoogleCloudDialogflowV2DetectIntentRequest resource to be passed as the
      request body.
    session: Required. The name of the session this query is sent to. Format:
      `projects//agent/sessions/`, or
      `projects//agent/environments//users//sessions/`. If `Environment ID` is
      not specified, we assume default 'draft' environment (`Environment ID`
      might be referred to as environment name at some places). If `User ID`
      is not specified, we are using "-". It's up to the API caller to choose
      an appropriate `Session ID` and `User Id`. They can be a random number
      or some type of user and session identifiers (preferably hashed). The
      length of the `Session ID` and `User ID` must not exceed 36 characters.
      For more information, see the [API interactions
      guide](https://cloud.google.com/dialogflow/docs/api-overview). Note:
      Always use agent versions for production traffic. See [Versions and
      environments](https://cloud.google.com/dialogflow/es/docs/agents-
      versions).
  """

  googleCloudDialogflowV2DetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2DetectIntentRequest', 1)
  session = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentSessionsEntityTypesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsEntityTypesCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    parent: Required. The session to create a session entity type for. Format:
      `projects//agent/sessions/` or `projects//agent/environments//users//
      sessions/`. If `Environment ID` is not specified, we assume default
      'draft' environment. If `User ID` is not specified, we assume default
      '-' user.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentSessionsEntityTypesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsEntityTypesDeleteRequest
  object.

  Fields:
    name: Required. The name of the entity type to delete. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentSessionsEntityTypesGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsEntityTypesGetRequest object.

  Fields:
    name: Required. The name of the session entity type. Format:
      `projects//agent/sessions//entityTypes/` or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentSessionsEntityTypesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsEntityTypesListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The session to list all session entity types from.
      Format: `projects//agent/sessions/` or
      `projects//agent/environments//users// sessions/`. If `Environment ID`
      is not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentSessionsEntityTypesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentSessionsEntityTypesPatchRequest
  object.

  Fields:
    googleCloudDialogflowV2SessionEntityType: A
      GoogleCloudDialogflowV2SessionEntityType resource to be passed as the
      request body.
    name: Required. The unique identifier of this session entity type. Format:
      `projects//agent/sessions//entityTypes/`, or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      `` must be the display name of an existing entity type in the same agent
      that will be overridden or supplemented.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2SessionEntityType = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentTrainRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentTrainRequest object.

  Fields:
    googleCloudDialogflowV2TrainAgentRequest: A
      GoogleCloudDialogflowV2TrainAgentRequest resource to be passed as the
      request body.
    parent: Required. The project that the agent to train is associated with.
      Format: `projects/`.
  """

  googleCloudDialogflowV2TrainAgentRequest = _messages.MessageField('GoogleCloudDialogflowV2TrainAgentRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentUpdateFulfillmentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentUpdateFulfillmentRequest object.

  Fields:
    googleCloudDialogflowV2Fulfillment: A GoogleCloudDialogflowV2Fulfillment
      resource to be passed as the request body.
    name: Required. The unique identifier of the fulfillment. Supported
      formats: - `projects//agent/fulfillment` -
      `projects//locations//agent/fulfillment` This field is not used for
      Fulfillment in an Environment.
    updateMask: Required. The mask to control which fields get updated. If the
      mask is not present, all fields will be updated.
  """

  googleCloudDialogflowV2Fulfillment = _messages.MessageField('GoogleCloudDialogflowV2Fulfillment', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAgentVersionsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentVersionsCreateRequest object.

  Fields:
    googleCloudDialogflowV2Version: A GoogleCloudDialogflowV2Version resource
      to be passed as the request body.
    parent: Required. The agent to create a version for. Supported formats: -
      `projects//agent` - `projects//locations//agent`
  """

  googleCloudDialogflowV2Version = _messages.MessageField('GoogleCloudDialogflowV2Version', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsAgentVersionsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentVersionsDeleteRequest object.

  Fields:
    name: Required. The name of the version to delete. Supported formats: -
      `projects//agent/versions/` - `projects//locations//agent/versions/`
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentVersionsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentVersionsGetRequest object.

  Fields:
    name: Required. The name of the version. Supported formats: -
      `projects//agent/versions/` - `projects//locations//agent/versions/`
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsAgentVersionsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentVersionsListRequest object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The agent to list all versions from. Supported formats:
      - `projects//agent` - `projects//locations//agent`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsAgentVersionsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAgentVersionsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Version: A GoogleCloudDialogflowV2Version resource
      to be passed as the request body.
    name: Output only. The unique identifier of this agent version. Supported
      formats: - `projects//agent/versions/` -
      `projects//locations//agent/versions/`
    updateMask: Required. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Version = _messages.MessageField('GoogleCloudDialogflowV2Version', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsAnswerRecordsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAnswerRecordsListRequest object.

  Fields:
    filter: Required. Filters to restrict results to specific answer records.
      Filter on answer record type. Currently predicates on `type` is
      supported, valid values are `ARTICLE_ANSWER`, `FAQ_ANSWER`. For more
      information about filtering, see [API Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of records to return in a single
      page. The server may return fewer records than this. If unspecified, we
      use 10. The maximum is 100.
    pageToken: Optional. The ListAnswerRecordsResponse.next_page_token value
      returned from a previous list request used to continue listing on the
      next page.
    parent: Required. The project to list all answer records for in reverse
      chronological order. Format: `projects//locations/`.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsLocationsAnswerRecordsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsAnswerRecordsPatchRequest object.

  Fields:
    googleCloudDialogflowV2AnswerRecord: A GoogleCloudDialogflowV2AnswerRecord
      resource to be passed as the request body.
    name: The unique identifier of this answer record. Format:
      `projects//locations//answerRecords/`.
    updateMask: Required. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2AnswerRecord = _messages.MessageField('GoogleCloudDialogflowV2AnswerRecord', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsConversationProfilesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationProfilesCreateRequest object.

  Fields:
    googleCloudDialogflowV2ConversationProfile: A
      GoogleCloudDialogflowV2ConversationProfile resource to be passed as the
      request body.
    parent: Required. The project to create a conversation profile for.
      Format: `projects//locations/`.
  """

  googleCloudDialogflowV2ConversationProfile = _messages.MessageField('GoogleCloudDialogflowV2ConversationProfile', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsConversationProfilesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationProfilesDeleteRequest object.

  Fields:
    name: Required. The name of the conversation profile to delete. Format:
      `projects//locations//conversationProfiles/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsConversationProfilesGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationProfilesGetRequest object.

  Fields:
    name: Required. The resource name of the conversation profile. Format:
      `projects//locations//conversationProfiles/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsConversationProfilesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationProfilesListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 100 and at most 1000.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list all conversation profiles from.
      Format: `projects//locations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsConversationProfilesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationProfilesPatchRequest object.

  Fields:
    googleCloudDialogflowV2ConversationProfile: A
      GoogleCloudDialogflowV2ConversationProfile resource to be passed as the
      request body.
    name: The unique identifier of this conversation profile. Format:
      `projects//locations//conversationProfiles/`.
    updateMask: Required. The mask to control which fields to update.
  """

  googleCloudDialogflowV2ConversationProfile = _messages.MessageField('GoogleCloudDialogflowV2ConversationProfile', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsConversationsCompleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsCompleteRequest object.

  Fields:
    googleCloudDialogflowV2CompleteConversationRequest: A
      GoogleCloudDialogflowV2CompleteConversationRequest resource to be passed
      as the request body.
    name: Required. Resource identifier of the conversation to close. Format:
      `projects//locations//conversations/`.
  """

  googleCloudDialogflowV2CompleteConversationRequest = _messages.MessageField('GoogleCloudDialogflowV2CompleteConversationRequest', 1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsConversationsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsCreateRequest object.

  Fields:
    conversationId: Optional. Identifier of the conversation. Generally it's
      auto generated by Google. Only set it if you cannot wait for the
      response to return a auto-generated one to you. The conversation ID must
      be compliant with the regression fomula "a-zA-Z*" with the characters
      length in range of [3,64]. If the field is provided, the caller is
      resposible for 1. the uniqueness of the ID, otherwise the request will
      be rejected. 2. the consistency for whether to use custom ID or not
      under a project to better ensure uniqueness.
    googleCloudDialogflowV2Conversation: A GoogleCloudDialogflowV2Conversation
      resource to be passed as the request body.
    parent: Required. Resource identifier of the project creating the
      conversation. Format: `projects//locations/`.
  """

  conversationId = _messages.StringField(1)
  googleCloudDialogflowV2Conversation = _messages.MessageField('GoogleCloudDialogflowV2Conversation', 2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsConversationsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsGetRequest object.

  Fields:
    name: Required. The name of the conversation. Format:
      `projects//locations//conversations/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsConversationsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsListRequest object.

  Fields:
    filter: A filter expression that filters conversations listed in the
      response. In general, the expression must specify the field name, a
      comparison operator, and the value to use for filtering: - The value
      must be a string, a number, or a boolean. - The comparison operator must
      be either `=`,`!=`, `>`, or `<`. - To filter on multiple expressions,
      separate the expressions with `AND` or `OR` (omitting both implies
      `AND`). - For clarity, expressions can be enclosed in parentheses. Only
      `lifecycle_state` can be filtered on in this way. For example, the
      following expression only returns `COMPLETED` conversations:
      `lifecycle_state = "COMPLETED"` For more information about filtering,
      see [API Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The project from which to list all conversation. Format:
      `projects//locations/`.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsLocationsConversationsMessagesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsMessagesListRequest object.

  Fields:
    filter: Optional. Filter on message fields. Currently predicates on
      `create_time` and `create_time_epoch_microseconds` are supported.
      `create_time` only support milliseconds accuracy. E.g.,
      `create_time_epoch_microseconds > 1551790877964485` or `create_time >
      2017-01-15T01:30:15.01Z`. For more information about filtering, see [API
      Filtering](https://aip.dev/160).
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The name of the conversation to list messages for.
      Format: `projects//locations//conversations/`
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class DialogflowProjectsLocationsConversationsParticipantsAnalyzeContentRequest(_messages.Message):
  r"""A
  DialogflowProjectsLocationsConversationsParticipantsAnalyzeContentRequest
  object.

  Fields:
    googleCloudDialogflowV2AnalyzeContentRequest: A
      GoogleCloudDialogflowV2AnalyzeContentRequest resource to be passed as
      the request body.
    participant: Required. The name of the participant this text comes from.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2AnalyzeContentRequest = _messages.MessageField('GoogleCloudDialogflowV2AnalyzeContentRequest', 1)
  participant = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsConversationsParticipantsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2Participant: A GoogleCloudDialogflowV2Participant
      resource to be passed as the request body.
    parent: Required. Resource identifier of the conversation adding the
      participant. Format: `projects//locations//conversations/`.
  """

  googleCloudDialogflowV2Participant = _messages.MessageField('GoogleCloudDialogflowV2Participant', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsConversationsParticipantsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsGetRequest object.

  Fields:
    name: Required. The name of the participant. Format:
      `projects//locations//conversations//participants/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsConversationsParticipantsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsListRequest
  object.

  Fields:
    pageSize: Optional. The maximum number of items to return in a single
      page. By default 100 and at most 1000.
    pageToken: Optional. The next_page_token value returned from a previous
      list request.
    parent: Required. The conversation to list all participants from. Format:
      `projects//locations//conversations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsConversationsParticipantsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsPatchRequest
  object.

  Fields:
    googleCloudDialogflowV2Participant: A GoogleCloudDialogflowV2Participant
      resource to be passed as the request body.
    name: Optional. The unique identifier of this participant. Format:
      `projects//locations//conversations//participants/`.
    updateMask: Required. The mask to specify which fields to update.
  """

  googleCloudDialogflowV2Participant = _messages.MessageField('GoogleCloudDialogflowV2Participant', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsConversationsParticipantsSuggestionsSuggestArticlesRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsSuggestionsSuggest
  ArticlesRequest object.

  Fields:
    googleCloudDialogflowV2SuggestArticlesRequest: A
      GoogleCloudDialogflowV2SuggestArticlesRequest resource to be passed as
      the request body.
    parent: Required. The name of the participant to fetch suggestion for.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2SuggestArticlesRequest = _messages.MessageField('GoogleCloudDialogflowV2SuggestArticlesRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsConversationsParticipantsSuggestionsSuggestFaqAnswersRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsConversationsParticipantsSuggestionsSuggest
  FaqAnswersRequest object.

  Fields:
    googleCloudDialogflowV2SuggestFaqAnswersRequest: A
      GoogleCloudDialogflowV2SuggestFaqAnswersRequest resource to be passed as
      the request body.
    parent: Required. The name of the participant to fetch suggestion for.
      Format: `projects//locations//conversations//participants/`.
  """

  googleCloudDialogflowV2SuggestFaqAnswersRequest = _messages.MessageField('GoogleCloudDialogflowV2SuggestFaqAnswersRequest', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsDeleteAgentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsDeleteAgentRequest object.

  Fields:
    parent: Required. The project that the agent to delete is associated with.
      Format: `projects/`.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsGetAgentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsGetAgentRequest object.

  Fields:
    parent: Required. The project that the agent to fetch is associated with.
      Format: `projects/`.
  """

  parent = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsGetRequest object.

  Fields:
    name: Resource name for the location.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsKnowledgeBasesCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesCreateRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    parent: Required. The project to create a knowledge base for. Format:
      `projects//locations/`.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDeleteRequest object.

  Fields:
    force: Optional. Force deletes the knowledge base. When set to true, any
      documents in the knowledge base are also deleted.
    name: Required. The name of the knowledge base to delete. Format:
      `projects//locations//knowledgeBases/`.
  """

  force = _messages.BooleanField(1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsCreateRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsCreateRequest
  object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    parent: Required. The knowledge base to create a document for. Format:
      `projects//locations//knowledgeBases/`.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  parent = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsDeleteRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsDeleteRequest
  object.

  Fields:
    name: Required. The name of the document to delete. Format:
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsGetRequest object.

  Fields:
    name: Required. The name of the document to retrieve. Format
      `projects//locations//knowledgeBases//documents/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The knowledge base to list all documents for. Format:
      `projects//locations//knowledgeBases/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsPatchRequest object.

  Fields:
    googleCloudDialogflowV2Document: A GoogleCloudDialogflowV2Document
      resource to be passed as the request body.
    name: Optional. The document resource name. The name must be empty when
      creating a document. Format:
      `projects//locations//knowledgeBases//documents/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2Document = _messages.MessageField('GoogleCloudDialogflowV2Document', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsKnowledgeBasesDocumentsReloadRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesDocumentsReloadRequest
  object.

  Fields:
    googleCloudDialogflowV2ReloadDocumentRequest: A
      GoogleCloudDialogflowV2ReloadDocumentRequest resource to be passed as
      the request body.
    name: Required. The name of the document to reload. Format:
      `projects//locations//knowledgeBases//documents/`
  """

  googleCloudDialogflowV2ReloadDocumentRequest = _messages.MessageField('GoogleCloudDialogflowV2ReloadDocumentRequest', 1)
  name = _messages.StringField(2, required=True)


class DialogflowProjectsLocationsKnowledgeBasesGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesGetRequest object.

  Fields:
    name: Required. The name of the knowledge base to retrieve. Format
      `projects//locations//knowledgeBases/`.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsKnowledgeBasesListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesListRequest object.

  Fields:
    pageSize: The maximum number of items to return in a single page. By
      default 10 and at most 100.
    pageToken: The next_page_token value returned from a previous list
      request.
    parent: Required. The project to list of knowledge bases for. Format:
      `projects//locations/`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class DialogflowProjectsLocationsKnowledgeBasesPatchRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsKnowledgeBasesPatchRequest object.

  Fields:
    googleCloudDialogflowV2KnowledgeBase: A
      GoogleCloudDialogflowV2KnowledgeBase resource to be passed as the
      request body.
    name: The knowledge base resource name. The name must be empty when
      creating a knowledge base. Format:
      `projects//locations//knowledgeBases/`.
    updateMask: Optional. Not specified means `update all`. Currently, only
      `display_name` can be updated, an InvalidArgument will be returned for
      attempting to update other fields.
  """

  googleCloudDialogflowV2KnowledgeBase = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsLocationsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsListRequest object.

  Fields:
    filter: A filter to narrow down results to a preferred subset. The
      filtering language accepts strings like "displayName=tokyo", and is
      documented in more detail in [AIP-160](https://google.aip.dev/160).
    name: The resource that owns the locations collection, if applicable.
    pageSize: The maximum number of results to return. If not set, the service
      selects a default.
    pageToken: A page token received from the `next_page_token` field in the
      response. Send that page token to receive the subsequent page.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class DialogflowProjectsLocationsOperationsCancelRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsOperationsCancelRequest object.

  Fields:
    name: The name of the operation resource to be cancelled.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsOperationsGetRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsOperationsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsLocationsOperationsListRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsOperationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The name of the operation's parent resource.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class DialogflowProjectsLocationsSetAgentRequest(_messages.Message):
  r"""A DialogflowProjectsLocationsSetAgentRequest object.

  Fields:
    googleCloudDialogflowV2Agent: A GoogleCloudDialogflowV2Agent resource to
      be passed as the request body.
    parent: Required. The project of this agent. Format: `projects/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Agent = _messages.MessageField('GoogleCloudDialogflowV2Agent', 1)
  parent = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class DialogflowProjectsOperationsCancelRequest(_messages.Message):
  r"""A DialogflowProjectsOperationsCancelRequest object.

  Fields:
    name: The name of the operation resource to be cancelled.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsOperationsGetRequest(_messages.Message):
  r"""A DialogflowProjectsOperationsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class DialogflowProjectsOperationsListRequest(_messages.Message):
  r"""A DialogflowProjectsOperationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The name of the operation's parent resource.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class DialogflowProjectsSetAgentRequest(_messages.Message):
  r"""A DialogflowProjectsSetAgentRequest object.

  Fields:
    googleCloudDialogflowV2Agent: A GoogleCloudDialogflowV2Agent resource to
      be passed as the request body.
    parent: Required. The project of this agent. Format: `projects/`.
    updateMask: Optional. The mask to control which fields get updated.
  """

  googleCloudDialogflowV2Agent = _messages.MessageField('GoogleCloudDialogflowV2Agent', 1)
  parent = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class GoogleCloudDialogflowCxV3AudioInput(_messages.Message):
  r"""Represents the natural speech audio to be processed.

  Fields:
    audio: The natural language speech audio to be processed. A single request
      can contain up to 1 minute of speech audio data. The transcribed text
      cannot contain more than 256 bytes. For non-streaming audio detect
      intent, both `config` and `audio` must be provided. For streaming audio
      detect intent, `config` must be provided in the first request and
      `audio` must be provided in all following requests.
    config: Required. Instructs the speech recognizer how to process the
      speech audio.
  """

  audio = _messages.BytesField(1)
  config = _messages.MessageField('GoogleCloudDialogflowCxV3InputAudioConfig', 2)


class GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.BatchRunTestCases long running
  operation.

  Fields:
    errors: The test errors.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3TestError', 1, repeated=True)


class GoogleCloudDialogflowCxV3BatchRunTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.BatchRunTestCases.

  Fields:
    results: The test case results. The detailed conversation turns are empty
      in this response.
  """

  results = _messages.MessageField('GoogleCloudDialogflowCxV3TestCaseResult', 1, repeated=True)


class GoogleCloudDialogflowCxV3ContinuousTestResult(_messages.Message):
  r"""Represents a result from running a test case in an agent environment.

  Enums:
    ResultValueValuesEnum: The result of this continuous test run, i.e.
      whether all the tests in this continuous test run pass or not.

  Fields:
    name: The resource name for the continuous test result. Format:
      `projects//locations//agents//environments//continuousTestResults/`.
    result: The result of this continuous test run, i.e. whether all the tests
      in this continuous test run pass or not.
    runTime: Time when the continuous testing run starts.
    testCaseResults: A list of individual test case results names in this
      continuous test run.
  """

  class ResultValueValuesEnum(_messages.Enum):
    r"""The result of this continuous test run, i.e. whether all the tests in
    this continuous test run pass or not.

    Values:
      AGGREGATED_TEST_RESULT_UNSPECIFIED: Not specified. Should never be used.
      PASSED: All the tests passed.
      FAILED: At least one test did not pass.
    """
    AGGREGATED_TEST_RESULT_UNSPECIFIED = 0
    PASSED = 1
    FAILED = 2

  name = _messages.StringField(1)
  result = _messages.EnumField('ResultValueValuesEnum', 2)
  runTime = _messages.StringField(3)
  testCaseResults = _messages.StringField(4, repeated=True)


class GoogleCloudDialogflowCxV3ConversationTurn(_messages.Message):
  r"""One interaction between a human and virtual agent. The human provides
  some input and the virtual agent provides a response.

  Fields:
    userInput: The user input.
    virtualAgentOutput: The virtual agent output.
  """

  userInput = _messages.MessageField('GoogleCloudDialogflowCxV3ConversationTurnUserInput', 1)
  virtualAgentOutput = _messages.MessageField('GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput', 2)


class GoogleCloudDialogflowCxV3ConversationTurnUserInput(_messages.Message):
  r"""The input from the human user.

  Messages:
    InjectedParametersValue: Parameters that need to be injected into the
      conversation during intent detection.

  Fields:
    enableSentimentAnalysis: Whether sentiment analysis is enabled.
    injectedParameters: Parameters that need to be injected into the
      conversation during intent detection.
    input: Supports text input, event input, dtmf input in the test case.
    isWebhookEnabled: If webhooks should be allowed to trigger in response to
      the user utterance. Often if parameters are injected, webhooks should
      not be enabled.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InjectedParametersValue(_messages.Message):
    r"""Parameters that need to be injected into the conversation during
    intent detection.

    Messages:
      AdditionalProperty: An additional property for a InjectedParametersValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a InjectedParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  enableSentimentAnalysis = _messages.BooleanField(1)
  injectedParameters = _messages.MessageField('InjectedParametersValue', 2)
  input = _messages.MessageField('GoogleCloudDialogflowCxV3QueryInput', 3)
  isWebhookEnabled = _messages.BooleanField(4)


class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput(_messages.Message):
  r"""The output from the virtual agent.

  Messages:
    DiagnosticInfoValue: Required. Input only. The diagnostic info output for
      the turn. Required to calculate the testing coverage.
    SessionParametersValue: The session parameters available to the bot at
      this point.

  Fields:
    currentPage: The Page on which the utterance was spoken. Only name and
      displayName will be set.
    diagnosticInfo: Required. Input only. The diagnostic info output for the
      turn. Required to calculate the testing coverage.
    differences: Output only. If this is part of a result conversation turn,
      the list of differences between the original run and the replay for this
      output, if any.
    sessionParameters: The session parameters available to the bot at this
      point.
    status: Response error from the agent in the test result. If set, other
      output is empty.
    textResponses: The text responses from the agent for the turn.
    triggeredIntent: The Intent that triggered the response. Only name and
      displayName will be set.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DiagnosticInfoValue(_messages.Message):
    r"""Required. Input only. The diagnostic info output for the turn.
    Required to calculate the testing coverage.

    Messages:
      AdditionalProperty: An additional property for a DiagnosticInfoValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DiagnosticInfoValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SessionParametersValue(_messages.Message):
    r"""The session parameters available to the bot at this point.

    Messages:
      AdditionalProperty: An additional property for a SessionParametersValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SessionParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  currentPage = _messages.MessageField('GoogleCloudDialogflowCxV3Page', 1)
  diagnosticInfo = _messages.MessageField('DiagnosticInfoValue', 2)
  differences = _messages.MessageField('GoogleCloudDialogflowCxV3TestRunDifference', 3, repeated=True)
  sessionParameters = _messages.MessageField('SessionParametersValue', 4)
  status = _messages.MessageField('GoogleRpcStatus', 5)
  textResponses = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageText', 6, repeated=True)
  triggeredIntent = _messages.MessageField('GoogleCloudDialogflowCxV3Intent', 7)


class GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for CreateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3CreateVersionOperationMetadata(_messages.Message):
  r"""Metadata associated with the long running operation for
  Versions.CreateVersion.

  Fields:
    version: Name of the created version. Format:
      `projects//locations//agents//flows//versions/`.
  """

  version = _messages.StringField(1)


class GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata(_messages.Message):
  r"""Metadata for DeleteDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3DtmfInput(_messages.Message):
  r"""Represents the input for dtmf event.

  Fields:
    digits: The dtmf digits.
    finishDigit: The finish digit (if any).
  """

  digits = _messages.StringField(1)
  finishDigit = _messages.StringField(2)


class GoogleCloudDialogflowCxV3EventHandler(_messages.Message):
  r"""An event handler specifies an event that can be handled during a
  session. When the specified event happens, the following actions are taken
  in order: * If there is a `trigger_fulfillment` associated with the event,
  it will be called. * If there is a `target_page` associated with the event,
  the session will transition into the specified page. * If there is a
  `target_flow` associated with the event, the session will transition into
  the specified flow.

  Fields:
    event: Required. The name of the event to handle.
    name: Output only. The unique identifier of this event handler.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
    triggerFulfillment: The fulfillment to call when the event occurs.
      Handling webhook errors with a fulfillment enabled with webhook could
      cause infinite loop. It is invalid to specify such fulfillment for a
      handler handling webhooks.
  """

  event = _messages.StringField(1)
  name = _messages.StringField(2)
  targetFlow = _messages.StringField(3)
  targetPage = _messages.StringField(4)
  triggerFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3Fulfillment', 5)


class GoogleCloudDialogflowCxV3EventInput(_messages.Message):
  r"""Represents the event to trigger.

  Fields:
    event: Name of the event.
  """

  event = _messages.StringField(1)


class GoogleCloudDialogflowCxV3ExportAgentResponse(_messages.Message):
  r"""The response message for Agents.ExportAgent.

  Fields:
    agentContent: Uncompressed raw byte content for agent.
    agentUri: The URI to a file containing the exported agent. This field is
      populated only if `agent_uri` is specified in ExportAgentRequest.
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3ExportFlowResponse(_messages.Message):
  r"""The response message for Flows.ExportFlow.

  Fields:
    flowContent: Uncompressed raw byte content for flow.
    flowUri: The URI to a file containing the exported flow. This field is
      populated only if `flow_uri` is specified in ExportFlowRequest.
  """

  flowContent = _messages.BytesField(1)
  flowUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3ExportTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.ExportTestCases long running
  operation. This message currently has no fields.
  """



class GoogleCloudDialogflowCxV3ExportTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.ExportTestCases.

  Fields:
    content: Uncompressed raw byte content for test cases.
    gcsUri: The URI to a file containing the exported test cases. This field
      is populated only if `gcs_uri` is specified in ExportTestCasesRequest.
  """

  content = _messages.BytesField(1)
  gcsUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3Form(_messages.Message):
  r"""A form is a data model that groups related parameters that can be
  collected from the user. The process in which the agent prompts the user and
  collects parameter values from the user is called form filling. A form can
  be added to a page. When form filling is done, the filled parameters will be
  written to the session.

  Fields:
    parameters: Parameters to collect from the user.
  """

  parameters = _messages.MessageField('GoogleCloudDialogflowCxV3FormParameter', 1, repeated=True)


class GoogleCloudDialogflowCxV3FormParameter(_messages.Message):
  r"""Represents a form parameter.

  Fields:
    defaultValue: The default value of an optional parameter. If the parameter
      is required, the default value will be ignored.
    displayName: Required. The human-readable name of the parameter, unique
      within the form.
    entityType: Required. The entity type of the parameter. Format:
      `projects/-/locations/-/agents/-/entityTypes/` for system entity types
      (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`),
      or `projects//locations//agents//entityTypes/` for developer entity
      types.
    fillBehavior: Required. Defines fill behavior for the parameter.
    isList: Indicates whether the parameter represents a list of values.
    redact: Indicates whether the parameter content should be redacted in log.
      If redaction is enabled, the parameter content will be replaced by
      parameter name during logging. Note: the parameter content is subject to
      redaction if either parameter level redaction or entity type level
      redaction is enabled.
    required: Indicates whether the parameter is required. Optional parameters
      will not trigger prompts; however, they are filled if the user specifies
      them. Required parameters must be filled before form filling concludes.
  """

  defaultValue = _messages.MessageField('extra_types.JsonValue', 1)
  displayName = _messages.StringField(2)
  entityType = _messages.StringField(3)
  fillBehavior = _messages.MessageField('GoogleCloudDialogflowCxV3FormParameterFillBehavior', 4)
  isList = _messages.BooleanField(5)
  redact = _messages.BooleanField(6)
  required = _messages.BooleanField(7)


class GoogleCloudDialogflowCxV3FormParameterFillBehavior(_messages.Message):
  r"""Configuration for how the filling of a parameter should be handled.

  Fields:
    initialPromptFulfillment: Required. The fulfillment to provide the initial
      prompt that the agent can present to the user in order to fill the
      parameter.
    repromptEventHandlers: The handlers for parameter-level events, used to
      provide reprompt for the parameter or transition to a different
      page/flow. The supported events are: * `sys.no-match-`, where N can be
      from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N can be
      from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
      `initial_prompt_fulfillment` provides the first prompt for the
      parameter. If the user's response does not fill the parameter, a no-
      match/no-input event will be triggered, and the fulfillment associated
      with the `sys.no-match-1`/`sys.no-input-1` handler (if defined) will be
      called to provide a prompt. The `sys.no-match-2`/`sys.no-input-2`
      handler (if defined) will respond to the next no-match/no-input event,
      and so on. A `sys.no-match-default` or `sys.no-input-default` handler
      will be used to handle all following no-match/no-input events after all
      numbered no-match/no-input handlers for the parameter are consumed. A
      `sys.invalid-parameter` handler can be defined to handle the case where
      the parameter values have been `invalidated` by webhook. For example, if
      the user's response fill the parameter, however the parameter was
      invalidated by webhook, the fulfillment associated with the
      `sys.invalid-parameter` handler (if defined) will be called to provide a
      prompt. If the event handler for the corresponding event can't be found
      on the parameter, `initial_prompt_fulfillment` will be re-prompted.
  """

  initialPromptFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3Fulfillment', 1)
  repromptEventHandlers = _messages.MessageField('GoogleCloudDialogflowCxV3EventHandler', 2, repeated=True)


class GoogleCloudDialogflowCxV3Fulfillment(_messages.Message):
  r"""A fulfillment can do one or more of the following actions at the same
  time: * Generate rich message responses. * Set parameter values. * Call the
  webhook. Fulfillments can be called at various stages in the Page or Form
  lifecycle. For example, when a DetectIntentRequest drives a session to enter
  a new page, the page's entry fulfillment can add a static response to the
  QueryResult in the returning DetectIntentResponse, call the webhook (for
  example, to load user data from a database), or both.

  Fields:
    conditionalCases: Conditional cases for this fulfillment.
    messages: The list of rich message responses to present to the user.
    returnPartialResponses: Whether Dialogflow should return currently queued
      fulfillment response messages in streaming APIs. If a webhook is
      specified, it happens before Dialogflow invokes webhook. Warning: 1)
      This flag only affects streaming API. Responses are still queued and
      returned once in non-streaming API. 2) The flag can be enabled in any
      fulfillment but only the first 3 partial responses will be returned. You
      may only want to apply it to fulfillments that have slow webhooks.
    setParameterActions: Set parameter values before executing the webhook.
    tag: The tag used by the webhook to identify which fulfillment is being
      called. This field is required if `webhook` is specified.
    webhook: The webhook to call. Format:
      `projects//locations//agents//webhooks/`.
  """

  conditionalCases = _messages.MessageField('GoogleCloudDialogflowCxV3FulfillmentConditionalCases', 1, repeated=True)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessage', 2, repeated=True)
  returnPartialResponses = _messages.BooleanField(3)
  setParameterActions = _messages.MessageField('GoogleCloudDialogflowCxV3FulfillmentSetParameterAction', 4, repeated=True)
  tag = _messages.StringField(5)
  webhook = _messages.StringField(6)


class GoogleCloudDialogflowCxV3FulfillmentConditionalCases(_messages.Message):
  r"""A list of cascading if-else conditions. Cases are mutually exclusive.
  The first one with a matching condition is selected, all the rest ignored.

  Fields:
    cases: A list of cascading if-else conditions.
  """

  cases = _messages.MessageField('GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase', 1, repeated=True)


class GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCase(_messages.Message):
  r"""Each case has a Boolean condition. When it is evaluated to be True, the
  corresponding messages will be selected and evaluated recursively.

  Fields:
    caseContent: A list of case content.
    condition: The condition to activate and select this case. Empty means the
      condition is always true. The condition is evaluated against form
      parameters or session parameters. See the [conditions reference](https:/
      /cloud.google.com/dialogflow/cx/docs/reference/condition).
  """

  caseContent = _messages.MessageField('GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent', 1, repeated=True)
  condition = _messages.StringField(2)


class GoogleCloudDialogflowCxV3FulfillmentConditionalCasesCaseCaseContent(_messages.Message):
  r"""The list of messages or conditional cases to activate for this case.

  Fields:
    additionalCases: Additional cases to be evaluated.
    message: Returned message.
  """

  additionalCases = _messages.MessageField('GoogleCloudDialogflowCxV3FulfillmentConditionalCases', 1)
  message = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessage', 2)


class GoogleCloudDialogflowCxV3FulfillmentSetParameterAction(_messages.Message):
  r"""Setting a parameter value.

  Fields:
    parameter: Display name of the parameter.
    value: The new value of the parameter. A null value clears the parameter.
  """

  parameter = _messages.StringField(1)
  value = _messages.MessageField('extra_types.JsonValue', 2)


class GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata(_messages.Message):
  r"""Metadata in google::longrunning::Operation for Knowledge operations.

  Enums:
    StateValueValuesEnum: Required. Output only. The current state of this
      operation.

  Fields:
    state: Required. Output only. The current state of this operation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Required. Output only. The current state of this operation.

    Values:
      STATE_UNSPECIFIED: State unspecified.
      PENDING: The operation has been created.
      RUNNING: The operation is currently running.
      DONE: The operation is done, either cancelled or completed.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    DONE = 3

  state = _messages.EnumField('StateValueValuesEnum', 1)


class GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata(_messages.Message):
  r"""Metadata for ImportDocuments operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3ImportDocumentsResponse(_messages.Message):
  r"""Response message for Documents.ImportDocuments.

  Fields:
    warnings: Includes details about skipped documents or any other warnings.
  """

  warnings = _messages.MessageField('GoogleRpcStatus', 1, repeated=True)


class GoogleCloudDialogflowCxV3ImportFlowResponse(_messages.Message):
  r"""The response message for Flows.ImportFlow.

  Fields:
    flow: The unique identifier of the new flow. Format:
      `projects//locations//agents//flows/`.
  """

  flow = _messages.StringField(1)


class GoogleCloudDialogflowCxV3ImportTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.ImportTestCases long running
  operation.

  Fields:
    errors: Errors for failed test cases.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3TestCaseError', 1, repeated=True)


class GoogleCloudDialogflowCxV3ImportTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.ImportTestCases.

  Fields:
    names: The unique identifiers of the new test cases. Format:
      `projects//locations//agents//testCases/`.
  """

  names = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowCxV3InputAudioConfig(_messages.Message):
  r"""Instructs the speech recognizer on how to process the audio content.

  Enums:
    AudioEncodingValueValuesEnum: Required. Audio encoding of the audio
      content to process.
    ModelVariantValueValuesEnum: Optional. Which variant of the Speech model
      to use.

  Fields:
    audioEncoding: Required. Audio encoding of the audio content to process.
    enableWordInfo: Optional. If `true`, Dialogflow returns SpeechWordInfo in
      StreamingRecognitionResult with information about the recognized speech
      words, e.g. start and end time offsets. If false or unspecified, Speech
      doesn't return any word-level information.
    model: Optional. Which Speech model to select for the given request.
      Select the model best suited to your domain to get best results. If a
      model is not explicitly specified, then we auto-select a model based on
      the parameters in the InputAudioConfig. If enhanced speech model is
      enabled for the agent and an enhanced version of the specified model for
      the language does not exist, then the speech is recognized using the
      standard version of the specified model. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-
      text/docs/basics#select-model) for more details.
    modelVariant: Optional. Which variant of the Speech model to use.
    phraseHints: Optional. A list of strings containing words and phrases that
      the speech recognizer should recognize with higher likelihood. See [the
      Cloud Speech documentation](https://cloud.google.com/speech-to-
      text/docs/basics#phrase-hints) for more details.
    sampleRateHertz: Sample rate (in Hertz) of the audio content sent in the
      query. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-text/docs/basics) for
      more details.
    singleUtterance: Optional. If `false` (default), recognition does not
      cease until the client closes the stream. If `true`, the recognizer will
      detect a single spoken utterance in input audio. Recognition ceases when
      it detects the audio's voice has stopped or paused. In this case, once a
      detected intent is received, the client should close the stream and
      start a new request with a new stream as needed. Note: This setting is
      relevant only for streaming methods.
  """

  class AudioEncodingValueValuesEnum(_messages.Enum):
    r"""Required. Audio encoding of the audio content to process.

    Values:
      AUDIO_ENCODING_UNSPECIFIED: Not specified.
      AUDIO_ENCODING_LINEAR_16: Uncompressed 16-bit signed little-endian
        samples (Linear PCM).
      AUDIO_ENCODING_FLAC: [`FLAC`](https://xiph.org/flac/documentation.html)
        (Free Lossless Audio Codec) is the recommended encoding because it is
        lossless (therefore recognition is not compromised) and requires only
        about half the bandwidth of `LINEAR16`. `FLAC` stream encoding
        supports 16-bit and 24-bit samples, however, not all fields in
        `STREAMINFO` are supported.
      AUDIO_ENCODING_MULAW: 8-bit samples that compand 14-bit audio samples
        using G.711 PCMU/mu-law.
      AUDIO_ENCODING_AMR: Adaptive Multi-Rate Narrowband codec.
        `sample_rate_hertz` must be 8000.
      AUDIO_ENCODING_AMR_WB: Adaptive Multi-Rate Wideband codec.
        `sample_rate_hertz` must be 16000.
      AUDIO_ENCODING_OGG_OPUS: Opus encoded audio frames in Ogg container
        ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must
        be 16000.
      AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE: Although the use of lossy
        encodings is not recommended, if a very low bitrate encoding is
        required, `OGG_OPUS` is highly preferred over Speex encoding. The
        [Speex](https://speex.org/) encoding supported by Dialogflow API has a
        header byte in each block, as in MIME type `audio/x-speex-with-header-
        byte`. It is a variant of the RTP Speex encoding defined in [RFC
        5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence
        of blocks, one block per RTP packet. Each block starts with a byte
        containing the length of the block, in bytes, followed by one or more
        frames of Speex data, padded to an integral number of bytes (octets)
        as specified in RFC 5574. In other words, each RTP header is replaced
        with a single byte containing the block length. Only Speex wideband is
        supported. `sample_rate_hertz` must be 16000.
    """
    AUDIO_ENCODING_UNSPECIFIED = 0
    AUDIO_ENCODING_LINEAR_16 = 1
    AUDIO_ENCODING_FLAC = 2
    AUDIO_ENCODING_MULAW = 3
    AUDIO_ENCODING_AMR = 4
    AUDIO_ENCODING_AMR_WB = 5
    AUDIO_ENCODING_OGG_OPUS = 6
    AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7

  class ModelVariantValueValuesEnum(_messages.Enum):
    r"""Optional. Which variant of the Speech model to use.

    Values:
      SPEECH_MODEL_VARIANT_UNSPECIFIED: No model variant specified. In this
        case Dialogflow defaults to USE_BEST_AVAILABLE.
      USE_BEST_AVAILABLE: Use the best available variant of the Speech model
        that the caller is eligible for. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible for enhanced models.
      USE_STANDARD: Use standard model variant even if an enhanced model is
        available. See the [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) for details about enhanced models.
      USE_ENHANCED: Use an enhanced model variant: * If an enhanced variant
        does not exist for the given model and request language, Dialogflow
        falls back to the standard variant. The [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) describes which models have enhanced variants. * If the API
        caller isn't eligible for enhanced models, Dialogflow returns an
        error. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible.
    """
    SPEECH_MODEL_VARIANT_UNSPECIFIED = 0
    USE_BEST_AVAILABLE = 1
    USE_STANDARD = 2
    USE_ENHANCED = 3

  audioEncoding = _messages.EnumField('AudioEncodingValueValuesEnum', 1)
  enableWordInfo = _messages.BooleanField(2)
  model = _messages.StringField(3)
  modelVariant = _messages.EnumField('ModelVariantValueValuesEnum', 4)
  phraseHints = _messages.StringField(5, repeated=True)
  sampleRateHertz = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  singleUtterance = _messages.BooleanField(7)


class GoogleCloudDialogflowCxV3Intent(_messages.Message):
  r"""An intent represents a user's intent to interact with a conversational
  agent. You can provide information for the Dialogflow API to use to match
  user input to an intent by adding training phrases (i.e., examples of user
  input) to your intent.

  Messages:
    LabelsValue: The key/value metadata to label an intent. Labels can contain
      lowercase letters, digits and the symbols '-' and '_'. International
      characters are allowed, including letters from unicase alphabets. Keys
      must start with a letter. Keys and values can be no longer than 63
      characters and no more than 128 bytes. Prefix "sys-" is reserved for
      Dialogflow defined labels. Currently allowed Dialogflow defined labels
      include: * sys-head * sys-contextual The above labels do not require
      value. "sys-head" means the intent is a head intent. "sys.contextual"
      means the intent is a contextual intent.

  Fields:
    description: Human readable description for better understanding an intent
      like its scope, content, result etc. Maximum character limit: 140
      characters.
    displayName: Required. The human-readable name of the intent, unique
      within the agent.
    isFallback: Indicates whether this is a fallback intent. Currently only
      default fallback intent is allowed in the agent, which is added upon
      agent creation. Adding training phrases to fallback intent is useful in
      the case of requests that are mistakenly matched, since training phrases
      assigned to fallback intents act as negative examples that triggers no-
      match event.
    labels: The key/value metadata to label an intent. Labels can contain
      lowercase letters, digits and the symbols '-' and '_'. International
      characters are allowed, including letters from unicase alphabets. Keys
      must start with a letter. Keys and values can be no longer than 63
      characters and no more than 128 bytes. Prefix "sys-" is reserved for
      Dialogflow defined labels. Currently allowed Dialogflow defined labels
      include: * sys-head * sys-contextual The above labels do not require
      value. "sys-head" means the intent is a head intent. "sys.contextual"
      means the intent is a contextual intent.
    name: The unique identifier of the intent. Required for the
      Intents.UpdateIntent method. Intents.CreateIntent populates the name
      automatically. Format: `projects//locations//agents//intents/`.
    parameters: The collection of parameters associated with the intent.
    priority: The priority of this intent. Higher numbers represent higher
      priorities. - If the supplied value is unspecified or 0, the service
      translates the value to 500,000, which corresponds to the `Normal`
      priority in the console. - If the supplied value is negative, the intent
      is ignored in runtime detect intent requests.
    trainingPhrases: The collection of training phrases the agent is trained
      on to identify the intent.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The key/value metadata to label an intent. Labels can contain
    lowercase letters, digits and the symbols '-' and '_'. International
    characters are allowed, including letters from unicase alphabets. Keys
    must start with a letter. Keys and values can be no longer than 63
    characters and no more than 128 bytes. Prefix "sys-" is reserved for
    Dialogflow defined labels. Currently allowed Dialogflow defined labels
    include: * sys-head * sys-contextual The above labels do not require
    value. "sys-head" means the intent is a head intent. "sys.contextual"
    means the intent is a contextual intent.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  description = _messages.StringField(1)
  displayName = _messages.StringField(2)
  isFallback = _messages.BooleanField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  parameters = _messages.MessageField('GoogleCloudDialogflowCxV3IntentParameter', 6, repeated=True)
  priority = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  trainingPhrases = _messages.MessageField('GoogleCloudDialogflowCxV3IntentTrainingPhrase', 8, repeated=True)


class GoogleCloudDialogflowCxV3IntentInput(_messages.Message):
  r"""Represents the intent to trigger programmatically rather than as a
  result of natural language processing.

  Fields:
    intent: Required. The unique identifier of the intent. Format:
      `projects//locations//agents//intents/`.
  """

  intent = _messages.StringField(1)


class GoogleCloudDialogflowCxV3IntentParameter(_messages.Message):
  r"""Represents an intent parameter.

  Fields:
    entityType: Required. The entity type of the parameter. Format:
      `projects/-/locations/-/agents/-/entityTypes/` for system entity types
      (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`),
      or `projects//locations//agents//entityTypes/` for developer entity
      types.
    id: Required. The unique identifier of the parameter. This field is used
      by training phrases to annotate their parts.
    isList: Indicates whether the parameter represents a list of values.
    redact: Indicates whether the parameter content should be redacted in log.
      If redaction is enabled, the parameter content will be replaced by
      parameter name during logging. Note: the parameter content is subject to
      redaction if either parameter level redaction or entity type level
      redaction is enabled.
  """

  entityType = _messages.StringField(1)
  id = _messages.StringField(2)
  isList = _messages.BooleanField(3)
  redact = _messages.BooleanField(4)


class GoogleCloudDialogflowCxV3IntentTrainingPhrase(_messages.Message):
  r"""Represents an example that the agent is trained on to identify the
  intent.

  Fields:
    id: Output only. The unique identifier of the training phrase.
    parts: Required. The ordered list of training phrase parts. The parts are
      concatenated in order to form the training phrase. Note: The API does
      not automatically annotate training phrases like the Dialogflow Console
      does. Note: Do not forget to include whitespace at part boundaries, so
      the training phrase is well formatted when the parts are concatenated.
      If the training phrase does not need to be annotated with parameters,
      you just need a single part with only the Part.text field set. If you
      want to annotate the training phrase, you must create multiple parts,
      where the fields of each part are populated in one of two ways: -
      `Part.text` is set to a part of the phrase that has no parameters. -
      `Part.text` is set to a part of the phrase that you want to annotate,
      and the `parameter_id` field is set.
    repeatCount: Indicates how many times this example was added to the
      intent.
  """

  id = _messages.StringField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowCxV3IntentTrainingPhrasePart', 2, repeated=True)
  repeatCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudDialogflowCxV3IntentTrainingPhrasePart(_messages.Message):
  r"""Represents a part of a training phrase.

  Fields:
    parameterId: The parameter used to annotate this part of the training
      phrase. This field is required for annotated parts of the training
      phrase.
    text: Required. The text for this part.
  """

  parameterId = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowCxV3Page(_messages.Message):
  r"""A Dialogflow CX conversation (session) can be described and visualized
  as a state machine. The states of a CX session are represented by pages. For
  each flow, you define many pages, where your combined pages can handle a
  complete conversation on the topics the flow is designed for. At any given
  moment, exactly one page is the current page, the current page is considered
  active, and the flow associated with that page is considered active. Every
  flow has a special start page. When a flow initially becomes active, the
  start page page becomes the current page. For each conversational turn, the
  current page will either stay the same or transition to another page. You
  configure each page to collect information from the end-user that is
  relevant for the conversational state represented by the page. For more
  information, see the [Page
  guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).

  Fields:
    displayName: Required. The human-readable name of the page, unique within
      the agent.
    entryFulfillment: The fulfillment to call when the session is entering the
      page.
    eventHandlers: Handlers associated with the page to handle events such as
      webhook errors, no match or no input.
    form: The form associated with the page, used for collecting parameters
      relevant to the page.
    name: The unique identifier of the page. Required for the Pages.UpdatePage
      method. Pages.CreatePage populates the name automatically. Format:
      `projects//locations//agents//flows//pages/`.
    transitionRouteGroups: Ordered list of `TransitionRouteGroups` associated
      with the page. Transition route groups must be unique within a page. *
      If multiple transition routes within a page scope refer to the same
      intent, then the precedence order is: page's transition route -> page's
      transition route group -> flow's transition routes. * If multiple
      transition route groups within a page contain the same intent, then the
      first group in the ordered list takes precedence.
      Format:`projects//locations//agents//flows//transitionRouteGroups/`.
    transitionRoutes: A list of transitions for the transition rules of this
      page. They route the conversation to another page in the same flow, or
      another flow. When we are in a certain page, the TransitionRoutes are
      evalauted in the following order: * TransitionRoutes defined in the page
      with intent specified. * TransitionRoutes defined in the transition
      route groups with intent specified. * TransitionRoutes defined in flow
      with intent specified. * TransitionRoutes defined in the transition
      route groups with intent specified. * TransitionRoutes defined in the
      page with only condition specified. * TransitionRoutes defined in the
      transition route groups with only condition specified.
  """

  displayName = _messages.StringField(1)
  entryFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3Fulfillment', 2)
  eventHandlers = _messages.MessageField('GoogleCloudDialogflowCxV3EventHandler', 3, repeated=True)
  form = _messages.MessageField('GoogleCloudDialogflowCxV3Form', 4)
  name = _messages.StringField(5)
  transitionRouteGroups = _messages.StringField(6, repeated=True)
  transitionRoutes = _messages.MessageField('GoogleCloudDialogflowCxV3TransitionRoute', 7, repeated=True)


class GoogleCloudDialogflowCxV3PageInfo(_messages.Message):
  r"""Represents page information communicated to and from the webhook.

  Fields:
    currentPage: Always present for WebhookRequest. Ignored for
      WebhookResponse. The unique identifier of the current page. Format:
      `projects//locations//agents//flows//pages/`.
    formInfo: Optional for both WebhookRequest and WebhookResponse.
      Information about the form.
  """

  currentPage = _messages.StringField(1)
  formInfo = _messages.MessageField('GoogleCloudDialogflowCxV3PageInfoFormInfo', 2)


class GoogleCloudDialogflowCxV3PageInfoFormInfo(_messages.Message):
  r"""Represents form information.

  Fields:
    parameterInfo: Optional for both WebhookRequest and WebhookResponse. The
      parameters contained in the form. Note that the webhook cannot add or
      remove any form parameter.
  """

  parameterInfo = _messages.MessageField('GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo', 1, repeated=True)


class GoogleCloudDialogflowCxV3PageInfoFormInfoParameterInfo(_messages.Message):
  r"""Represents parameter information.

  Enums:
    StateValueValuesEnum: Always present for WebhookRequest. Required for
      WebhookResponse. The state of the parameter. This field can be set to
      INVALID by the webhook to invalidate the parameter; other values set by
      the webhook will be ignored.

  Fields:
    displayName: Always present for WebhookRequest. Required for
      WebhookResponse. The human-readable name of the parameter, unique within
      the form. This field cannot be modified by the webhook.
    justCollected: Optional for WebhookRequest. Ignored for WebhookResponse.
      Indicates if the parameter value was just collected on the last
      conversation turn.
    required: Optional for both WebhookRequest and WebhookResponse. Indicates
      whether the parameter is required. Optional parameters will not trigger
      prompts; however, they are filled if the user specifies them. Required
      parameters must be filled before form filling concludes.
    state: Always present for WebhookRequest. Required for WebhookResponse.
      The state of the parameter. This field can be set to INVALID by the
      webhook to invalidate the parameter; other values set by the webhook
      will be ignored.
    value: Optional for both WebhookRequest and WebhookResponse. The value of
      the parameter. This field can be set by the webhook to change the
      parameter value.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Always present for WebhookRequest. Required for WebhookResponse. The
    state of the parameter. This field can be set to INVALID by the webhook to
    invalidate the parameter; other values set by the webhook will be ignored.

    Values:
      PARAMETER_STATE_UNSPECIFIED: Not specified. This value should be never
        used.
      EMPTY: Indicates that the parameter does not have a value.
      INVALID: Indicates that the parameter value is invalid. This field can
        be used by the webhook to invalidate the parameter and ask the server
        to collect it from the user again.
      FILLED: Indicates that the parameter has a value.
    """
    PARAMETER_STATE_UNSPECIFIED = 0
    EMPTY = 1
    INVALID = 2
    FILLED = 3

  displayName = _messages.StringField(1)
  justCollected = _messages.BooleanField(2)
  required = _messages.BooleanField(3)
  state = _messages.EnumField('StateValueValuesEnum', 4)
  value = _messages.MessageField('extra_types.JsonValue', 5)


class GoogleCloudDialogflowCxV3QueryInput(_messages.Message):
  r"""Represents the query input. It can contain one of: 1. A conversational
  query in the form of text. 2. An intent query that specifies which intent to
  trigger. 3. Natural language speech audio to be processed. 4. An event to be
  triggered.

  Fields:
    audio: The natural language speech audio to be processed.
    dtmf: The DTMF event to be handled.
    event: The event to be triggered.
    intent: The intent to be triggered.
    languageCode: Required. The language of the input. See [Language
      Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    text: The natural language text to be processed.
  """

  audio = _messages.MessageField('GoogleCloudDialogflowCxV3AudioInput', 1)
  dtmf = _messages.MessageField('GoogleCloudDialogflowCxV3DtmfInput', 2)
  event = _messages.MessageField('GoogleCloudDialogflowCxV3EventInput', 3)
  intent = _messages.MessageField('GoogleCloudDialogflowCxV3IntentInput', 4)
  languageCode = _messages.StringField(5)
  text = _messages.MessageField('GoogleCloudDialogflowCxV3TextInput', 6)


class GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata(_messages.Message):
  r"""Metadata for ReloadDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3ResponseMessage(_messages.Message):
  r"""Represents a response message that can be returned by a conversational
  agent. Response messages are also used for output audio synthesis. The
  approach is as follows: * If at least one OutputAudioText response is
  present, then all OutputAudioText responses are linearly concatenated, and
  the result is used for output audio synthesis. * If the OutputAudioText
  responses are a mixture of text and SSML, then the concatenated result is
  treated as SSML; otherwise, the result is treated as either text or SSML as
  appropriate. The agent designer should ideally use either text or SSML
  consistently throughout the bot design. * Otherwise, all Text responses are
  linearly concatenated, and the result is used for output audio synthesis.
  This approach allows for more sophisticated user experience scenarios, where
  the text displayed to the user may differ from what is heard.

  Messages:
    PayloadValue: Returns a response containing a custom, platform-specific
      payload.

  Fields:
    conversationSuccess: Indicates that the conversation succeeded.
    endInteraction: Output only. A signal that indicates the interaction with
      the Dialogflow agent has ended. This message is generated by Dialogflow
      only when the conversation reaches `END_SESSION` page. It is not
      supposed to be defined by the user. It's guaranteed that there is at
      most one such message in each response.
    liveAgentHandoff: Hands off conversation to a human agent.
    mixedAudio: Output only. An audio response message composed of both the
      synthesized Dialogflow agent responses and responses defined via
      play_audio. This message is generated by Dialogflow only and not
      supposed to be defined by the user.
    outputAudioText: A text or ssml response that is preferentially used for
      TTS output audio synthesis, as described in the comment on the
      ResponseMessage message.
    payload: Returns a response containing a custom, platform-specific
      payload.
    playAudio: Signal that the client should play an audio clip hosted at a
      client-specific URI. Dialogflow uses this to construct mixed_audio.
      However, Dialogflow itself does not try to read or process the URI in
      any way.
    text: Returns a text response.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Returns a response containing a custom, platform-specific payload.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  conversationSuccess = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess', 1)
  endInteraction = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageEndInteraction', 2)
  liveAgentHandoff = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff', 3)
  mixedAudio = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageMixedAudio', 4)
  outputAudioText = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText', 5)
  payload = _messages.MessageField('PayloadValue', 6)
  playAudio = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessagePlayAudio', 7)
  text = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageText', 8)


class GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess(_messages.Message):
  r"""Indicates that the conversation succeeded, i.e., the bot handled the
  issue that the customer talked to it about. Dialogflow only uses this to
  determine which conversations should be counted as successful and doesn't
  process the metadata in this message in any way. Note that Dialogflow also
  considers conversations that get to the conversation end page as successful
  even if they don't return ConversationSuccess. You may set this, for
  example: * In the entry_fulfillment of a Page if entering the page indicates
  that the conversation succeeded. * In a webhook response when you determine
  that you handled the customer issue.

  Messages:
    MetadataValue: Custom metadata. Dialogflow doesn't impose any structure on
      this.

  Fields:
    metadata: Custom metadata. Dialogflow doesn't impose any structure on
      this.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Custom metadata. Dialogflow doesn't impose any structure on this.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  metadata = _messages.MessageField('MetadataValue', 1)


class GoogleCloudDialogflowCxV3ResponseMessageEndInteraction(_messages.Message):
  r"""Indicates that interaction with the Dialogflow agent has ended. This
  message is generated by Dialogflow only and not supposed to be defined by
  the user.
  """



class GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff(_messages.Message):
  r"""Indicates that the conversation should be handed off to a live agent.
  Dialogflow only uses this to determine which conversations were handed off
  to a human agent for measurement purposes. What else to do with this signal
  is up to you and your handoff procedures. You may set this, for example: *
  In the entry_fulfillment of a Page if entering the page indicates something
  went extremely wrong in the conversation. * In a webhook response when you
  determine that the customer issue can only be handled by a human.

  Messages:
    MetadataValue: Custom metadata for your handoff procedure. Dialogflow
      doesn't impose any structure on this.

  Fields:
    metadata: Custom metadata for your handoff procedure. Dialogflow doesn't
      impose any structure on this.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Custom metadata for your handoff procedure. Dialogflow doesn't impose
    any structure on this.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  metadata = _messages.MessageField('MetadataValue', 1)


class GoogleCloudDialogflowCxV3ResponseMessageMixedAudio(_messages.Message):
  r"""Represents an audio message that is composed of both segments
  synthesized from the Dialogflow agent prompts and ones hosted externally at
  the specified URIs. The external URIs are specified via play_audio. This
  message is generated by Dialogflow only and not supposed to be defined by
  the user.

  Fields:
    segments: Segments this audio response is composed of.
  """

  segments = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment', 1, repeated=True)


class GoogleCloudDialogflowCxV3ResponseMessageMixedAudioSegment(_messages.Message):
  r"""Represents one segment of audio.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      segment can be interrupted by the end user's speech and the client
      should then start the next Dialogflow request.
    audio: Raw audio synthesized from the Dialogflow agent's response using
      the output config specified in the request.
    uri: Client-specific URI that points to an audio clip accessible to the
      client. Dialogflow does not impose any validation on it.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  audio = _messages.BytesField(2)
  uri = _messages.StringField(3)


class GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText(_messages.Message):
  r"""A text or ssml response that is preferentially used for TTS output audio
  synthesis, as described in the comment on the ResponseMessage message.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    ssml: The SSML text to be synthesized. For more information, see
      [SSML](/speech/text-to-speech/docs/ssml).
    text: The raw text to be synthesized.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  ssml = _messages.StringField(2)
  text = _messages.StringField(3)


class GoogleCloudDialogflowCxV3ResponseMessagePlayAudio(_messages.Message):
  r"""Specifies an audio clip to be played by the client as part of the
  response.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    audioUri: Required. URI of the audio clip. Dialogflow does not impose any
      validation on this value. It is specific to the client that reads it.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  audioUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3ResponseMessageText(_messages.Message):
  r"""The text response message.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    text: Required. A collection of text responses.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  text = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowCxV3RunContinuousTestMetadata(_messages.Message):
  r"""Metadata returned for the Environments.RunContinuousTest long running
  operation.

  Fields:
    errors: The test errors.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3TestError', 1, repeated=True)


class GoogleCloudDialogflowCxV3RunContinuousTestResponse(_messages.Message):
  r"""The response message for Environments.RunContinuousTest.

  Fields:
    continuousTestResult: The result for a continuous test run.
  """

  continuousTestResult = _messages.MessageField('GoogleCloudDialogflowCxV3ContinuousTestResult', 1)


class GoogleCloudDialogflowCxV3RunTestCaseMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.RunTestCase long running operation.
  This message currently has no fields.
  """



class GoogleCloudDialogflowCxV3RunTestCaseResponse(_messages.Message):
  r"""The response message for TestCases.RunTestCase.

  Fields:
    result: The result.
  """

  result = _messages.MessageField('GoogleCloudDialogflowCxV3TestCaseResult', 1)


class GoogleCloudDialogflowCxV3SessionInfo(_messages.Message):
  r"""Represents session information communicated to and from the webhook.

  Messages:
    ParametersValue: Optional for WebhookRequest. Optional for
      WebhookResponse. All parameters collected from forms and intents during
      the session. Parameters can be created, updated, or removed by the
      webhook. To remove a parameter from the session, the webhook should
      explicitly set the parameter value to null in WebhookResponse. The map
      is keyed by parameters' display names.

  Fields:
    parameters: Optional for WebhookRequest. Optional for WebhookResponse. All
      parameters collected from forms and intents during the session.
      Parameters can be created, updated, or removed by the webhook. To remove
      a parameter from the session, the webhook should explicitly set the
      parameter value to null in WebhookResponse. The map is keyed by
      parameters' display names.
    session: Always present for WebhookRequest. Ignored for WebhookResponse.
      The unique identifier of the session. This field can be used by the
      webhook to identify a session. Format:
      `projects//locations//agents//sessions/` or
      `projects//locations//agents//environments//sessions/` if environment is
      specified.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Optional for WebhookRequest. Optional for WebhookResponse. All
    parameters collected from forms and intents during the session. Parameters
    can be created, updated, or removed by the webhook. To remove a parameter
    from the session, the webhook should explicitly set the parameter value to
    null in WebhookResponse. The map is keyed by parameters' display names.

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Additional properties of type ParametersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  parameters = _messages.MessageField('ParametersValue', 1)
  session = _messages.StringField(2)


class GoogleCloudDialogflowCxV3TestCase(_messages.Message):
  r"""Represents a test case.

  Fields:
    creationTime: Output only. When the test was created.
    displayName: Required. The human-readable name of the test case, unique
      within the agent. Limit of 200 characters.
    lastTestResult: The latest test result.
    name: The unique identifier of the test case. TestCases.CreateTestCase
      will populate the name automatically. Otherwise use format:
      `projects//locations//agents/ /testCases/`.
    notes: Additional freeform notes about the test case. Limit of 400
      characters.
    tags: Tags are short descriptions that users may apply to test cases for
      organizational and filtering purposes. Each tag should start with "#"
      and has a limit of 30 characters.
    testCaseConversationTurns: The conversation turns uttered when the test
      case was created, in chronological order. These include the canonical
      set of agent utterances that should occur when the agent is working
      properly.
    testConfig: Config for the test case.
  """

  creationTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  lastTestResult = _messages.MessageField('GoogleCloudDialogflowCxV3TestCaseResult', 3)
  name = _messages.StringField(4)
  notes = _messages.StringField(5)
  tags = _messages.StringField(6, repeated=True)
  testCaseConversationTurns = _messages.MessageField('GoogleCloudDialogflowCxV3ConversationTurn', 7, repeated=True)
  testConfig = _messages.MessageField('GoogleCloudDialogflowCxV3TestConfig', 8)


class GoogleCloudDialogflowCxV3TestCaseError(_messages.Message):
  r"""Error info for importing a test.

  Fields:
    status: The status associated with the test case.
    testCase: The test case.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  testCase = _messages.MessageField('GoogleCloudDialogflowCxV3TestCase', 2)


class GoogleCloudDialogflowCxV3TestCaseResult(_messages.Message):
  r"""Represents a result from running a test case in an agent environment.

  Enums:
    TestResultValueValuesEnum: Whether the test case passed in the agent
      environment.

  Fields:
    conversationTurns: The conversation turns uttered during the test case
      replay in chronological order.
    environment: Environment where the test was run. If not set, it indicates
      the draft environment.
    name: The resource name for the test case result. Format:
      `projects//locations//agents//testCases/ /results/`.
    testResult: Whether the test case passed in the agent environment.
    testTime: The time that the test was run.
  """

  class TestResultValueValuesEnum(_messages.Enum):
    r"""Whether the test case passed in the agent environment.

    Values:
      TEST_RESULT_UNSPECIFIED: Not specified. Should never be used.
      PASSED: The test passed.
      FAILED: The test did not pass.
    """
    TEST_RESULT_UNSPECIFIED = 0
    PASSED = 1
    FAILED = 2

  conversationTurns = _messages.MessageField('GoogleCloudDialogflowCxV3ConversationTurn', 1, repeated=True)
  environment = _messages.StringField(2)
  name = _messages.StringField(3)
  testResult = _messages.EnumField('TestResultValueValuesEnum', 4)
  testTime = _messages.StringField(5)


class GoogleCloudDialogflowCxV3TestConfig(_messages.Message):
  r"""Represents configurations for a test case.

  Fields:
    flow: Flow name. If not set, default start flow is assumed. Format:
      `projects//locations//agents//flows/`.
    trackingParameters: Session parameters to be compared when calculating
      differences.
  """

  flow = _messages.StringField(1)
  trackingParameters = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowCxV3TestError(_messages.Message):
  r"""Error info for running a test.

  Fields:
    status: The status associated with the test.
    testCase: The test case resource name.
    testTime: The timestamp when the test was completed.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  testCase = _messages.StringField(2)
  testTime = _messages.StringField(3)


class GoogleCloudDialogflowCxV3TestRunDifference(_messages.Message):
  r"""The description of differences between original and replayed agent
  output.

  Enums:
    TypeValueValuesEnum: The type of diff.

  Fields:
    description: A description of the diff, showing the actual output vs
      expected output.
    type: The type of diff.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""The type of diff.

    Values:
      DIFF_TYPE_UNSPECIFIED: Should never be used.
      INTENT: The intent.
      PAGE: The page.
      PARAMETERS: The parameters.
      UTTERANCE: The message utterance.
    """
    DIFF_TYPE_UNSPECIFIED = 0
    INTENT = 1
    PAGE = 2
    PARAMETERS = 3
    UTTERANCE = 4

  description = _messages.StringField(1)
  type = _messages.EnumField('TypeValueValuesEnum', 2)


class GoogleCloudDialogflowCxV3TextInput(_messages.Message):
  r"""Represents the natural language text to be processed.

  Fields:
    text: Required. The UTF-8 encoded natural language text to be processed.
      Text length must not exceed 256 characters.
  """

  text = _messages.StringField(1)


class GoogleCloudDialogflowCxV3TransitionRoute(_messages.Message):
  r"""A transition route specifies a intent that can be matched and/or a data
  condition that can be evaluated during a session. When a specified
  transition is matched, the following actions are taken in order: * If there
  is a `trigger_fulfillment` associated with the transition, it will be
  called. * If there is a `target_page` associated with the transition, the
  session will transition into the specified page. * If there is a
  `target_flow` associated with the transition, the session will transition
  into the specified flow.

  Fields:
    condition: The condition to evaluate against form parameters or session
      parameters. See the [conditions reference](https://cloud.google.com/dial
      ogflow/cx/docs/reference/condition). At least one of `intent` or
      `condition` must be specified. When both `intent` and `condition` are
      specified, the transition can only happen when both are fulfilled.
    intent: The unique identifier of an Intent. Format:
      `projects//locations//agents//intents/`. Indicates that the transition
      can only happen when the given intent is matched. At least one of
      `intent` or `condition` must be specified. When both `intent` and
      `condition` are specified, the transition can only happen when both are
      fulfilled.
    name: Output only. The unique identifier of this transition route.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
    triggerFulfillment: The fulfillment to call when the condition is
      satisfied. At least one of `trigger_fulfillment` and `target` must be
      specified. When both are defined, `trigger_fulfillment` is executed
      first.
  """

  condition = _messages.StringField(1)
  intent = _messages.StringField(2)
  name = _messages.StringField(3)
  targetFlow = _messages.StringField(4)
  targetPage = _messages.StringField(5)
  triggerFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3Fulfillment', 6)


class GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for UpdateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3WebhookRequest(_messages.Message):
  r"""The request message for a webhook call. The request is sent as a JSON
  object and the field names will be presented in camel cases.

  Messages:
    PayloadValue: Custom data set in QueryParameters.payload.

  Fields:
    detectIntentResponseId: Always present. The unique identifier of the
      DetectIntentResponse that will be returned to the API caller.
    fulfillmentInfo: Always present. Information about the fulfillment that
      triggered this webhook call.
    intentInfo: Information about the last matched intent.
    languageCode: The language code specified in the original request.
    messages: The list of rich message responses to present to the user.
      Webhook can choose to append or replace this list in
      WebhookResponse.fulfillment_response;
    pageInfo: Information about page status.
    payload: Custom data set in QueryParameters.payload.
    sentimentAnalysisResult: The sentiment analysis result of the current user
      request. The field is filled when sentiment analysis is configured to be
      enabled for the request.
    sessionInfo: Information about session status.
    text: If natural language text was provided as input, this field will
      contain a copy of the text.
    transcript: If natural language speech audio was provided as input, this
      field will contain the transcript for the audio.
    triggerEvent: If an event was provided as input, this field will contain
      the name of the event.
    triggerIntent: If an intent was provided as input, this field will contain
      a copy of the intent identifier. Format:
      `projects//locations//agents//intents/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Custom data set in QueryParameters.payload.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  detectIntentResponseId = _messages.StringField(1)
  fulfillmentInfo = _messages.MessageField('GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo', 2)
  intentInfo = _messages.MessageField('GoogleCloudDialogflowCxV3WebhookRequestIntentInfo', 3)
  languageCode = _messages.StringField(4)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessage', 5, repeated=True)
  pageInfo = _messages.MessageField('GoogleCloudDialogflowCxV3PageInfo', 6)
  payload = _messages.MessageField('PayloadValue', 7)
  sentimentAnalysisResult = _messages.MessageField('GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult', 8)
  sessionInfo = _messages.MessageField('GoogleCloudDialogflowCxV3SessionInfo', 9)
  text = _messages.StringField(10)
  transcript = _messages.StringField(11)
  triggerEvent = _messages.StringField(12)
  triggerIntent = _messages.StringField(13)


class GoogleCloudDialogflowCxV3WebhookRequestFulfillmentInfo(_messages.Message):
  r"""Represents fulfillment information communicated to the webhook.

  Fields:
    tag: Always present. The tag used to identify which fulfillment is being
      called.
  """

  tag = _messages.StringField(1)


class GoogleCloudDialogflowCxV3WebhookRequestIntentInfo(_messages.Message):
  r"""Represents intent information communicated to the webhook.

  Messages:
    ParametersValue: Parameters identified as a result of intent matching.
      This is a map of the name of the identified parameter to the value of
      the parameter identified from the user's utterance. All parameters
      defined in the matched intent that are identified will be surfaced here.

  Fields:
    confidence: The confidence of the matched intent. Values range from 0.0
      (completely uncertain) to 1.0 (completely certain).
    displayName: Always present. The display name of the last matched intent.
    lastMatchedIntent: Always present. The unique identifier of the last
      matched intent. Format: `projects//locations//agents//intents/`.
    parameters: Parameters identified as a result of intent matching. This is
      a map of the name of the identified parameter to the value of the
      parameter identified from the user's utterance. All parameters defined
      in the matched intent that are identified will be surfaced here.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Parameters identified as a result of intent matching. This is a map of
    the name of the identified parameter to the value of the parameter
    identified from the user's utterance. All parameters defined in the
    matched intent that are identified will be surfaced here.

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Additional properties of type ParametersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A
          GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValu
          e attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  displayName = _messages.StringField(2)
  lastMatchedIntent = _messages.StringField(3)
  parameters = _messages.MessageField('ParametersValue', 4)


class GoogleCloudDialogflowCxV3WebhookRequestIntentInfoIntentParameterValue(_messages.Message):
  r"""Represents a value for an intent parameter.

  Fields:
    originalValue: Always present. Original text value extracted from user
      utterance.
    resolvedValue: Always present. Structured value for the parameter
      extracted from user utterance.
  """

  originalValue = _messages.StringField(1)
  resolvedValue = _messages.MessageField('extra_types.JsonValue', 2)


class GoogleCloudDialogflowCxV3WebhookRequestSentimentAnalysisResult(_messages.Message):
  r"""Represents the result of sentiment analysis.

  Fields:
    magnitude: A non-negative number in the [0, +inf) range, which represents
      the absolute magnitude of sentiment, regardless of score (positive or
      negative).
    score: Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
      sentiment).
  """

  magnitude = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudDialogflowCxV3WebhookResponse(_messages.Message):
  r"""The response message for a webhook call.

  Messages:
    PayloadValue: Value to append directly to QueryResult.webhook_payloads.

  Fields:
    fulfillmentResponse: The fulfillment response to send to the user. This
      field can be omitted by the webhook if it does not intend to send any
      response to the user.
    pageInfo: Information about page status. This field can be omitted by the
      webhook if it does not intend to modify page status.
    payload: Value to append directly to QueryResult.webhook_payloads.
    sessionInfo: Information about session status. This field can be omitted
      by the webhook if it does not intend to modify session status.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Value to append directly to QueryResult.webhook_payloads.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  fulfillmentResponse = _messages.MessageField('GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse', 1)
  pageInfo = _messages.MessageField('GoogleCloudDialogflowCxV3PageInfo', 2)
  payload = _messages.MessageField('PayloadValue', 3)
  sessionInfo = _messages.MessageField('GoogleCloudDialogflowCxV3SessionInfo', 4)
  targetFlow = _messages.StringField(5)
  targetPage = _messages.StringField(6)


class GoogleCloudDialogflowCxV3WebhookResponseFulfillmentResponse(_messages.Message):
  r"""Represents a fulfillment response to the user.

  Enums:
    MergeBehaviorValueValuesEnum: Merge behavior for `messages`.

  Fields:
    mergeBehavior: Merge behavior for `messages`.
    messages: The list of rich message responses to present to the user.
  """

  class MergeBehaviorValueValuesEnum(_messages.Enum):
    r"""Merge behavior for `messages`.

    Values:
      MERGE_BEHAVIOR_UNSPECIFIED: Not specified. `APPEND` will be used.
      APPEND: `messages` will be appended to the list of messages waiting to
        be sent to the user.
      REPLACE: `messages` will replace the list of messages waiting to be sent
        to the user.
    """
    MERGE_BEHAVIOR_UNSPECIFIED = 0
    APPEND = 1
    REPLACE = 2

  mergeBehavior = _messages.EnumField('MergeBehaviorValueValuesEnum', 1)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3ResponseMessage', 2, repeated=True)


class GoogleCloudDialogflowCxV3beta1AudioInput(_messages.Message):
  r"""Represents the natural speech audio to be processed.

  Fields:
    audio: The natural language speech audio to be processed. A single request
      can contain up to 1 minute of speech audio data. The transcribed text
      cannot contain more than 256 bytes. For non-streaming audio detect
      intent, both `config` and `audio` must be provided. For streaming audio
      detect intent, `config` must be provided in the first request and
      `audio` must be provided in all following requests.
    config: Required. Instructs the speech recognizer how to process the
      speech audio.
  """

  audio = _messages.BytesField(1)
  config = _messages.MessageField('GoogleCloudDialogflowCxV3beta1InputAudioConfig', 2)


class GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.BatchRunTestCases long running
  operation.

  Fields:
    errors: The test errors.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestError', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.BatchRunTestCases.

  Fields:
    results: The test case results. The detailed conversation turns are empty
      in this response.
  """

  results = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestCaseResult', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1ContinuousTestResult(_messages.Message):
  r"""Represents a result from running a test case in an agent environment.

  Enums:
    ResultValueValuesEnum: The result of this continuous test run, i.e.
      whether all the tests in this continuous test run pass or not.

  Fields:
    name: The resource name for the continuous test result. Format:
      `projects//locations//agents//environments//continuousTestResults/`.
    result: The result of this continuous test run, i.e. whether all the tests
      in this continuous test run pass or not.
    runTime: Time when the continuous testing run starts.
    testCaseResults: A list of individual test case results names in this
      continuous test run.
  """

  class ResultValueValuesEnum(_messages.Enum):
    r"""The result of this continuous test run, i.e. whether all the tests in
    this continuous test run pass or not.

    Values:
      AGGREGATED_TEST_RESULT_UNSPECIFIED: Not specified. Should never be used.
      PASSED: All the tests passed.
      FAILED: At least one test did not pass.
    """
    AGGREGATED_TEST_RESULT_UNSPECIFIED = 0
    PASSED = 1
    FAILED = 2

  name = _messages.StringField(1)
  result = _messages.EnumField('ResultValueValuesEnum', 2)
  runTime = _messages.StringField(3)
  testCaseResults = _messages.StringField(4, repeated=True)


class GoogleCloudDialogflowCxV3beta1ConversationTurn(_messages.Message):
  r"""One interaction between a human and virtual agent. The human provides
  some input and the virtual agent provides a response.

  Fields:
    userInput: The user input.
    virtualAgentOutput: The virtual agent output.
  """

  userInput = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput', 1)
  virtualAgentOutput = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput', 2)


class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput(_messages.Message):
  r"""The input from the human user.

  Messages:
    InjectedParametersValue: Parameters that need to be injected into the
      conversation during intent detection.

  Fields:
    enableSentimentAnalysis: Whether sentiment analysis is enabled.
    injectedParameters: Parameters that need to be injected into the
      conversation during intent detection.
    input: Supports text input, event input, dtmf input in the test case.
    isWebhookEnabled: If webhooks should be allowed to trigger in response to
      the user utterance. Often if parameters are injected, webhooks should
      not be enabled.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InjectedParametersValue(_messages.Message):
    r"""Parameters that need to be injected into the conversation during
    intent detection.

    Messages:
      AdditionalProperty: An additional property for a InjectedParametersValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a InjectedParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  enableSentimentAnalysis = _messages.BooleanField(1)
  injectedParameters = _messages.MessageField('InjectedParametersValue', 2)
  input = _messages.MessageField('GoogleCloudDialogflowCxV3beta1QueryInput', 3)
  isWebhookEnabled = _messages.BooleanField(4)


class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput(_messages.Message):
  r"""The output from the virtual agent.

  Messages:
    DiagnosticInfoValue: Required. Input only. The diagnostic info output for
      the turn. Required to calculate the testing coverage.
    SessionParametersValue: The session parameters available to the bot at
      this point.

  Fields:
    currentPage: The Page on which the utterance was spoken. Only name and
      displayName will be set.
    diagnosticInfo: Required. Input only. The diagnostic info output for the
      turn. Required to calculate the testing coverage.
    differences: Output only. If this is part of a result conversation turn,
      the list of differences between the original run and the replay for this
      output, if any.
    sessionParameters: The session parameters available to the bot at this
      point.
    status: Response error from the agent in the test result. If set, other
      output is empty.
    textResponses: The text responses from the agent for the turn.
    triggeredIntent: The Intent that triggered the response. Only name and
      displayName will be set.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DiagnosticInfoValue(_messages.Message):
    r"""Required. Input only. The diagnostic info output for the turn.
    Required to calculate the testing coverage.

    Messages:
      AdditionalProperty: An additional property for a DiagnosticInfoValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DiagnosticInfoValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SessionParametersValue(_messages.Message):
    r"""The session parameters available to the bot at this point.

    Messages:
      AdditionalProperty: An additional property for a SessionParametersValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SessionParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  currentPage = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Page', 1)
  diagnosticInfo = _messages.MessageField('DiagnosticInfoValue', 2)
  differences = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestRunDifference', 3, repeated=True)
  sessionParameters = _messages.MessageField('SessionParametersValue', 4)
  status = _messages.MessageField('GoogleRpcStatus', 5)
  textResponses = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageText', 6, repeated=True)
  triggeredIntent = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Intent', 7)


class GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for CreateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata(_messages.Message):
  r"""Metadata associated with the long running operation for
  Versions.CreateVersion.

  Fields:
    version: Name of the created version. Format:
      `projects//locations//agents//flows//versions/`.
  """

  version = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata(_messages.Message):
  r"""Metadata for DeleteDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3beta1DtmfInput(_messages.Message):
  r"""Represents the input for dtmf event.

  Fields:
    digits: The dtmf digits.
    finishDigit: The finish digit (if any).
  """

  digits = _messages.StringField(1)
  finishDigit = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1EventHandler(_messages.Message):
  r"""An event handler specifies an event that can be handled during a
  session. When the specified event happens, the following actions are taken
  in order: * If there is a `trigger_fulfillment` associated with the event,
  it will be called. * If there is a `target_page` associated with the event,
  the session will transition into the specified page. * If there is a
  `target_flow` associated with the event, the session will transition into
  the specified flow.

  Fields:
    event: Required. The name of the event to handle.
    name: Output only. The unique identifier of this event handler.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
    triggerFulfillment: The fulfillment to call when the event occurs.
      Handling webhook errors with a fulfillment enabled with webhook could
      cause infinite loop. It is invalid to specify such fulfillment for a
      handler handling webhooks.
  """

  event = _messages.StringField(1)
  name = _messages.StringField(2)
  targetFlow = _messages.StringField(3)
  targetPage = _messages.StringField(4)
  triggerFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Fulfillment', 5)


class GoogleCloudDialogflowCxV3beta1EventInput(_messages.Message):
  r"""Represents the event to trigger.

  Fields:
    event: Name of the event.
  """

  event = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1ExportAgentResponse(_messages.Message):
  r"""The response message for Agents.ExportAgent.

  Fields:
    agentContent: Uncompressed raw byte content for agent.
    agentUri: The URI to a file containing the exported agent. This field is
      populated only if `agent_uri` is specified in ExportAgentRequest.
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1ExportFlowResponse(_messages.Message):
  r"""The response message for Flows.ExportFlow.

  Fields:
    flowContent: Uncompressed raw byte content for flow.
    flowUri: The URI to a file containing the exported flow. This field is
      populated only if `flow_uri` is specified in ExportFlowRequest.
  """

  flowContent = _messages.BytesField(1)
  flowUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.ExportTestCases long running
  operation. This message currently has no fields.
  """



class GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.ExportTestCases.

  Fields:
    content: Uncompressed raw byte content for test cases.
    gcsUri: The URI to a file containing the exported test cases. This field
      is populated only if `gcs_uri` is specified in ExportTestCasesRequest.
  """

  content = _messages.BytesField(1)
  gcsUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1Form(_messages.Message):
  r"""A form is a data model that groups related parameters that can be
  collected from the user. The process in which the agent prompts the user and
  collects parameter values from the user is called form filling. A form can
  be added to a page. When form filling is done, the filled parameters will be
  written to the session.

  Fields:
    parameters: Parameters to collect from the user.
  """

  parameters = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FormParameter', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1FormParameter(_messages.Message):
  r"""Represents a form parameter.

  Fields:
    defaultValue: The default value of an optional parameter. If the parameter
      is required, the default value will be ignored.
    displayName: Required. The human-readable name of the parameter, unique
      within the form.
    entityType: Required. The entity type of the parameter. Format:
      `projects/-/locations/-/agents/-/entityTypes/` for system entity types
      (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`),
      or `projects//locations//agents//entityTypes/` for developer entity
      types.
    fillBehavior: Required. Defines fill behavior for the parameter.
    isList: Indicates whether the parameter represents a list of values.
    redact: Indicates whether the parameter content should be redacted in log.
      If redaction is enabled, the parameter content will be replaced by
      parameter name during logging. Note: the parameter content is subject to
      redaction if either parameter level redaction or entity type level
      redaction is enabled.
    required: Indicates whether the parameter is required. Optional parameters
      will not trigger prompts; however, they are filled if the user specifies
      them. Required parameters must be filled before form filling concludes.
  """

  defaultValue = _messages.MessageField('extra_types.JsonValue', 1)
  displayName = _messages.StringField(2)
  entityType = _messages.StringField(3)
  fillBehavior = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior', 4)
  isList = _messages.BooleanField(5)
  redact = _messages.BooleanField(6)
  required = _messages.BooleanField(7)


class GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior(_messages.Message):
  r"""Configuration for how the filling of a parameter should be handled.

  Fields:
    initialPromptFulfillment: Required. The fulfillment to provide the initial
      prompt that the agent can present to the user in order to fill the
      parameter.
    repromptEventHandlers: The handlers for parameter-level events, used to
      provide reprompt for the parameter or transition to a different
      page/flow. The supported events are: * `sys.no-match-`, where N can be
      from 1 to 6 * `sys.no-match-default` * `sys.no-input-`, where N can be
      from 1 to 6 * `sys.no-input-default` * `sys.invalid-parameter`
      `initial_prompt_fulfillment` provides the first prompt for the
      parameter. If the user's response does not fill the parameter, a no-
      match/no-input event will be triggered, and the fulfillment associated
      with the `sys.no-match-1`/`sys.no-input-1` handler (if defined) will be
      called to provide a prompt. The `sys.no-match-2`/`sys.no-input-2`
      handler (if defined) will respond to the next no-match/no-input event,
      and so on. A `sys.no-match-default` or `sys.no-input-default` handler
      will be used to handle all following no-match/no-input events after all
      numbered no-match/no-input handlers for the parameter are consumed. A
      `sys.invalid-parameter` handler can be defined to handle the case where
      the parameter values have been `invalidated` by webhook. For example, if
      the user's response fill the parameter, however the parameter was
      invalidated by webhook, the fulfillment associated with the
      `sys.invalid-parameter` handler (if defined) will be called to provide a
      prompt. If the event handler for the corresponding event can't be found
      on the parameter, `initial_prompt_fulfillment` will be re-prompted.
  """

  initialPromptFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Fulfillment', 1)
  repromptEventHandlers = _messages.MessageField('GoogleCloudDialogflowCxV3beta1EventHandler', 2, repeated=True)


class GoogleCloudDialogflowCxV3beta1Fulfillment(_messages.Message):
  r"""A fulfillment can do one or more of the following actions at the same
  time: * Generate rich message responses. * Set parameter values. * Call the
  webhook. Fulfillments can be called at various stages in the Page or Form
  lifecycle. For example, when a DetectIntentRequest drives a session to enter
  a new page, the page's entry fulfillment can add a static response to the
  QueryResult in the returning DetectIntentResponse, call the webhook (for
  example, to load user data from a database), or both.

  Fields:
    conditionalCases: Conditional cases for this fulfillment.
    messages: The list of rich message responses to present to the user.
    returnPartialResponses: Whether Dialogflow should return currently queued
      fulfillment response messages in streaming APIs. If a webhook is
      specified, it happens before Dialogflow invokes webhook. Warning: 1)
      This flag only affects streaming API. Responses are still queued and
      returned once in non-streaming API. 2) The flag can be enabled in any
      fulfillment but only the first 3 partial responses will be returned. You
      may only want to apply it to fulfillments that have slow webhooks.
    setParameterActions: Set parameter values before executing the webhook.
    tag: The tag used by the webhook to identify which fulfillment is being
      called. This field is required if `webhook` is specified.
    webhook: The webhook to call. Format:
      `projects//locations//agents//webhooks/`.
  """

  conditionalCases = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases', 1, repeated=True)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessage', 2, repeated=True)
  returnPartialResponses = _messages.BooleanField(3)
  setParameterActions = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction', 4, repeated=True)
  tag = _messages.StringField(5)
  webhook = _messages.StringField(6)


class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases(_messages.Message):
  r"""A list of cascading if-else conditions. Cases are mutually exclusive.
  The first one with a matching condition is selected, all the rest ignored.

  Fields:
    cases: A list of cascading if-else conditions.
  """

  cases = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase(_messages.Message):
  r"""Each case has a Boolean condition. When it is evaluated to be True, the
  corresponding messages will be selected and evaluated recursively.

  Fields:
    caseContent: A list of case content.
    condition: The condition to activate and select this case. Empty means the
      condition is always true. The condition is evaluated against form
      parameters or session parameters. See the [conditions reference](https:/
      /cloud.google.com/dialogflow/cx/docs/reference/condition).
  """

  caseContent = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent', 1, repeated=True)
  condition = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent(_messages.Message):
  r"""The list of messages or conditional cases to activate for this case.

  Fields:
    additionalCases: Additional cases to be evaluated.
    message: Returned message.
  """

  additionalCases = _messages.MessageField('GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases', 1)
  message = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessage', 2)


class GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction(_messages.Message):
  r"""Setting a parameter value.

  Fields:
    parameter: Display name of the parameter.
    value: The new value of the parameter. A null value clears the parameter.
  """

  parameter = _messages.StringField(1)
  value = _messages.MessageField('extra_types.JsonValue', 2)


class GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata(_messages.Message):
  r"""Metadata in google::longrunning::Operation for Knowledge operations.

  Enums:
    StateValueValuesEnum: Required. Output only. The current state of this
      operation.

  Fields:
    state: Required. Output only. The current state of this operation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Required. Output only. The current state of this operation.

    Values:
      STATE_UNSPECIFIED: State unspecified.
      PENDING: The operation has been created.
      RUNNING: The operation is currently running.
      DONE: The operation is done, either cancelled or completed.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    DONE = 3

  state = _messages.EnumField('StateValueValuesEnum', 1)


class GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata(_messages.Message):
  r"""Metadata for ImportDocuments operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse(_messages.Message):
  r"""Response message for Documents.ImportDocuments.

  Fields:
    warnings: Includes details about skipped documents or any other warnings.
  """

  warnings = _messages.MessageField('GoogleRpcStatus', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1ImportFlowResponse(_messages.Message):
  r"""The response message for Flows.ImportFlow.

  Fields:
    flow: The unique identifier of the new flow. Format:
      `projects//locations//agents//flows/`.
  """

  flow = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.ImportTestCases long running
  operation.

  Fields:
    errors: Errors for failed test cases.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestCaseError', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse(_messages.Message):
  r"""The response message for TestCases.ImportTestCases.

  Fields:
    names: The unique identifiers of the new test cases. Format:
      `projects//locations//agents//testCases/`.
  """

  names = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowCxV3beta1InputAudioConfig(_messages.Message):
  r"""Instructs the speech recognizer on how to process the audio content.

  Enums:
    AudioEncodingValueValuesEnum: Required. Audio encoding of the audio
      content to process.
    ModelVariantValueValuesEnum: Optional. Which variant of the Speech model
      to use.

  Fields:
    audioEncoding: Required. Audio encoding of the audio content to process.
    enableWordInfo: Optional. If `true`, Dialogflow returns SpeechWordInfo in
      StreamingRecognitionResult with information about the recognized speech
      words, e.g. start and end time offsets. If false or unspecified, Speech
      doesn't return any word-level information.
    model: Optional. Which Speech model to select for the given request.
      Select the model best suited to your domain to get best results. If a
      model is not explicitly specified, then we auto-select a model based on
      the parameters in the InputAudioConfig. If enhanced speech model is
      enabled for the agent and an enhanced version of the specified model for
      the language does not exist, then the speech is recognized using the
      standard version of the specified model. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-
      text/docs/basics#select-model) for more details.
    modelVariant: Optional. Which variant of the Speech model to use.
    phraseHints: Optional. A list of strings containing words and phrases that
      the speech recognizer should recognize with higher likelihood. See [the
      Cloud Speech documentation](https://cloud.google.com/speech-to-
      text/docs/basics#phrase-hints) for more details.
    sampleRateHertz: Sample rate (in Hertz) of the audio content sent in the
      query. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-text/docs/basics) for
      more details.
    singleUtterance: Optional. If `false` (default), recognition does not
      cease until the client closes the stream. If `true`, the recognizer will
      detect a single spoken utterance in input audio. Recognition ceases when
      it detects the audio's voice has stopped or paused. In this case, once a
      detected intent is received, the client should close the stream and
      start a new request with a new stream as needed. Note: This setting is
      relevant only for streaming methods.
  """

  class AudioEncodingValueValuesEnum(_messages.Enum):
    r"""Required. Audio encoding of the audio content to process.

    Values:
      AUDIO_ENCODING_UNSPECIFIED: Not specified.
      AUDIO_ENCODING_LINEAR_16: Uncompressed 16-bit signed little-endian
        samples (Linear PCM).
      AUDIO_ENCODING_FLAC: [`FLAC`](https://xiph.org/flac/documentation.html)
        (Free Lossless Audio Codec) is the recommended encoding because it is
        lossless (therefore recognition is not compromised) and requires only
        about half the bandwidth of `LINEAR16`. `FLAC` stream encoding
        supports 16-bit and 24-bit samples, however, not all fields in
        `STREAMINFO` are supported.
      AUDIO_ENCODING_MULAW: 8-bit samples that compand 14-bit audio samples
        using G.711 PCMU/mu-law.
      AUDIO_ENCODING_AMR: Adaptive Multi-Rate Narrowband codec.
        `sample_rate_hertz` must be 8000.
      AUDIO_ENCODING_AMR_WB: Adaptive Multi-Rate Wideband codec.
        `sample_rate_hertz` must be 16000.
      AUDIO_ENCODING_OGG_OPUS: Opus encoded audio frames in Ogg container
        ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must
        be 16000.
      AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE: Although the use of lossy
        encodings is not recommended, if a very low bitrate encoding is
        required, `OGG_OPUS` is highly preferred over Speex encoding. The
        [Speex](https://speex.org/) encoding supported by Dialogflow API has a
        header byte in each block, as in MIME type `audio/x-speex-with-header-
        byte`. It is a variant of the RTP Speex encoding defined in [RFC
        5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence
        of blocks, one block per RTP packet. Each block starts with a byte
        containing the length of the block, in bytes, followed by one or more
        frames of Speex data, padded to an integral number of bytes (octets)
        as specified in RFC 5574. In other words, each RTP header is replaced
        with a single byte containing the block length. Only Speex wideband is
        supported. `sample_rate_hertz` must be 16000.
    """
    AUDIO_ENCODING_UNSPECIFIED = 0
    AUDIO_ENCODING_LINEAR_16 = 1
    AUDIO_ENCODING_FLAC = 2
    AUDIO_ENCODING_MULAW = 3
    AUDIO_ENCODING_AMR = 4
    AUDIO_ENCODING_AMR_WB = 5
    AUDIO_ENCODING_OGG_OPUS = 6
    AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7

  class ModelVariantValueValuesEnum(_messages.Enum):
    r"""Optional. Which variant of the Speech model to use.

    Values:
      SPEECH_MODEL_VARIANT_UNSPECIFIED: No model variant specified. In this
        case Dialogflow defaults to USE_BEST_AVAILABLE.
      USE_BEST_AVAILABLE: Use the best available variant of the Speech model
        that the caller is eligible for. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible for enhanced models.
      USE_STANDARD: Use standard model variant even if an enhanced model is
        available. See the [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) for details about enhanced models.
      USE_ENHANCED: Use an enhanced model variant: * If an enhanced variant
        does not exist for the given model and request language, Dialogflow
        falls back to the standard variant. The [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) describes which models have enhanced variants. * If the API
        caller isn't eligible for enhanced models, Dialogflow returns an
        error. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible.
    """
    SPEECH_MODEL_VARIANT_UNSPECIFIED = 0
    USE_BEST_AVAILABLE = 1
    USE_STANDARD = 2
    USE_ENHANCED = 3

  audioEncoding = _messages.EnumField('AudioEncodingValueValuesEnum', 1)
  enableWordInfo = _messages.BooleanField(2)
  model = _messages.StringField(3)
  modelVariant = _messages.EnumField('ModelVariantValueValuesEnum', 4)
  phraseHints = _messages.StringField(5, repeated=True)
  sampleRateHertz = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  singleUtterance = _messages.BooleanField(7)


class GoogleCloudDialogflowCxV3beta1Intent(_messages.Message):
  r"""An intent represents a user's intent to interact with a conversational
  agent. You can provide information for the Dialogflow API to use to match
  user input to an intent by adding training phrases (i.e., examples of user
  input) to your intent.

  Messages:
    LabelsValue: The key/value metadata to label an intent. Labels can contain
      lowercase letters, digits and the symbols '-' and '_'. International
      characters are allowed, including letters from unicase alphabets. Keys
      must start with a letter. Keys and values can be no longer than 63
      characters and no more than 128 bytes. Prefix "sys-" is reserved for
      Dialogflow defined labels. Currently allowed Dialogflow defined labels
      include: * sys-head * sys-contextual The above labels do not require
      value. "sys-head" means the intent is a head intent. "sys-contextual"
      means the intent is a contextual intent.

  Fields:
    description: Human readable description for better understanding an intent
      like its scope, content, result etc. Maximum character limit: 140
      characters.
    displayName: Required. The human-readable name of the intent, unique
      within the agent.
    isFallback: Indicates whether this is a fallback intent. Currently only
      default fallback intent is allowed in the agent, which is added upon
      agent creation. Adding training phrases to fallback intent is useful in
      the case of requests that are mistakenly matched, since training phrases
      assigned to fallback intents act as negative examples that triggers no-
      match event.
    labels: The key/value metadata to label an intent. Labels can contain
      lowercase letters, digits and the symbols '-' and '_'. International
      characters are allowed, including letters from unicase alphabets. Keys
      must start with a letter. Keys and values can be no longer than 63
      characters and no more than 128 bytes. Prefix "sys-" is reserved for
      Dialogflow defined labels. Currently allowed Dialogflow defined labels
      include: * sys-head * sys-contextual The above labels do not require
      value. "sys-head" means the intent is a head intent. "sys-contextual"
      means the intent is a contextual intent.
    name: The unique identifier of the intent. Required for the
      Intents.UpdateIntent method. Intents.CreateIntent populates the name
      automatically. Format: `projects//locations//agents//intents/`.
    parameters: The collection of parameters associated with the intent.
    priority: The priority of this intent. Higher numbers represent higher
      priorities. - If the supplied value is unspecified or 0, the service
      translates the value to 500,000, which corresponds to the `Normal`
      priority in the console. - If the supplied value is negative, the intent
      is ignored in runtime detect intent requests.
    trainingPhrases: The collection of training phrases the agent is trained
      on to identify the intent.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The key/value metadata to label an intent. Labels can contain
    lowercase letters, digits and the symbols '-' and '_'. International
    characters are allowed, including letters from unicase alphabets. Keys
    must start with a letter. Keys and values can be no longer than 63
    characters and no more than 128 bytes. Prefix "sys-" is reserved for
    Dialogflow defined labels. Currently allowed Dialogflow defined labels
    include: * sys-head * sys-contextual The above labels do not require
    value. "sys-head" means the intent is a head intent. "sys-contextual"
    means the intent is a contextual intent.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  description = _messages.StringField(1)
  displayName = _messages.StringField(2)
  isFallback = _messages.BooleanField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  parameters = _messages.MessageField('GoogleCloudDialogflowCxV3beta1IntentParameter', 6, repeated=True)
  priority = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  trainingPhrases = _messages.MessageField('GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase', 8, repeated=True)


class GoogleCloudDialogflowCxV3beta1IntentInput(_messages.Message):
  r"""Represents the intent to trigger programmatically rather than as a
  result of natural language processing.

  Fields:
    intent: Required. The unique identifier of the intent. Format:
      `projects//locations//agents//intents/`.
  """

  intent = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1IntentParameter(_messages.Message):
  r"""Represents an intent parameter.

  Fields:
    entityType: Required. The entity type of the parameter. Format:
      `projects/-/locations/-/agents/-/entityTypes/` for system entity types
      (for example, `projects/-/locations/-/agents/-/entityTypes/sys.date`),
      or `projects//locations//agents//entityTypes/` for developer entity
      types.
    id: Required. The unique identifier of the parameter. This field is used
      by training phrases to annotate their parts.
    isList: Indicates whether the parameter represents a list of values.
    redact: Indicates whether the parameter content should be redacted in log.
      If redaction is enabled, the parameter content will be replaced by
      parameter name during logging. Note: the parameter content is subject to
      redaction if either parameter level redaction or entity type level
      redaction is enabled.
  """

  entityType = _messages.StringField(1)
  id = _messages.StringField(2)
  isList = _messages.BooleanField(3)
  redact = _messages.BooleanField(4)


class GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase(_messages.Message):
  r"""Represents an example that the agent is trained on to identify the
  intent.

  Fields:
    id: Output only. The unique identifier of the training phrase.
    parts: Required. The ordered list of training phrase parts. The parts are
      concatenated in order to form the training phrase. Note: The API does
      not automatically annotate training phrases like the Dialogflow Console
      does. Note: Do not forget to include whitespace at part boundaries, so
      the training phrase is well formatted when the parts are concatenated.
      If the training phrase does not need to be annotated with parameters,
      you just need a single part with only the Part.text field set. If you
      want to annotate the training phrase, you must create multiple parts,
      where the fields of each part are populated in one of two ways: -
      `Part.text` is set to a part of the phrase that has no parameters. -
      `Part.text` is set to a part of the phrase that you want to annotate,
      and the `parameter_id` field is set.
    repeatCount: Indicates how many times this example was added to the
      intent.
  """

  id = _messages.StringField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart', 2, repeated=True)
  repeatCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart(_messages.Message):
  r"""Represents a part of a training phrase.

  Fields:
    parameterId: The parameter used to annotate this part of the training
      phrase. This field is required for annotated parts of the training
      phrase.
    text: Required. The text for this part.
  """

  parameterId = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1Page(_messages.Message):
  r"""A Dialogflow CX conversation (session) can be described and visualized
  as a state machine. The states of a CX session are represented by pages. For
  each flow, you define many pages, where your combined pages can handle a
  complete conversation on the topics the flow is designed for. At any given
  moment, exactly one page is the current page, the current page is considered
  active, and the flow associated with that page is considered active. Every
  flow has a special start page. When a flow initially becomes active, the
  start page page becomes the current page. For each conversational turn, the
  current page will either stay the same or transition to another page. You
  configure each page to collect information from the end-user that is
  relevant for the conversational state represented by the page. For more
  information, see the [Page
  guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).

  Fields:
    displayName: Required. The human-readable name of the page, unique within
      the agent.
    entryFulfillment: The fulfillment to call when the session is entering the
      page.
    eventHandlers: Handlers associated with the page to handle events such as
      webhook errors, no match or no input.
    form: The form associated with the page, used for collecting parameters
      relevant to the page.
    name: The unique identifier of the page. Required for the Pages.UpdatePage
      method. Pages.CreatePage populates the name automatically. Format:
      `projects//locations//agents//flows//pages/`.
    transitionRouteGroups: Ordered list of `TransitionRouteGroups` associated
      with the page. Transition route groups must be unique within a page. *
      If multiple transition routes within a page scope refer to the same
      intent, then the precedence order is: page's transition route -> page's
      transition route group -> flow's transition routes. * If multiple
      transition route groups within a page contain the same intent, then the
      first group in the ordered list takes precedence.
      Format:`projects//locations//agents//flows//transitionRouteGroups/`.
    transitionRoutes: A list of transitions for the transition rules of this
      page. They route the conversation to another page in the same flow, or
      another flow. When we are in a certain page, the TransitionRoutes are
      evalauted in the following order: * TransitionRoutes defined in the page
      with intent specified. * TransitionRoutes defined in the transition
      route groups with intent specified. * TransitionRoutes defined in flow
      with intent specified. * TransitionRoutes defined in the transition
      route groups with intent specified. * TransitionRoutes defined in the
      page with only condition specified. * TransitionRoutes defined in the
      transition route groups with only condition specified.
  """

  displayName = _messages.StringField(1)
  entryFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Fulfillment', 2)
  eventHandlers = _messages.MessageField('GoogleCloudDialogflowCxV3beta1EventHandler', 3, repeated=True)
  form = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Form', 4)
  name = _messages.StringField(5)
  transitionRouteGroups = _messages.StringField(6, repeated=True)
  transitionRoutes = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TransitionRoute', 7, repeated=True)


class GoogleCloudDialogflowCxV3beta1PageInfo(_messages.Message):
  r"""Represents page information communicated to and from the webhook.

  Fields:
    currentPage: Always present for WebhookRequest. Ignored for
      WebhookResponse. The unique identifier of the current page. Format:
      `projects//locations//agents//flows//pages/`.
    formInfo: Optional for both WebhookRequest and WebhookResponse.
      Information about the form.
  """

  currentPage = _messages.StringField(1)
  formInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1PageInfoFormInfo', 2)


class GoogleCloudDialogflowCxV3beta1PageInfoFormInfo(_messages.Message):
  r"""Represents form information.

  Fields:
    parameterInfo: Optional for both WebhookRequest and WebhookResponse. The
      parameters contained in the form. Note that the webhook cannot add or
      remove any form parameter.
  """

  parameterInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo(_messages.Message):
  r"""Represents parameter information.

  Enums:
    StateValueValuesEnum: Always present for WebhookRequest. Required for
      WebhookResponse. The state of the parameter. This field can be set to
      INVALID by the webhook to invalidate the parameter; other values set by
      the webhook will be ignored.

  Fields:
    displayName: Always present for WebhookRequest. Required for
      WebhookResponse. The human-readable name of the parameter, unique within
      the form. This field cannot be modified by the webhook.
    justCollected: Optional for WebhookRequest. Ignored for WebhookResponse.
      Indicates if the parameter value was just collected on the last
      conversation turn.
    required: Optional for both WebhookRequest and WebhookResponse. Indicates
      whether the parameter is required. Optional parameters will not trigger
      prompts; however, they are filled if the user specifies them. Required
      parameters must be filled before form filling concludes.
    state: Always present for WebhookRequest. Required for WebhookResponse.
      The state of the parameter. This field can be set to INVALID by the
      webhook to invalidate the parameter; other values set by the webhook
      will be ignored.
    value: Optional for both WebhookRequest and WebhookResponse. The value of
      the parameter. This field can be set by the webhook to change the
      parameter value.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Always present for WebhookRequest. Required for WebhookResponse. The
    state of the parameter. This field can be set to INVALID by the webhook to
    invalidate the parameter; other values set by the webhook will be ignored.

    Values:
      PARAMETER_STATE_UNSPECIFIED: Not specified. This value should be never
        used.
      EMPTY: Indicates that the parameter does not have a value.
      INVALID: Indicates that the parameter value is invalid. This field can
        be used by the webhook to invalidate the parameter and ask the server
        to collect it from the user again.
      FILLED: Indicates that the parameter has a value.
    """
    PARAMETER_STATE_UNSPECIFIED = 0
    EMPTY = 1
    INVALID = 2
    FILLED = 3

  displayName = _messages.StringField(1)
  justCollected = _messages.BooleanField(2)
  required = _messages.BooleanField(3)
  state = _messages.EnumField('StateValueValuesEnum', 4)
  value = _messages.MessageField('extra_types.JsonValue', 5)


class GoogleCloudDialogflowCxV3beta1QueryInput(_messages.Message):
  r"""Represents the query input. It can contain one of: 1. A conversational
  query in the form of text. 2. An intent query that specifies which intent to
  trigger. 3. Natural language speech audio to be processed. 4. An event to be
  triggered.

  Fields:
    audio: The natural language speech audio to be processed.
    dtmf: The DTMF event to be handled.
    event: The event to be triggered.
    intent: The intent to be triggered.
    languageCode: Required. The language of the input. See [Language
      Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    text: The natural language text to be processed.
  """

  audio = _messages.MessageField('GoogleCloudDialogflowCxV3beta1AudioInput', 1)
  dtmf = _messages.MessageField('GoogleCloudDialogflowCxV3beta1DtmfInput', 2)
  event = _messages.MessageField('GoogleCloudDialogflowCxV3beta1EventInput', 3)
  intent = _messages.MessageField('GoogleCloudDialogflowCxV3beta1IntentInput', 4)
  languageCode = _messages.StringField(5)
  text = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TextInput', 6)


class GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata(_messages.Message):
  r"""Metadata for ReloadDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3beta1ResponseMessage(_messages.Message):
  r"""Represents a response message that can be returned by a conversational
  agent. Response messages are also used for output audio synthesis. The
  approach is as follows: * If at least one OutputAudioText response is
  present, then all OutputAudioText responses are linearly concatenated, and
  the result is used for output audio synthesis. * If the OutputAudioText
  responses are a mixture of text and SSML, then the concatenated result is
  treated as SSML; otherwise, the result is treated as either text or SSML as
  appropriate. The agent designer should ideally use either text or SSML
  consistently throughout the bot design. * Otherwise, all Text responses are
  linearly concatenated, and the result is used for output audio synthesis.
  This approach allows for more sophisticated user experience scenarios, where
  the text displayed to the user may differ from what is heard.

  Messages:
    PayloadValue: Returns a response containing a custom, platform-specific
      payload.

  Fields:
    conversationSuccess: Indicates that the conversation succeeded.
    endInteraction: Output only. A signal that indicates the interaction with
      the Dialogflow agent has ended. This message is generated by Dialogflow
      only when the conversation reaches `END_SESSION` page. It is not
      supposed to be defined by the user. It's guaranteed that there is at
      most one such message in each response.
    liveAgentHandoff: Hands off conversation to a human agent.
    mixedAudio: Output only. An audio response message composed of both the
      synthesized Dialogflow agent responses and responses defined via
      play_audio. This message is generated by Dialogflow only and not
      supposed to be defined by the user.
    outputAudioText: A text or ssml response that is preferentially used for
      TTS output audio synthesis, as described in the comment on the
      ResponseMessage message.
    payload: Returns a response containing a custom, platform-specific
      payload.
    playAudio: Signal that the client should play an audio clip hosted at a
      client-specific URI. Dialogflow uses this to construct mixed_audio.
      However, Dialogflow itself does not try to read or process the URI in
      any way.
    text: Returns a text response.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Returns a response containing a custom, platform-specific payload.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  conversationSuccess = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess', 1)
  endInteraction = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction', 2)
  liveAgentHandoff = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff', 3)
  mixedAudio = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio', 4)
  outputAudioText = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText', 5)
  payload = _messages.MessageField('PayloadValue', 6)
  playAudio = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio', 7)
  text = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageText', 8)


class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess(_messages.Message):
  r"""Indicates that the conversation succeeded, i.e., the bot handled the
  issue that the customer talked to it about. Dialogflow only uses this to
  determine which conversations should be counted as successful and doesn't
  process the metadata in this message in any way. Note that Dialogflow also
  considers conversations that get to the conversation end page as successful
  even if they don't return ConversationSuccess. You may set this, for
  example: * In the entry_fulfillment of a Page if entering the page indicates
  that the conversation succeeded. * In a webhook response when you determine
  that you handled the customer issue.

  Messages:
    MetadataValue: Custom metadata. Dialogflow doesn't impose any structure on
      this.

  Fields:
    metadata: Custom metadata. Dialogflow doesn't impose any structure on
      this.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Custom metadata. Dialogflow doesn't impose any structure on this.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  metadata = _messages.MessageField('MetadataValue', 1)


class GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction(_messages.Message):
  r"""Indicates that interaction with the Dialogflow agent has ended. This
  message is generated by Dialogflow only and not supposed to be defined by
  the user.
  """



class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff(_messages.Message):
  r"""Indicates that the conversation should be handed off to a live agent.
  Dialogflow only uses this to determine which conversations were handed off
  to a human agent for measurement purposes. What else to do with this signal
  is up to you and your handoff procedures. You may set this, for example: *
  In the entry_fulfillment of a Page if entering the page indicates something
  went extremely wrong in the conversation. * In a webhook response when you
  determine that the customer issue can only be handled by a human.

  Messages:
    MetadataValue: Custom metadata for your handoff procedure. Dialogflow
      doesn't impose any structure on this.

  Fields:
    metadata: Custom metadata for your handoff procedure. Dialogflow doesn't
      impose any structure on this.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Custom metadata for your handoff procedure. Dialogflow doesn't impose
    any structure on this.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  metadata = _messages.MessageField('MetadataValue', 1)


class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio(_messages.Message):
  r"""Represents an audio message that is composed of both segments
  synthesized from the Dialogflow agent prompts and ones hosted externally at
  the specified URIs. The external URIs are specified via play_audio. This
  message is generated by Dialogflow only and not supposed to be defined by
  the user.

  Fields:
    segments: Segments this audio response is composed of.
  """

  segments = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment(_messages.Message):
  r"""Represents one segment of audio.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      segment can be interrupted by the end user's speech and the client
      should then start the next Dialogflow request.
    audio: Raw audio synthesized from the Dialogflow agent's response using
      the output config specified in the request.
    uri: Client-specific URI that points to an audio clip accessible to the
      client. Dialogflow does not impose any validation on it.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  audio = _messages.BytesField(2)
  uri = _messages.StringField(3)


class GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText(_messages.Message):
  r"""A text or ssml response that is preferentially used for TTS output audio
  synthesis, as described in the comment on the ResponseMessage message.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    ssml: The SSML text to be synthesized. For more information, see
      [SSML](/speech/text-to-speech/docs/ssml).
    text: The raw text to be synthesized.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  ssml = _messages.StringField(2)
  text = _messages.StringField(3)


class GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio(_messages.Message):
  r"""Specifies an audio clip to be played by the client as part of the
  response.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    audioUri: Required. URI of the audio clip. Dialogflow does not impose any
      validation on this value. It is specific to the client that reads it.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  audioUri = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1ResponseMessageText(_messages.Message):
  r"""The text response message.

  Fields:
    allowPlaybackInterruption: Output only. Whether the playback of this
      message can be interrupted by the end user's speech and the client can
      then starts the next Dialogflow request.
    text: Required. A collection of text responses.
  """

  allowPlaybackInterruption = _messages.BooleanField(1)
  text = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowCxV3beta1RunContinuousTestMetadata(_messages.Message):
  r"""Metadata returned for the Environments.RunContinuousTest long running
  operation.

  Fields:
    errors: The test errors.
  """

  errors = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestError', 1, repeated=True)


class GoogleCloudDialogflowCxV3beta1RunContinuousTestResponse(_messages.Message):
  r"""The response message for Environments.RunContinuousTest.

  Fields:
    continuousTestResult: The result for a continuous test run.
  """

  continuousTestResult = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ContinuousTestResult', 1)


class GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata(_messages.Message):
  r"""Metadata returned for the TestCases.RunTestCase long running operation.
  This message currently has no fields.
  """



class GoogleCloudDialogflowCxV3beta1RunTestCaseResponse(_messages.Message):
  r"""The response message for TestCases.RunTestCase.

  Fields:
    result: The result.
  """

  result = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestCaseResult', 1)


class GoogleCloudDialogflowCxV3beta1SessionInfo(_messages.Message):
  r"""Represents session information communicated to and from the webhook.

  Messages:
    ParametersValue: Optional for WebhookRequest. Optional for
      WebhookResponse. All parameters collected from forms and intents during
      the session. Parameters can be created, updated, or removed by the
      webhook. To remove a parameter from the session, the webhook should
      explicitly set the parameter value to null in WebhookResponse. The map
      is keyed by parameters' display names.

  Fields:
    parameters: Optional for WebhookRequest. Optional for WebhookResponse. All
      parameters collected from forms and intents during the session.
      Parameters can be created, updated, or removed by the webhook. To remove
      a parameter from the session, the webhook should explicitly set the
      parameter value to null in WebhookResponse. The map is keyed by
      parameters' display names.
    session: Always present for WebhookRequest. Ignored for WebhookResponse.
      The unique identifier of the session. This field can be used by the
      webhook to identify a session. Format:
      `projects//locations//agents//sessions/` or
      `projects//locations//agents//environments//sessions/` if environment is
      specified.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Optional for WebhookRequest. Optional for WebhookResponse. All
    parameters collected from forms and intents during the session. Parameters
    can be created, updated, or removed by the webhook. To remove a parameter
    from the session, the webhook should explicitly set the parameter value to
    null in WebhookResponse. The map is keyed by parameters' display names.

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Additional properties of type ParametersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  parameters = _messages.MessageField('ParametersValue', 1)
  session = _messages.StringField(2)


class GoogleCloudDialogflowCxV3beta1TestCase(_messages.Message):
  r"""Represents a test case.

  Fields:
    creationTime: Output only. When the test was created.
    displayName: Required. The human-readable name of the test case, unique
      within the agent. Limit of 200 characters.
    lastTestResult: The latest test result.
    name: The unique identifier of the test case. TestCases.CreateTestCase
      will populate the name automatically. Otherwise use format:
      `projects//locations//agents/ /testCases/`.
    notes: Additional freeform notes about the test case. Limit of 400
      characters.
    tags: Tags are short descriptions that users may apply to test cases for
      organizational and filtering purposes. Each tag should start with "#"
      and has a limit of 30 characters.
    testCaseConversationTurns: The conversation turns uttered when the test
      case was created, in chronological order. These include the canonical
      set of agent utterances that should occur when the agent is working
      properly.
    testConfig: Config for the test case.
  """

  creationTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  lastTestResult = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestCaseResult', 3)
  name = _messages.StringField(4)
  notes = _messages.StringField(5)
  tags = _messages.StringField(6, repeated=True)
  testCaseConversationTurns = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ConversationTurn', 7, repeated=True)
  testConfig = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestConfig', 8)


class GoogleCloudDialogflowCxV3beta1TestCaseError(_messages.Message):
  r"""Error info for importing a test.

  Fields:
    status: The status associated with the test case.
    testCase: The test case.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  testCase = _messages.MessageField('GoogleCloudDialogflowCxV3beta1TestCase', 2)


class GoogleCloudDialogflowCxV3beta1TestCaseResult(_messages.Message):
  r"""Represents a result from running a test case in an agent environment.

  Enums:
    TestResultValueValuesEnum: Whether the test case passed in the agent
      environment.

  Fields:
    conversationTurns: The conversation turns uttered during the test case
      replay in chronological order.
    environment: Environment where the test was run. If not set, it indicates
      the draft environment.
    name: The resource name for the test case result. Format:
      `projects//locations//agents//testCases/ /results/`.
    testResult: Whether the test case passed in the agent environment.
    testTime: The time that the test was run.
  """

  class TestResultValueValuesEnum(_messages.Enum):
    r"""Whether the test case passed in the agent environment.

    Values:
      TEST_RESULT_UNSPECIFIED: Not specified. Should never be used.
      PASSED: The test passed.
      FAILED: The test did not pass.
    """
    TEST_RESULT_UNSPECIFIED = 0
    PASSED = 1
    FAILED = 2

  conversationTurns = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ConversationTurn', 1, repeated=True)
  environment = _messages.StringField(2)
  name = _messages.StringField(3)
  testResult = _messages.EnumField('TestResultValueValuesEnum', 4)
  testTime = _messages.StringField(5)


class GoogleCloudDialogflowCxV3beta1TestConfig(_messages.Message):
  r"""Represents configurations for a test case.

  Fields:
    flow: Flow name. If not set, default start flow is assumed. Format:
      `projects//locations//agents//flows/`.
    trackingParameters: Session parameters to be compared when calculating
      differences.
  """

  flow = _messages.StringField(1)
  trackingParameters = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowCxV3beta1TestError(_messages.Message):
  r"""Error info for running a test.

  Fields:
    status: The status associated with the test.
    testCase: The test case resource name.
    testTime: The timestamp when the test was completed.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  testCase = _messages.StringField(2)
  testTime = _messages.StringField(3)


class GoogleCloudDialogflowCxV3beta1TestRunDifference(_messages.Message):
  r"""The description of differences between original and replayed agent
  output.

  Enums:
    TypeValueValuesEnum: The type of diff.

  Fields:
    description: A description of the diff, showing the actual output vs
      expected output.
    type: The type of diff.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""The type of diff.

    Values:
      DIFF_TYPE_UNSPECIFIED: Should never be used.
      INTENT: The intent.
      PAGE: The page.
      PARAMETERS: The parameters.
      UTTERANCE: The message utterance.
    """
    DIFF_TYPE_UNSPECIFIED = 0
    INTENT = 1
    PAGE = 2
    PARAMETERS = 3
    UTTERANCE = 4

  description = _messages.StringField(1)
  type = _messages.EnumField('TypeValueValuesEnum', 2)


class GoogleCloudDialogflowCxV3beta1TextInput(_messages.Message):
  r"""Represents the natural language text to be processed.

  Fields:
    text: Required. The UTF-8 encoded natural language text to be processed.
      Text length must not exceed 256 characters.
  """

  text = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1TransitionRoute(_messages.Message):
  r"""A transition route specifies a intent that can be matched and/or a data
  condition that can be evaluated during a session. When a specified
  transition is matched, the following actions are taken in order: * If there
  is a `trigger_fulfillment` associated with the transition, it will be
  called. * If there is a `target_page` associated with the transition, the
  session will transition into the specified page. * If there is a
  `target_flow` associated with the transition, the session will transition
  into the specified flow.

  Fields:
    condition: The condition to evaluate against form parameters or session
      parameters. See the [conditions reference](https://cloud.google.com/dial
      ogflow/cx/docs/reference/condition). At least one of `intent` or
      `condition` must be specified. When both `intent` and `condition` are
      specified, the transition can only happen when both are fulfilled.
    intent: The unique identifier of an Intent. Format:
      `projects//locations//agents//intents/`. Indicates that the transition
      can only happen when the given intent is matched. At least one of
      `intent` or `condition` must be specified. When both `intent` and
      `condition` are specified, the transition can only happen when both are
      fulfilled.
    name: Output only. The unique identifier of this transition route.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
    triggerFulfillment: The fulfillment to call when the condition is
      satisfied. At least one of `trigger_fulfillment` and `target` must be
      specified. When both are defined, `trigger_fulfillment` is executed
      first.
  """

  condition = _messages.StringField(1)
  intent = _messages.StringField(2)
  name = _messages.StringField(3)
  targetFlow = _messages.StringField(4)
  targetPage = _messages.StringField(5)
  triggerFulfillment = _messages.MessageField('GoogleCloudDialogflowCxV3beta1Fulfillment', 6)


class GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for UpdateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowCxV3beta1WebhookRequest(_messages.Message):
  r"""The request message for a webhook call. The request is sent as a JSON
  object and the field names will be presented in camel cases.

  Messages:
    PayloadValue: Custom data set in QueryParameters.payload.

  Fields:
    detectIntentResponseId: Always present. The unique identifier of the
      DetectIntentResponse that will be returned to the API caller.
    fulfillmentInfo: Always present. Information about the fulfillment that
      triggered this webhook call.
    intentInfo: Information about the last matched intent.
    languageCode: The language code specified in the original request.
    messages: The list of rich message responses to present to the user.
      Webhook can choose to append or replace this list in
      WebhookResponse.fulfillment_response;
    pageInfo: Information about page status.
    payload: Custom data set in QueryParameters.payload.
    sentimentAnalysisResult: The sentiment analysis result of the current user
      request. The field is filled when sentiment analysis is configured to be
      enabled for the request.
    sessionInfo: Information about session status.
    text: If natural language text was provided as input, this field will
      contain a copy of the text.
    transcript: If natural language speech audio was provided as input, this
      field will contain the transcript for the audio.
    triggerEvent: If an event was provided as input, this field will contain
      the name of the event.
    triggerIntent: If an intent was provided as input, this field will contain
      a copy of the intent identifier. Format:
      `projects//locations//agents//intents/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Custom data set in QueryParameters.payload.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  detectIntentResponseId = _messages.StringField(1)
  fulfillmentInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo', 2)
  intentInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo', 3)
  languageCode = _messages.StringField(4)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessage', 5, repeated=True)
  pageInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1PageInfo', 6)
  payload = _messages.MessageField('PayloadValue', 7)
  sentimentAnalysisResult = _messages.MessageField('GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult', 8)
  sessionInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1SessionInfo', 9)
  text = _messages.StringField(10)
  transcript = _messages.StringField(11)
  triggerEvent = _messages.StringField(12)
  triggerIntent = _messages.StringField(13)


class GoogleCloudDialogflowCxV3beta1WebhookRequestFulfillmentInfo(_messages.Message):
  r"""Represents fulfillment information communicated to the webhook.

  Fields:
    tag: Always present. The tag used to identify which fulfillment is being
      called.
  """

  tag = _messages.StringField(1)


class GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo(_messages.Message):
  r"""Represents intent information communicated to the webhook.

  Messages:
    ParametersValue: Parameters identified as a result of intent matching.
      This is a map of the name of the identified parameter to the value of
      the parameter identified from the user's utterance. All parameters
      defined in the matched intent that are identified will be surfaced here.

  Fields:
    confidence: The confidence of the matched intent. Values range from 0.0
      (completely uncertain) to 1.0 (completely certain).
    displayName: Always present. The display name of the last matched intent.
    lastMatchedIntent: Always present. The unique identifier of the last
      matched intent. Format: `projects//locations//agents//intents/`.
    parameters: Parameters identified as a result of intent matching. This is
      a map of the name of the identified parameter to the value of the
      parameter identified from the user's utterance. All parameters defined
      in the matched intent that are identified will be surfaced here.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Parameters identified as a result of intent matching. This is a map of
    the name of the identified parameter to the value of the parameter
    identified from the user's utterance. All parameters defined in the
    matched intent that are identified will be surfaced here.

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Additional properties of type ParametersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentP
          arameterValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  displayName = _messages.StringField(2)
  lastMatchedIntent = _messages.StringField(3)
  parameters = _messages.MessageField('ParametersValue', 4)


class GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfoIntentParameterValue(_messages.Message):
  r"""Represents a value for an intent parameter.

  Fields:
    originalValue: Always present. Original text value extracted from user
      utterance.
    resolvedValue: Always present. Structured value for the parameter
      extracted from user utterance.
  """

  originalValue = _messages.StringField(1)
  resolvedValue = _messages.MessageField('extra_types.JsonValue', 2)


class GoogleCloudDialogflowCxV3beta1WebhookRequestSentimentAnalysisResult(_messages.Message):
  r"""Represents the result of sentiment analysis.

  Fields:
    magnitude: A non-negative number in the [0, +inf) range, which represents
      the absolute magnitude of sentiment, regardless of score (positive or
      negative).
    score: Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
      sentiment).
  """

  magnitude = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudDialogflowCxV3beta1WebhookResponse(_messages.Message):
  r"""The response message for a webhook call.

  Messages:
    PayloadValue: Value to append directly to QueryResult.webhook_payloads.

  Fields:
    fulfillmentResponse: The fulfillment response to send to the user. This
      field can be omitted by the webhook if it does not intend to send any
      response to the user.
    pageInfo: Information about page status. This field can be omitted by the
      webhook if it does not intend to modify page status.
    payload: Value to append directly to QueryResult.webhook_payloads.
    sessionInfo: Information about session status. This field can be omitted
      by the webhook if it does not intend to modify session status.
    targetFlow: The target flow to transition to. Format:
      `projects//locations//agents//flows/`.
    targetPage: The target page to transition to. Format:
      `projects//locations//agents//flows//pages/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Value to append directly to QueryResult.webhook_payloads.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  fulfillmentResponse = _messages.MessageField('GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse', 1)
  pageInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1PageInfo', 2)
  payload = _messages.MessageField('PayloadValue', 3)
  sessionInfo = _messages.MessageField('GoogleCloudDialogflowCxV3beta1SessionInfo', 4)
  targetFlow = _messages.StringField(5)
  targetPage = _messages.StringField(6)


class GoogleCloudDialogflowCxV3beta1WebhookResponseFulfillmentResponse(_messages.Message):
  r"""Represents a fulfillment response to the user.

  Enums:
    MergeBehaviorValueValuesEnum: Merge behavior for `messages`.

  Fields:
    mergeBehavior: Merge behavior for `messages`.
    messages: The list of rich message responses to present to the user.
  """

  class MergeBehaviorValueValuesEnum(_messages.Enum):
    r"""Merge behavior for `messages`.

    Values:
      MERGE_BEHAVIOR_UNSPECIFIED: Not specified. `APPEND` will be used.
      APPEND: `messages` will be appended to the list of messages waiting to
        be sent to the user.
      REPLACE: `messages` will replace the list of messages waiting to be sent
        to the user.
    """
    MERGE_BEHAVIOR_UNSPECIFIED = 0
    APPEND = 1
    REPLACE = 2

  mergeBehavior = _messages.EnumField('MergeBehaviorValueValuesEnum', 1)
  messages = _messages.MessageField('GoogleCloudDialogflowCxV3beta1ResponseMessage', 2, repeated=True)


class GoogleCloudDialogflowV2Agent(_messages.Message):
  r"""A Dialogflow agent is a virtual agent that handles conversations with
  your end-users. It is a natural language understanding module that
  understands the nuances of human language. Dialogflow translates end-user
  text or audio during a conversation to structured data that your apps and
  services can understand. You design and build a Dialogflow agent to handle
  the types of conversations required for your system. For more information
  about agents, see the [Agent
  guide](https://cloud.google.com/dialogflow/docs/agents-overview).

  Enums:
    ApiVersionValueValuesEnum: Optional. API version displayed in Dialogflow
      console. If not specified, V2 API is assumed. Clients are free to query
      different service endpoints for different API versions. However, bots
      connectors and webhook calls will follow the specified API version.
    MatchModeValueValuesEnum: Optional. Determines how intents are detected
      from user queries.
    TierValueValuesEnum: Optional. The agent tier. If not specified,
      TIER_STANDARD is assumed.

  Fields:
    apiVersion: Optional. API version displayed in Dialogflow console. If not
      specified, V2 API is assumed. Clients are free to query different
      service endpoints for different API versions. However, bots connectors
      and webhook calls will follow the specified API version.
    avatarUri: Optional. The URI of the agent's avatar. Avatars are used
      throughout the Dialogflow console and in the self-hosted [Web
      Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo)
      integration.
    classificationThreshold: Optional. To filter out false positive results
      and still get variety in matched natural language inputs for your agent,
      you can tune the machine learning classification threshold. If the
      returned score value is less than the threshold value, then a fallback
      intent will be triggered or, if there are no fallback intents defined,
      no intent will be triggered. The score values range from 0.0 (completely
      uncertain) to 1.0 (completely certain). If set to 0.0, the default of
      0.3 is used.
    defaultLanguageCode: Required. The default language of the agent as a
      language tag. See [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes. This field cannot
      be set by the `Update` method.
    description: Optional. The description of this agent. The maximum length
      is 500 characters. If exceeded, the request is rejected.
    displayName: Required. The name of this agent.
    enableLogging: Optional. Determines whether this agent should log
      conversation queries.
    matchMode: Optional. Determines how intents are detected from user
      queries.
    parent: Required. The project of this agent. Format: `projects/`.
    supportedLanguageCodes: Optional. The list of all languages supported by
      this agent (except for the `default_language_code`).
    tier: Optional. The agent tier. If not specified, TIER_STANDARD is
      assumed.
    timeZone: Required. The time zone of this agent from the [time zone
      database](https://www.iana.org/time-zones), e.g., America/New_York,
      Europe/Paris.
  """

  class ApiVersionValueValuesEnum(_messages.Enum):
    r"""Optional. API version displayed in Dialogflow console. If not
    specified, V2 API is assumed. Clients are free to query different service
    endpoints for different API versions. However, bots connectors and webhook
    calls will follow the specified API version.

    Values:
      API_VERSION_UNSPECIFIED: Not specified.
      API_VERSION_V1: Legacy V1 API.
      API_VERSION_V2: V2 API.
      API_VERSION_V2_BETA_1: V2beta1 API.
    """
    API_VERSION_UNSPECIFIED = 0
    API_VERSION_V1 = 1
    API_VERSION_V2 = 2
    API_VERSION_V2_BETA_1 = 3

  class MatchModeValueValuesEnum(_messages.Enum):
    r"""Optional. Determines how intents are detected from user queries.

    Values:
      MATCH_MODE_UNSPECIFIED: Not specified.
      MATCH_MODE_HYBRID: Best for agents with a small number of examples in
        intents and/or wide use of templates syntax and composite entities.
      MATCH_MODE_ML_ONLY: Can be used for agents with a large number of
        examples in intents, especially the ones using @sys.any or very large
        custom entities.
    """
    MATCH_MODE_UNSPECIFIED = 0
    MATCH_MODE_HYBRID = 1
    MATCH_MODE_ML_ONLY = 2

  class TierValueValuesEnum(_messages.Enum):
    r"""Optional. The agent tier. If not specified, TIER_STANDARD is assumed.

    Values:
      TIER_UNSPECIFIED: Not specified. This value should never be used.
      TIER_STANDARD: Standard tier.
      TIER_ENTERPRISE: Enterprise tier (Essentials).
      TIER_ENTERPRISE_PLUS: Enterprise tier (Plus).
    """
    TIER_UNSPECIFIED = 0
    TIER_STANDARD = 1
    TIER_ENTERPRISE = 2
    TIER_ENTERPRISE_PLUS = 3

  apiVersion = _messages.EnumField('ApiVersionValueValuesEnum', 1)
  avatarUri = _messages.StringField(2)
  classificationThreshold = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  defaultLanguageCode = _messages.StringField(4)
  description = _messages.StringField(5)
  displayName = _messages.StringField(6)
  enableLogging = _messages.BooleanField(7)
  matchMode = _messages.EnumField('MatchModeValueValuesEnum', 8)
  parent = _messages.StringField(9)
  supportedLanguageCodes = _messages.StringField(10, repeated=True)
  tier = _messages.EnumField('TierValueValuesEnum', 11)
  timeZone = _messages.StringField(12)


class GoogleCloudDialogflowV2AgentAssistantFeedback(_messages.Message):
  r"""Detail feedback of Agent Assist result.

  Enums:
    AnswerRelevanceValueValuesEnum: Optional. Whether or not the suggested
      answer is relevant. For example: * Query: "Can I change my mailing
      address?" * Suggested document says: "Items must be returned/exchanged
      within 60 days of the purchase date." * answer_relevance:
      AnswerRelevance.IRRELEVANT
    DocumentCorrectnessValueValuesEnum: Optional. Whether or not the
      information in the document is correct. For example: * Query: "Can I
      return the package in 2 days once received?" * Suggested document says:
      "Items must be returned/exchanged within 60 days of the purchase date."
      * Ground truth: "No return or exchange is allowed." *
      [document_correctness]: INCORRECT
    DocumentEfficiencyValueValuesEnum: Optional. Whether or not the suggested
      document is efficient. For example, if the document is poorly written,
      hard to understand, hard to use or too long to find useful information,
      document_efficiency is DocumentEfficiency.INEFFICIENT.

  Fields:
    answerRelevance: Optional. Whether or not the suggested answer is
      relevant. For example: * Query: "Can I change my mailing address?" *
      Suggested document says: "Items must be returned/exchanged within 60
      days of the purchase date." * answer_relevance:
      AnswerRelevance.IRRELEVANT
    documentCorrectness: Optional. Whether or not the information in the
      document is correct. For example: * Query: "Can I return the package in
      2 days once received?" * Suggested document says: "Items must be
      returned/exchanged within 60 days of the purchase date." * Ground truth:
      "No return or exchange is allowed." * [document_correctness]: INCORRECT
    documentEfficiency: Optional. Whether or not the suggested document is
      efficient. For example, if the document is poorly written, hard to
      understand, hard to use or too long to find useful information,
      document_efficiency is DocumentEfficiency.INEFFICIENT.
  """

  class AnswerRelevanceValueValuesEnum(_messages.Enum):
    r"""Optional. Whether or not the suggested answer is relevant. For
    example: * Query: "Can I change my mailing address?" * Suggested document
    says: "Items must be returned/exchanged within 60 days of the purchase
    date." * answer_relevance: AnswerRelevance.IRRELEVANT

    Values:
      ANSWER_RELEVANCE_UNSPECIFIED: Answer relevance unspecified.
      IRRELEVANT: Answer is irrelevant to query.
      RELEVANT: Answer is relevant to query.
    """
    ANSWER_RELEVANCE_UNSPECIFIED = 0
    IRRELEVANT = 1
    RELEVANT = 2

  class DocumentCorrectnessValueValuesEnum(_messages.Enum):
    r"""Optional. Whether or not the information in the document is correct.
    For example: * Query: "Can I return the package in 2 days once received?"
    * Suggested document says: "Items must be returned/exchanged within 60
    days of the purchase date." * Ground truth: "No return or exchange is
    allowed." * [document_correctness]: INCORRECT

    Values:
      DOCUMENT_CORRECTNESS_UNSPECIFIED: Document correctness unspecified.
      INCORRECT: Information in document is incorrect.
      CORRECT: Information in document is correct.
    """
    DOCUMENT_CORRECTNESS_UNSPECIFIED = 0
    INCORRECT = 1
    CORRECT = 2

  class DocumentEfficiencyValueValuesEnum(_messages.Enum):
    r"""Optional. Whether or not the suggested document is efficient. For
    example, if the document is poorly written, hard to understand, hard to
    use or too long to find useful information, document_efficiency is
    DocumentEfficiency.INEFFICIENT.

    Values:
      DOCUMENT_EFFICIENCY_UNSPECIFIED: Document efficiency unspecified.
      INEFFICIENT: Document is inefficient.
      EFFICIENT: Document is efficient.
    """
    DOCUMENT_EFFICIENCY_UNSPECIFIED = 0
    INEFFICIENT = 1
    EFFICIENT = 2

  answerRelevance = _messages.EnumField('AnswerRelevanceValueValuesEnum', 1)
  documentCorrectness = _messages.EnumField('DocumentCorrectnessValueValuesEnum', 2)
  documentEfficiency = _messages.EnumField('DocumentEfficiencyValueValuesEnum', 3)


class GoogleCloudDialogflowV2AgentAssistantRecord(_messages.Message):
  r"""Represents a record of a human agent assist answer.

  Fields:
    articleSuggestionAnswer: Output only. The article suggestion answer.
    faqAnswer: Output only. The FAQ answer.
  """

  articleSuggestionAnswer = _messages.MessageField('GoogleCloudDialogflowV2ArticleAnswer', 1)
  faqAnswer = _messages.MessageField('GoogleCloudDialogflowV2FaqAnswer', 2)


class GoogleCloudDialogflowV2AnalyzeContentRequest(_messages.Message):
  r"""The request message for Participants.AnalyzeContent.

  Fields:
    eventInput: An input event to send to Dialogflow.
    queryParams: Parameters for a Dialogflow virtual-agent query.
    replyAudioConfig: Speech synthesis configuration. The speech synthesis
      settings for a virtual agent that may be configured for the associated
      conversation profile are not used when calling AnalyzeContent. If this
      configuration is not supplied, speech synthesis is disabled.
    requestId: A unique identifier for this request. Restricted to 36 ASCII
      characters. A random UUID is recommended. This request is only
      idempotent if a `request_id` is provided.
    textInput: The natural language text to be processed.
  """

  eventInput = _messages.MessageField('GoogleCloudDialogflowV2EventInput', 1)
  queryParams = _messages.MessageField('GoogleCloudDialogflowV2QueryParameters', 2)
  replyAudioConfig = _messages.MessageField('GoogleCloudDialogflowV2OutputAudioConfig', 3)
  requestId = _messages.StringField(4)
  textInput = _messages.MessageField('GoogleCloudDialogflowV2TextInput', 5)


class GoogleCloudDialogflowV2AnalyzeContentResponse(_messages.Message):
  r"""The response message for Participants.AnalyzeContent.

  Fields:
    automatedAgentReply: Only set if a Dialogflow automated agent has
      responded. Note that:
      AutomatedAgentReply.detect_intent_response.output_audio and
      AutomatedAgentReply.detect_intent_response.output_audio_config are
      always empty, use reply_audio instead.
    dtmfParameters: Indicates the parameters of DTMF.
    endUserSuggestionResults: The suggestions for end user. The order is the
      same as HumanAgentAssistantConfig.SuggestionConfig.feature_configs of
      HumanAgentAssistantConfig.end_user_suggestion_config.
    humanAgentSuggestionResults: The suggestions for most recent human agent.
      The order is the same as
      HumanAgentAssistantConfig.SuggestionConfig.feature_configs of
      HumanAgentAssistantConfig.human_agent_suggestion_config.
    message: Message analyzed by CCAI.
    replyAudio: The audio data bytes encoded as specified in the request. This
      field is set if: - `reply_audio_config` was specified in the request, or
      - The automated agent responded with audio to play to the user. In such
      case, `reply_audio.config` contains settings used to synthesize the
      speech. In some scenarios, multiple output audio fields may be present
      in the response structure. In these cases, only the top-most-level audio
      output has content.
    replyText: The output text content. This field is set if the automated
      agent responded with text to show to the user.
  """

  automatedAgentReply = _messages.MessageField('GoogleCloudDialogflowV2AutomatedAgentReply', 1)
  dtmfParameters = _messages.MessageField('GoogleCloudDialogflowV2DtmfParameters', 2)
  endUserSuggestionResults = _messages.MessageField('GoogleCloudDialogflowV2SuggestionResult', 3, repeated=True)
  humanAgentSuggestionResults = _messages.MessageField('GoogleCloudDialogflowV2SuggestionResult', 4, repeated=True)
  message = _messages.MessageField('GoogleCloudDialogflowV2Message', 5)
  replyAudio = _messages.MessageField('GoogleCloudDialogflowV2OutputAudio', 6)
  replyText = _messages.StringField(7)


class GoogleCloudDialogflowV2AnnotatedMessagePart(_messages.Message):
  r"""Represents a part of a message possibly annotated with an entity. The
  part can be an entity or purely a part of the message between two entities
  or message start/end.

  Fields:
    entityType: The [Dialogflow system entity
      type](https://cloud.google.com/dialogflow/docs/reference/system-
      entities) of this message part. If this is empty, Dialogflow could not
      annotate the phrase part with a system entity.
    formattedValue: The [Dialogflow system entity formatted value
      ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of
      this message part. For example for a system entity of type `@sys.unit-
      currency`, this may contain: { "amount": 5, "currency": "USD" }
    text: A part of a message possibly annotated with an entity.
  """

  entityType = _messages.StringField(1)
  formattedValue = _messages.MessageField('extra_types.JsonValue', 2)
  text = _messages.StringField(3)


class GoogleCloudDialogflowV2AnswerFeedback(_messages.Message):
  r"""Represents feedback the customer has about the quality & correctness of
  a certain answer in a conversation.

  Enums:
    CorrectnessLevelValueValuesEnum: The correctness level of the specific
      answer.

  Fields:
    agentAssistantDetailFeedback: Detail feedback of agent assist suggestions.
    clickTime: Time when the answer/item was clicked.
    clicked: Indicates whether the answer/item was clicked by the human agent
      or not. Default to false.
    correctnessLevel: The correctness level of the specific answer.
    displayTime: Time when the answer/item was displayed.
    displayed: Indicates whether the answer/item was displayed to the human
      agent in the agent desktop UI. Default to false.
  """

  class CorrectnessLevelValueValuesEnum(_messages.Enum):
    r"""The correctness level of the specific answer.

    Values:
      CORRECTNESS_LEVEL_UNSPECIFIED: Correctness level unspecified.
      NOT_CORRECT: Answer is totally wrong.
      PARTIALLY_CORRECT: Answer is partially correct.
      FULLY_CORRECT: Answer is fully correct.
    """
    CORRECTNESS_LEVEL_UNSPECIFIED = 0
    NOT_CORRECT = 1
    PARTIALLY_CORRECT = 2
    FULLY_CORRECT = 3

  agentAssistantDetailFeedback = _messages.MessageField('GoogleCloudDialogflowV2AgentAssistantFeedback', 1)
  clickTime = _messages.StringField(2)
  clicked = _messages.BooleanField(3)
  correctnessLevel = _messages.EnumField('CorrectnessLevelValueValuesEnum', 4)
  displayTime = _messages.StringField(5)
  displayed = _messages.BooleanField(6)


class GoogleCloudDialogflowV2AnswerRecord(_messages.Message):
  r"""Answer records are records to manage answer history and feedbacks for
  Dialogflow. Currently, answer record includes: - human agent assistant
  article suggestion - human agent assistant faq article It doesn't include: -
  `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are
  not related to the conversation history in the Dialogflow Console. A Record
  is generated even when the end-user disables conversation history in the
  console. Records are created when there's a human agent assistant suggestion
  generated. A typical workflow for customers provide feedback to an answer
  is: 1. For human agent assistant, customers get suggestion via
  ListSuggestions API. Together with the answers, AnswerRecord.name are
  returned to the customers. 2. The customer uses the AnswerRecord.name to
  call the UpdateAnswerRecord method to send feedback about a specific answer
  that they believe is wrong.

  Fields:
    agentAssistantRecord: Output only. The record for human agent assistant.
    answerFeedback: Required. The AnswerFeedback for this record. You can set
      this with AnswerRecords.UpdateAnswerRecord in order to give us feedback
      about this answer.
    name: The unique identifier of this answer record. Format:
      `projects//locations//answerRecords/`.
  """

  agentAssistantRecord = _messages.MessageField('GoogleCloudDialogflowV2AgentAssistantRecord', 1)
  answerFeedback = _messages.MessageField('GoogleCloudDialogflowV2AnswerFeedback', 2)
  name = _messages.StringField(3)


class GoogleCloudDialogflowV2ArticleAnswer(_messages.Message):
  r"""Represents article answer.

  Messages:
    MetadataValue: A map that contains metadata about the answer and the
      document from which it originates.

  Fields:
    answerRecord: The name of answer record, in the format of
      "projects//locations//answerRecords/"
    confidence: Article match confidence. The system's confidence score that
      this article is a good match for this conversation, as a value from 0.0
      (completely uncertain) to 1.0 (completely certain).
    metadata: A map that contains metadata about the answer and the document
      from which it originates.
    snippets: Article snippets.
    title: The article title.
    uri: The article URI.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""A map that contains metadata about the answer and the document from
    which it originates.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  answerRecord = _messages.StringField(1)
  confidence = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  metadata = _messages.MessageField('MetadataValue', 3)
  snippets = _messages.StringField(4, repeated=True)
  title = _messages.StringField(5)
  uri = _messages.StringField(6)


class GoogleCloudDialogflowV2AutomatedAgentConfig(_messages.Message):
  r"""Defines the Automated Agent to connect to a conversation.

  Fields:
    agent: Required. ID of the Dialogflow agent environment to use. This
      project needs to either be the same project as the conversation or you
      need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the
      `Dialogflow API Service Agent` role in this project. Format:
      `projects//locations//agent/environments/`. If environment is not
      specified, the default `draft` environment is used. Refer to [DetectInte
      ntRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#goo
      gle.cloud.dialogflow.v2.DetectIntentRequest) for more details.
  """

  agent = _messages.StringField(1)


class GoogleCloudDialogflowV2AutomatedAgentReply(_messages.Message):
  r"""Represents a response from an automated agent.

  Enums:
    AutomatedAgentReplyTypeValueValuesEnum: AutomatedAgentReply type.

  Fields:
    allowCancellation: Indicates whether the partial automated agent reply is
      interruptible when a later reply message arrives. e.g. if the agent
      specified some music as partial response, it can be cancelled.
    automatedAgentReplyType: AutomatedAgentReply type.
    detectIntentResponse: Response of the Dialogflow Sessions.DetectIntent
      call.
  """

  class AutomatedAgentReplyTypeValueValuesEnum(_messages.Enum):
    r"""AutomatedAgentReply type.

    Values:
      AUTOMATED_AGENT_REPLY_TYPE_UNSPECIFIED: Not specified. This should never
        happen.
      PARTIAL: Partial reply. e.g. Aggregated responses in a `Fulfillment`
        that enables `return_partial_response` can be returned as partial
        reply. WARNING: partial reply is not eligible for barge-in.
      FINAL: Final reply.
    """
    AUTOMATED_AGENT_REPLY_TYPE_UNSPECIFIED = 0
    PARTIAL = 1
    FINAL = 2

  allowCancellation = _messages.BooleanField(1)
  automatedAgentReplyType = _messages.EnumField('AutomatedAgentReplyTypeValueValuesEnum', 2)
  detectIntentResponse = _messages.MessageField('GoogleCloudDialogflowV2DetectIntentResponse', 3)


class GoogleCloudDialogflowV2BatchCreateEntitiesRequest(_messages.Message):
  r"""The request message for EntityTypes.BatchCreateEntities.

  Fields:
    entities: Required. The entities to create.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
  """

  entities = _messages.MessageField('GoogleCloudDialogflowV2EntityTypeEntity', 1, repeated=True)
  languageCode = _messages.StringField(2)


class GoogleCloudDialogflowV2BatchDeleteEntitiesRequest(_messages.Message):
  r"""The request message for EntityTypes.BatchDeleteEntities.

  Fields:
    entityValues: Required. The reference `values` of the entities to delete.
      Note that these are not fully-qualified names, i.e. they don't start
      with `projects/`.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
  """

  entityValues = _messages.StringField(1, repeated=True)
  languageCode = _messages.StringField(2)


class GoogleCloudDialogflowV2BatchDeleteEntityTypesRequest(_messages.Message):
  r"""The request message for EntityTypes.BatchDeleteEntityTypes.

  Fields:
    entityTypeNames: Required. The names entity types to delete. All names
      must point to the same agent as `parent`.
  """

  entityTypeNames = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowV2BatchDeleteIntentsRequest(_messages.Message):
  r"""The request message for Intents.BatchDeleteIntents.

  Fields:
    intents: Required. The collection of intents to delete. Only intent `name`
      must be filled in.
  """

  intents = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1, repeated=True)


class GoogleCloudDialogflowV2BatchUpdateEntitiesRequest(_messages.Message):
  r"""The request message for EntityTypes.BatchUpdateEntities.

  Fields:
    entities: Required. The entities to update or create.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    updateMask: Optional. The mask to control which fields get updated.
  """

  entities = _messages.MessageField('GoogleCloudDialogflowV2EntityTypeEntity', 1, repeated=True)
  languageCode = _messages.StringField(2)
  updateMask = _messages.StringField(3)


class GoogleCloudDialogflowV2BatchUpdateEntityTypesRequest(_messages.Message):
  r"""The request message for EntityTypes.BatchUpdateEntityTypes.

  Fields:
    entityTypeBatchInline: The collection of entity types to update or create.
    entityTypeBatchUri: The URI to a Google Cloud Storage file containing
      entity types to update or create. The file format can either be a
      serialized proto (of EntityBatch type) or a JSON object. Note: The URI
      must start with "gs://".
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    updateMask: Optional. The mask to control which fields get updated.
  """

  entityTypeBatchInline = _messages.MessageField('GoogleCloudDialogflowV2EntityTypeBatch', 1)
  entityTypeBatchUri = _messages.StringField(2)
  languageCode = _messages.StringField(3)
  updateMask = _messages.StringField(4)


class GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse(_messages.Message):
  r"""The response message for EntityTypes.BatchUpdateEntityTypes.

  Fields:
    entityTypes: The collection of updated or created entity types.
  """

  entityTypes = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1, repeated=True)


class GoogleCloudDialogflowV2BatchUpdateIntentsRequest(_messages.Message):
  r"""A GoogleCloudDialogflowV2BatchUpdateIntentsRequest object.

  Enums:
    IntentViewValueValuesEnum: Optional. The resource view to apply to the
      returned intent.

  Fields:
    intentBatchInline: The collection of intents to update or create.
    intentBatchUri: The URI to a Google Cloud Storage file containing intents
      to update or create. The file format can either be a serialized proto
      (of IntentBatch type) or JSON object. Note: The URI must start with
      "gs://".
    intentView: Optional. The resource view to apply to the returned intent.
    languageCode: Optional. The language used to access language-specific
      data. If not specified, the agent's default language is used. For more
      information, see [Multilingual intent and entity
      data](https://cloud.google.com/dialogflow/docs/agents-
      multilingual#intent-entity).
    updateMask: Optional. The mask to control which fields get updated.
  """

  class IntentViewValueValuesEnum(_messages.Enum):
    r"""Optional. The resource view to apply to the returned intent.

    Values:
      INTENT_VIEW_UNSPECIFIED: Training phrases field is not populated in the
        response.
      INTENT_VIEW_FULL: All fields are populated.
    """
    INTENT_VIEW_UNSPECIFIED = 0
    INTENT_VIEW_FULL = 1

  intentBatchInline = _messages.MessageField('GoogleCloudDialogflowV2IntentBatch', 1)
  intentBatchUri = _messages.StringField(2)
  intentView = _messages.EnumField('IntentViewValueValuesEnum', 3)
  languageCode = _messages.StringField(4)
  updateMask = _messages.StringField(5)


class GoogleCloudDialogflowV2BatchUpdateIntentsResponse(_messages.Message):
  r"""The response message for Intents.BatchUpdateIntents.

  Fields:
    intents: The collection of updated or created intents.
  """

  intents = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1, repeated=True)


class GoogleCloudDialogflowV2CompleteConversationRequest(_messages.Message):
  r"""The request message for Conversations.CompleteConversation."""


class GoogleCloudDialogflowV2Context(_messages.Message):
  r"""Dialogflow contexts are similar to natural language context. If a person
  says to you "they are orange", you need context in order to understand what
  "they" is referring to. Similarly, for Dialogflow to handle an end-user
  expression like that, it needs to be provided with context in order to
  correctly match an intent. Using contexts, you can control the flow of a
  conversation. You can configure contexts for an intent by setting input and
  output contexts, which are identified by string names. When an intent is
  matched, any configured output contexts for that intent become active. While
  any contexts are active, Dialogflow is more likely to match intents that are
  configured with input contexts that correspond to the currently active
  contexts. For more information about context, see the [Contexts
  guide](https://cloud.google.com/dialogflow/docs/contexts-overview).

  Messages:
    ParametersValue: Optional. The collection of parameters associated with
      this context. Depending on your protocol or client library language,
      this is a map, associative array, symbol table, dictionary, or JSON
      object composed of a collection of (MapKey, MapValue) pairs: - MapKey
      type: string - MapKey value: parameter name - MapValue type: - If
      parameter's entity type is a composite entity: map - Else: depending on
      parameter value type, could be one of string, number, boolean, null,
      list or map - MapValue value: - If parameter's entity type is a
      composite entity: map from composite entity property names to property
      values - Else: parameter value

  Fields:
    lifespanCount: Optional. The number of conversational query requests after
      which the context expires. The default is `0`. If set to `0`, the
      context expires immediately. Contexts expire automatically after 20
      minutes if there are no matching queries.
    name: Required. The unique identifier of the context. Format:
      `projects//agent/sessions//contexts/`, or
      `projects//agent/environments//users//sessions//contexts/`. The `Context
      ID` is always converted to lowercase, may only contain characters in
      a-zA-Z0-9_-% and may be at most 250 bytes long. If `Environment ID` is
      not specified, we assume default 'draft' environment. If `User ID` is
      not specified, we assume default '-' user. The following context names
      are reserved for internal use by Dialogflow. You should not use these
      contexts or create contexts with these names: * `__system_counters__` *
      `*_id_dialog_context` * `*_dialog_params_size`
    parameters: Optional. The collection of parameters associated with this
      context. Depending on your protocol or client library language, this is
      a map, associative array, symbol table, dictionary, or JSON object
      composed of a collection of (MapKey, MapValue) pairs: - MapKey type:
      string - MapKey value: parameter name - MapValue type: - If parameter's
      entity type is a composite entity: map - Else: depending on parameter
      value type, could be one of string, number, boolean, null, list or map -
      MapValue value: - If parameter's entity type is a composite entity: map
      from composite entity property names to property values - Else:
      parameter value
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Optional. The collection of parameters associated with this context.
    Depending on your protocol or client library language, this is a map,
    associative array, symbol table, dictionary, or JSON object composed of a
    collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
    value: parameter name - MapValue type: - If parameter's entity type is a
    composite entity: map - Else: depending on parameter value type, could be
    one of string, number, boolean, null, list or map - MapValue value: - If
    parameter's entity type is a composite entity: map from composite entity
    property names to property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  lifespanCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  name = _messages.StringField(2)
  parameters = _messages.MessageField('ParametersValue', 3)


class GoogleCloudDialogflowV2Conversation(_messages.Message):
  r"""Represents a conversation. A conversation is an interaction between an
  agent, including live agents and Dialogflow agents, and a support customer.
  Conversations can include phone calls and text-based chat sessions.

  Enums:
    ConversationStageValueValuesEnum: The stage of a conversation. It
      indicates whether the virtual agent or a human agent is handling the
      conversation. If the conversation is created with the conversation
      profile that has Dialogflow config set, defaults to
      ConversationStage.VIRTUAL_AGENT_STAGE; Otherwise, defaults to
      ConversationStage.HUMAN_ASSIST_STAGE. If the conversation is created
      with the conversation profile that has Dialogflow config set but
      explicitly sets conversation_stage to
      ConversationStage.HUMAN_ASSIST_STAGE, it skips
      ConversationStage.VIRTUAL_AGENT_STAGE stage and directly goes to
      ConversationStage.HUMAN_ASSIST_STAGE.
    LifecycleStateValueValuesEnum: Output only. The current state of the
      Conversation.

  Fields:
    conversationProfile: Required. The Conversation Profile to be used to
      configure this Conversation. This field cannot be updated. Format:
      `projects//locations//conversationProfiles/`.
    conversationStage: The stage of a conversation. It indicates whether the
      virtual agent or a human agent is handling the conversation. If the
      conversation is created with the conversation profile that has
      Dialogflow config set, defaults to
      ConversationStage.VIRTUAL_AGENT_STAGE; Otherwise, defaults to
      ConversationStage.HUMAN_ASSIST_STAGE. If the conversation is created
      with the conversation profile that has Dialogflow config set but
      explicitly sets conversation_stage to
      ConversationStage.HUMAN_ASSIST_STAGE, it skips
      ConversationStage.VIRTUAL_AGENT_STAGE stage and directly goes to
      ConversationStage.HUMAN_ASSIST_STAGE.
    endTime: Output only. The time the conversation was finished.
    lifecycleState: Output only. The current state of the Conversation.
    name: Output only. The unique identifier of this conversation. Format:
      `projects//locations//conversations/`.
    phoneNumber: Output only. It will not be empty if the conversation is to
      be connected over telephony.
    startTime: Output only. The time the conversation was started.
  """

  class ConversationStageValueValuesEnum(_messages.Enum):
    r"""The stage of a conversation. It indicates whether the virtual agent or
    a human agent is handling the conversation. If the conversation is created
    with the conversation profile that has Dialogflow config set, defaults to
    ConversationStage.VIRTUAL_AGENT_STAGE; Otherwise, defaults to
    ConversationStage.HUMAN_ASSIST_STAGE. If the conversation is created with
    the conversation profile that has Dialogflow config set but explicitly
    sets conversation_stage to ConversationStage.HUMAN_ASSIST_STAGE, it skips
    ConversationStage.VIRTUAL_AGENT_STAGE stage and directly goes to
    ConversationStage.HUMAN_ASSIST_STAGE.

    Values:
      CONVERSATION_STAGE_UNSPECIFIED: Unknown. Should never be used after a
        conversation is successfully created.
      VIRTUAL_AGENT_STAGE: The conversation should return virtual agent
        responses into the conversation.
      HUMAN_ASSIST_STAGE: The conversation should not provide responses, just
        listen and provide suggestions.
    """
    CONVERSATION_STAGE_UNSPECIFIED = 0
    VIRTUAL_AGENT_STAGE = 1
    HUMAN_ASSIST_STAGE = 2

  class LifecycleStateValueValuesEnum(_messages.Enum):
    r"""Output only. The current state of the Conversation.

    Values:
      LIFECYCLE_STATE_UNSPECIFIED: Unknown.
      IN_PROGRESS: Conversation is currently open for media analysis.
      COMPLETED: Conversation has been completed.
    """
    LIFECYCLE_STATE_UNSPECIFIED = 0
    IN_PROGRESS = 1
    COMPLETED = 2

  conversationProfile = _messages.StringField(1)
  conversationStage = _messages.EnumField('ConversationStageValueValuesEnum', 2)
  endTime = _messages.StringField(3)
  lifecycleState = _messages.EnumField('LifecycleStateValueValuesEnum', 4)
  name = _messages.StringField(5)
  phoneNumber = _messages.MessageField('GoogleCloudDialogflowV2ConversationPhoneNumber', 6)
  startTime = _messages.StringField(7)


class GoogleCloudDialogflowV2ConversationEvent(_messages.Message):
  r"""Represents a notification sent to Pub/Sub subscribers for conversation
  lifecycle events.

  Enums:
    TypeValueValuesEnum: The type of the event that this notification refers
      to.

  Fields:
    conversation: The unique identifier of the conversation this notification
      refers to. Format: `projects//conversations/`.
    errorStatus: More detailed information about an error. Only set for type
      UNRECOVERABLE_ERROR_IN_PHONE_CALL.
    newMessagePayload: Payload of NEW_MESSAGE event.
    type: The type of the event that this notification refers to.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""The type of the event that this notification refers to.

    Values:
      TYPE_UNSPECIFIED: Type not set.
      CONVERSATION_STARTED: A new conversation has been opened. This is fired
        when a telephone call is answered, or a conversation is created via
        the API.
      CONVERSATION_FINISHED: An existing conversation has closed. This is
        fired when a telephone call is terminated, or a conversation is closed
        via the API.
      HUMAN_INTERVENTION_NEEDED: An existing conversation has received
        notification from Dialogflow that human intervention is required.
      NEW_MESSAGE: An existing conversation has received a new message, either
        from API or telephony. It is configured in
        ConversationProfile.new_message_event_notification_config
      UNRECOVERABLE_ERROR: Unrecoverable error during a telephone call. In
        general non-recoverable errors only occur if something was
        misconfigured in the ConversationProfile corresponding to the call.
        After a non-recoverable error, Dialogflow may stop responding. We
        don't fire this event: * in an API call because we can directly return
        the error, or, * when we can recover from an error.
    """
    TYPE_UNSPECIFIED = 0
    CONVERSATION_STARTED = 1
    CONVERSATION_FINISHED = 2
    HUMAN_INTERVENTION_NEEDED = 3
    NEW_MESSAGE = 4
    UNRECOVERABLE_ERROR = 5

  conversation = _messages.StringField(1)
  errorStatus = _messages.MessageField('GoogleRpcStatus', 2)
  newMessagePayload = _messages.MessageField('GoogleCloudDialogflowV2Message', 3)
  type = _messages.EnumField('TypeValueValuesEnum', 4)


class GoogleCloudDialogflowV2ConversationPhoneNumber(_messages.Message):
  r"""Represents a phone number for telephony integration. It allows for
  connecting a particular conversation over telephony.

  Fields:
    phoneNumber: Output only. The phone number to connect to this
      conversation.
  """

  phoneNumber = _messages.StringField(1)


class GoogleCloudDialogflowV2ConversationProfile(_messages.Message):
  r"""Defines the services to connect to incoming Dialogflow conversations.

  Fields:
    automatedAgentConfig: Configuration for an automated agent to use with
      this profile.
    createTime: Output only. Create time of the conversation profile.
    displayName: Required. Human readable name for this profile. Max length
      1024 bytes.
    humanAgentAssistantConfig: Configuration for agent assistance to use with
      this profile.
    humanAgentHandoffConfig: Configuration for connecting to a live agent.
      Currently, this feature is not general available, please contact Google
      to get access.
    languageCode: Language which represents the conversationProfile. If
      unspecified, the default language code en-us applies. Users need to
      create a ConversationProfile for each language they want to support.
    loggingConfig: Configuration for logging conversation lifecycle events.
    name: The unique identifier of this conversation profile. Format:
      `projects//locations//conversationProfiles/`.
    newMessageEventNotificationConfig: Configuration for publishing new
      message events. Event will be sent in format of ConversationEvent
    notificationConfig: Configuration for publishing conversation lifecycle
      events.
    sttConfig: Settings for speech transcription.
    updateTime: Output only. Update time of the conversation profile.
  """

  automatedAgentConfig = _messages.MessageField('GoogleCloudDialogflowV2AutomatedAgentConfig', 1)
  createTime = _messages.StringField(2)
  displayName = _messages.StringField(3)
  humanAgentAssistantConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfig', 4)
  humanAgentHandoffConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentHandoffConfig', 5)
  languageCode = _messages.StringField(6)
  loggingConfig = _messages.MessageField('GoogleCloudDialogflowV2LoggingConfig', 7)
  name = _messages.StringField(8)
  newMessageEventNotificationConfig = _messages.MessageField('GoogleCloudDialogflowV2NotificationConfig', 9)
  notificationConfig = _messages.MessageField('GoogleCloudDialogflowV2NotificationConfig', 10)
  sttConfig = _messages.MessageField('GoogleCloudDialogflowV2SpeechToTextConfig', 11)
  updateTime = _messages.StringField(12)


class GoogleCloudDialogflowV2DetectIntentRequest(_messages.Message):
  r"""The request to detect user's intent.

  Fields:
    inputAudio: The natural language speech audio to be processed. This field
      should be populated iff `query_input` is set to an input audio config. A
      single request can contain up to 1 minute of speech audio data.
    outputAudioConfig: Instructs the speech synthesizer how to generate the
      output audio. If this field is not set and agent-level speech
      synthesizer is not configured, no output audio is generated.
    outputAudioConfigMask: Mask for output_audio_config indicating which
      settings in this request-level config should override speech synthesizer
      settings defined at agent-level. If unspecified or empty,
      output_audio_config replaces the agent-level config in its entirety.
    queryInput: Required. The input specification. It can be set to: 1. an
      audio config which instructs the speech recognizer how to process the
      speech audio, 2. a conversational query in the form of text, or 3. an
      event that specifies which intent to trigger.
    queryParams: The parameters of this query.
  """

  inputAudio = _messages.BytesField(1)
  outputAudioConfig = _messages.MessageField('GoogleCloudDialogflowV2OutputAudioConfig', 2)
  outputAudioConfigMask = _messages.StringField(3)
  queryInput = _messages.MessageField('GoogleCloudDialogflowV2QueryInput', 4)
  queryParams = _messages.MessageField('GoogleCloudDialogflowV2QueryParameters', 5)


class GoogleCloudDialogflowV2DetectIntentResponse(_messages.Message):
  r"""The message returned from the DetectIntent method.

  Fields:
    outputAudio: The audio data bytes encoded as specified in the request.
      Note: The output audio is generated based on the values of default
      platform text responses found in the `query_result.fulfillment_messages`
      field. If multiple default text responses exist, they will be
      concatenated when generating audio. If no default platform text
      responses exist, the generated audio content will be empty. In some
      scenarios, multiple output audio fields may be present in the response
      structure. In these cases, only the top-most-level audio output has
      content.
    outputAudioConfig: The config used by the speech synthesizer to generate
      the output audio.
    queryResult: The selected results of the conversational query or event
      processing. See `alternative_query_results` for additional potential
      results.
    responseId: The unique identifier of the response. It can be used to
      locate a response in the training example set or for reporting issues.
    webhookStatus: Specifies the status of the webhook request.
  """

  outputAudio = _messages.BytesField(1)
  outputAudioConfig = _messages.MessageField('GoogleCloudDialogflowV2OutputAudioConfig', 2)
  queryResult = _messages.MessageField('GoogleCloudDialogflowV2QueryResult', 3)
  responseId = _messages.StringField(4)
  webhookStatus = _messages.MessageField('GoogleRpcStatus', 5)


class GoogleCloudDialogflowV2Document(_messages.Message):
  r"""A knowledge document to be used by a KnowledgeBase. For more
  information, see the [knowledge base
  guide](https://cloud.google.com/dialogflow/docs/how/knowledge-bases). Note:
  The `projects.agent.knowledgeBases.documents` resource is deprecated; only
  use `projects.knowledgeBases.documents`.

  Enums:
    KnowledgeTypesValueListEntryValuesEnum:

  Messages:
    MetadataValue: Optional. Metadata for the document. The metadata supports
      arbitrary key-value pairs. Suggested use cases include storing a
      document's title, an external URL distinct from the document's
      content_uri, etc. The max size of a `key` or a `value` of the metadata
      is 1024 bytes.

  Fields:
    contentUri: The URI where the file content is located. For documents
      stored in Google Cloud Storage, these URIs must have the form `gs:///`.
      NOTE: External URLs must correspond to public webpages, i.e., they must
      be indexed by Google Search. In particular, URLs for showing documents
      in Google Cloud Storage (i.e. the URL in your browser) are not
      supported. Instead use the `gs://` format URI described above.
    displayName: Required. The display name of the document. The name must be
      1024 bytes or less; otherwise, the creation request fails.
    enableAutoReload: Optional. If true, we try to automatically reload the
      document every day (at a time picked by the system). If false or
      unspecified, we don't try to automatically reload the document.
      Currently you can only enable automatic reload for documents sourced
      from a public url, see `source` field for the source types. Reload
      status can be tracked in `latest_reload_status`. If a reload fails, we
      will keep the document unchanged. If a reload fails with internal
      errors, the system will try to reload the document on the next day. If a
      reload fails with non-retriable errors (e.g. PERMISION_DENIED), the
      system will not try to reload the document anymore. You need to manually
      reload the document successfully by calling `ReloadDocument` and clear
      the errors.
    knowledgeTypes: Required. The knowledge type of document content.
    latestReloadStatus: Output only. The time and status of the latest reload.
      This reload may have been triggered automatically or manually and may
      not have succeeded.
    metadata: Optional. Metadata for the document. The metadata supports
      arbitrary key-value pairs. Suggested use cases include storing a
      document's title, an external URL distinct from the document's
      content_uri, etc. The max size of a `key` or a `value` of the metadata
      is 1024 bytes.
    mimeType: Required. The MIME type of this document.
    name: Optional. The document resource name. The name must be empty when
      creating a document. Format:
      `projects//locations//knowledgeBases//documents/`.
    rawContent: The raw content of the document. This field is only permitted
      for EXTRACTIVE_QA and FAQ knowledge types.
  """

  class KnowledgeTypesValueListEntryValuesEnum(_messages.Enum):
    r"""KnowledgeTypesValueListEntryValuesEnum enum type.

    Values:
      KNOWLEDGE_TYPE_UNSPECIFIED: The type is unspecified or arbitrary.
      FAQ: The document content contains question and answer pairs as either
        HTML or CSV. Typical FAQ HTML formats are parsed accurately, but
        unusual formats may fail to be parsed. CSV must have questions in the
        first column and answers in the second, with no header. Because of
        this explicit format, they are always parsed accurately.
      EXTRACTIVE_QA: Documents for which unstructured text is extracted and
        used for question answering.
      ARTICLE_SUGGESTION: The entire document content as a whole can be used
        for query results. Only for Contact Center Solutions on Dialogflow.
    """
    KNOWLEDGE_TYPE_UNSPECIFIED = 0
    FAQ = 1
    EXTRACTIVE_QA = 2
    ARTICLE_SUGGESTION = 3

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Optional. Metadata for the document. The metadata supports arbitrary
    key-value pairs. Suggested use cases include storing a document's title,
    an external URL distinct from the document's content_uri, etc. The max
    size of a `key` or a `value` of the metadata is 1024 bytes.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  contentUri = _messages.StringField(1)
  displayName = _messages.StringField(2)
  enableAutoReload = _messages.BooleanField(3)
  knowledgeTypes = _messages.EnumField('KnowledgeTypesValueListEntryValuesEnum', 4, repeated=True)
  latestReloadStatus = _messages.MessageField('GoogleCloudDialogflowV2DocumentReloadStatus', 5)
  metadata = _messages.MessageField('MetadataValue', 6)
  mimeType = _messages.StringField(7)
  name = _messages.StringField(8)
  rawContent = _messages.BytesField(9)


class GoogleCloudDialogflowV2DocumentReloadStatus(_messages.Message):
  r"""The status of a reload attempt.

  Fields:
    status: The status of a reload attempt or the initial load.
    time: The time of a reload attempt. This reload may have been triggered
      automatically or manually and may not have succeeded.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  time = _messages.StringField(2)


class GoogleCloudDialogflowV2DtmfParameters(_messages.Message):
  r"""The message in the response that indicates the parameters of DTMF.

  Fields:
    acceptsDtmfInput: Indicates whether DTMF input can be handled in the next
      request.
  """

  acceptsDtmfInput = _messages.BooleanField(1)


class GoogleCloudDialogflowV2EntityType(_messages.Message):
  r"""Each intent parameter has a type, called the entity type, which dictates
  exactly how data from an end-user expression is extracted. Dialogflow
  provides predefined system entities that can match many common types of
  data. For example, there are system entities for matching dates, times,
  colors, email addresses, and so on. You can also create your own custom
  entities for matching custom data. For example, you could define a vegetable
  entity that can match the types of vegetables available for purchase with a
  grocery store agent. For more information, see the [Entity
  guide](https://cloud.google.com/dialogflow/docs/entities-overview).

  Enums:
    AutoExpansionModeValueValuesEnum: Optional. Indicates whether the entity
      type can be automatically expanded.
    KindValueValuesEnum: Required. Indicates the kind of entity type.

  Fields:
    autoExpansionMode: Optional. Indicates whether the entity type can be
      automatically expanded.
    displayName: Required. The name of the entity type.
    enableFuzzyExtraction: Optional. Enables fuzzy entity extraction during
      classification.
    entities: Optional. The collection of entity entries associated with the
      entity type.
    kind: Required. Indicates the kind of entity type.
    name: The unique identifier of the entity type. Required for
      EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
      methods. Format: `projects//agent/entityTypes/`.
  """

  class AutoExpansionModeValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates whether the entity type can be automatically
    expanded.

    Values:
      AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
      AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that
        have not been explicitly listed in the entity.
    """
    AUTO_EXPANSION_MODE_UNSPECIFIED = 0
    AUTO_EXPANSION_MODE_DEFAULT = 1

  class KindValueValuesEnum(_messages.Enum):
    r"""Required. Indicates the kind of entity type.

    Values:
      KIND_UNSPECIFIED: Not specified. This value should be never used.
      KIND_MAP: Map entity types allow mapping of a group of synonyms to a
        reference value.
      KIND_LIST: List entity types contain a set of entries that do not map to
        reference values. However, list entity types can contain references to
        other entity types (with or without aliases).
      KIND_REGEXP: Regexp entity types allow to specify regular expressions in
        entries values.
    """
    KIND_UNSPECIFIED = 0
    KIND_MAP = 1
    KIND_LIST = 2
    KIND_REGEXP = 3

  autoExpansionMode = _messages.EnumField('AutoExpansionModeValueValuesEnum', 1)
  displayName = _messages.StringField(2)
  enableFuzzyExtraction = _messages.BooleanField(3)
  entities = _messages.MessageField('GoogleCloudDialogflowV2EntityTypeEntity', 4, repeated=True)
  kind = _messages.EnumField('KindValueValuesEnum', 5)
  name = _messages.StringField(6)


class GoogleCloudDialogflowV2EntityTypeBatch(_messages.Message):
  r"""This message is a wrapper around a collection of entity types.

  Fields:
    entityTypes: A collection of entity types.
  """

  entityTypes = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1, repeated=True)


class GoogleCloudDialogflowV2EntityTypeEntity(_messages.Message):
  r"""An **entity entry** for an associated entity type.

  Fields:
    synonyms: Required. A collection of value synonyms. For example, if the
      entity type is *vegetable*, and `value` is *scallions*, a synonym could
      be *green onions*. For `KIND_LIST` entity types: * This collection must
      contain exactly one synonym equal to `value`.
    value: Required. The primary value associated with this entity entry. For
      example, if the entity type is *vegetable*, the value could be
      *scallions*. For `KIND_MAP` entity types: * A reference value to be used
      in place of synonyms. For `KIND_LIST` entity types: * A string that can
      contain references to other entity types (with or without aliases).
  """

  synonyms = _messages.StringField(1, repeated=True)
  value = _messages.StringField(2)


class GoogleCloudDialogflowV2Environment(_messages.Message):
  r"""You can create multiple versions of your agent and publish them to
  separate environments. When you edit an agent, you are editing the draft
  agent. At any point, you can save the draft agent as an agent version, which
  is an immutable snapshot of your agent. When you save the draft agent, it is
  published to the default environment. When you create agent versions, you
  can publish them to custom environments. You can create a variety of custom
  environments for: - testing - development - production - etc. For more
  information, see the [versions and environments
  guide](https://cloud.google.com/dialogflow/docs/agents-versions).

  Enums:
    StateValueValuesEnum: Output only. The state of this environment. This
      field is read-only, i.e., it cannot be set by create and update methods.

  Fields:
    agentVersion: Optional. The agent version loaded into this environment.
      Supported formats: - `projects//agent/versions/` -
      `projects//locations//agent/versions/`
    description: Optional. The developer-provided description for this
      environment. The maximum length is 500 characters. If exceeded, the
      request is rejected.
    fulfillment: Optional. The fulfillment settings to use for this
      environment.
    name: Output only. The unique identifier of this agent environment.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
    state: Output only. The state of this environment. This field is read-
      only, i.e., it cannot be set by create and update methods.
    textToSpeechSettings: Optional. Text to speech settings for this
      environment.
    updateTime: Output only. The last update time of this environment. This
      field is read-only, i.e., it cannot be set by create and update methods.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of this environment. This field is read-only,
    i.e., it cannot be set by create and update methods.

    Values:
      STATE_UNSPECIFIED: Not specified. This value is not used.
      STOPPED: Stopped.
      LOADING: Loading.
      RUNNING: Running.
    """
    STATE_UNSPECIFIED = 0
    STOPPED = 1
    LOADING = 2
    RUNNING = 3

  agentVersion = _messages.StringField(1)
  description = _messages.StringField(2)
  fulfillment = _messages.MessageField('GoogleCloudDialogflowV2Fulfillment', 3)
  name = _messages.StringField(4)
  state = _messages.EnumField('StateValueValuesEnum', 5)
  textToSpeechSettings = _messages.MessageField('GoogleCloudDialogflowV2TextToSpeechSettings', 6)
  updateTime = _messages.StringField(7)


class GoogleCloudDialogflowV2EnvironmentHistory(_messages.Message):
  r"""The response message for Environments.GetEnvironmentHistory.

  Fields:
    entries: Output only. The list of agent environments. There will be a
      maximum number of items returned based on the page_size field in the
      request.
    nextPageToken: Output only. Token to retrieve the next page of results, or
      empty if there are no more results in the list.
    parent: Output only. The name of the environment this history is for.
      Supported formats: - `projects//agent/environments/` -
      `projects//locations//agent/environments/` The environment ID for the
      default environment is `-`.
  """

  entries = _messages.MessageField('GoogleCloudDialogflowV2EnvironmentHistoryEntry', 1, repeated=True)
  nextPageToken = _messages.StringField(2)
  parent = _messages.StringField(3)


class GoogleCloudDialogflowV2EnvironmentHistoryEntry(_messages.Message):
  r"""Represents an environment history entry.

  Fields:
    agentVersion: The agent version loaded into this environment history
      entry.
    createTime: The creation time of this environment history entry.
    description: The developer-provided description for this environment
      history entry.
  """

  agentVersion = _messages.StringField(1)
  createTime = _messages.StringField(2)
  description = _messages.StringField(3)


class GoogleCloudDialogflowV2EventInput(_messages.Message):
  r"""Events allow for matching intents by event name instead of the natural
  language input. For instance, input `` can trigger a personalized welcome
  response. The parameter `name` may be used by the agent in the response:
  `"Hello #welcome_event.name! What can I do for you today?"`.

  Messages:
    ParametersValue: The collection of parameters associated with the event.
      Depending on your protocol or client library language, this is a map,
      associative array, symbol table, dictionary, or JSON object composed of
      a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
      value: parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value

  Fields:
    languageCode: Required. The language of this query. See [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    name: Required. The unique identifier of the event.
    parameters: The collection of parameters associated with the event.
      Depending on your protocol or client library language, this is a map,
      associative array, symbol table, dictionary, or JSON object composed of
      a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
      value: parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""The collection of parameters associated with the event. Depending on
    your protocol or client library language, this is a map, associative
    array, symbol table, dictionary, or JSON object composed of a collection
    of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
    parameter name - MapValue type: - If parameter's entity type is a
    composite entity: map - Else: depending on parameter value type, could be
    one of string, number, boolean, null, list or map - MapValue value: - If
    parameter's entity type is a composite entity: map from composite entity
    property names to property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  languageCode = _messages.StringField(1)
  name = _messages.StringField(2)
  parameters = _messages.MessageField('ParametersValue', 3)


class GoogleCloudDialogflowV2ExportAgentRequest(_messages.Message):
  r"""The request message for Agents.ExportAgent.

  Fields:
    agentUri: Required. The [Google Cloud
      Storage](https://cloud.google.com/storage/docs/) URI to export the agent
      to. The format of this URI must be `gs:///`. If left unspecified, the
      serialized agent is returned inline.
  """

  agentUri = _messages.StringField(1)


class GoogleCloudDialogflowV2ExportAgentResponse(_messages.Message):
  r"""The response message for Agents.ExportAgent.

  Fields:
    agentContent: Zip compressed raw byte content for agent.
    agentUri: The URI to a file containing the exported agent. This field is
      populated only if `agent_uri` is specified in `ExportAgentRequest`.
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowV2FaqAnswer(_messages.Message):
  r"""Represents answer from "frequently asked questions".

  Messages:
    MetadataValue: A map that contains metadata about the answer and the
      document from which it originates.

  Fields:
    answer: The piece of text from the `source` knowledge base document.
    answerRecord: The name of answer record, in the format of
      "projects//locations//answerRecords/"
    confidence: The system's confidence score that this Knowledge answer is a
      good match for this conversational query, range from 0.0 (completely
      uncertain) to 1.0 (completely certain).
    metadata: A map that contains metadata about the answer and the document
      from which it originates.
    question: The corresponding FAQ question.
    source: Indicates which Knowledge Document this answer was extracted from.
      Format: `projects//locations//agent/knowledgeBases//documents/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""A map that contains metadata about the answer and the document from
    which it originates.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  answer = _messages.StringField(1)
  answerRecord = _messages.StringField(2)
  confidence = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  metadata = _messages.MessageField('MetadataValue', 4)
  question = _messages.StringField(5)
  source = _messages.StringField(6)


class GoogleCloudDialogflowV2Fulfillment(_messages.Message):
  r"""By default, your agent responds to a matched intent with a static
  response. As an alternative, you can provide a more dynamic response by
  using fulfillment. When you enable fulfillment for an intent, Dialogflow
  responds to that intent by calling a service that you define. For example,
  if an end-user wants to schedule a haircut on Friday, your service can check
  your database and respond to the end-user with availability information for
  Friday. For more information, see the [fulfillment
  guide](https://cloud.google.com/dialogflow/docs/fulfillment-overview).

  Fields:
    displayName: Optional. The human-readable name of the fulfillment, unique
      within the agent. This field is not used for Fulfillment in an
      Environment.
    enabled: Optional. Whether fulfillment is enabled.
    features: Optional. The field defines whether the fulfillment is enabled
      for certain features.
    genericWebService: Configuration for a generic web service.
    name: Required. The unique identifier of the fulfillment. Supported
      formats: - `projects//agent/fulfillment` -
      `projects//locations//agent/fulfillment` This field is not used for
      Fulfillment in an Environment.
  """

  displayName = _messages.StringField(1)
  enabled = _messages.BooleanField(2)
  features = _messages.MessageField('GoogleCloudDialogflowV2FulfillmentFeature', 3, repeated=True)
  genericWebService = _messages.MessageField('GoogleCloudDialogflowV2FulfillmentGenericWebService', 4)
  name = _messages.StringField(5)


class GoogleCloudDialogflowV2FulfillmentFeature(_messages.Message):
  r"""Whether fulfillment is enabled for the specific feature.

  Enums:
    TypeValueValuesEnum: The type of the feature that enabled for fulfillment.

  Fields:
    type: The type of the feature that enabled for fulfillment.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""The type of the feature that enabled for fulfillment.

    Values:
      TYPE_UNSPECIFIED: Feature type not specified.
      SMALLTALK: Fulfillment is enabled for SmallTalk.
    """
    TYPE_UNSPECIFIED = 0
    SMALLTALK = 1

  type = _messages.EnumField('TypeValueValuesEnum', 1)


class GoogleCloudDialogflowV2FulfillmentGenericWebService(_messages.Message):
  r"""Represents configuration for a generic web service. Dialogflow supports
  two mechanisms for authentications: - Basic authentication with username and
  password. - Authentication with additional authentication headers. More
  information could be found at:
  https://cloud.google.com/dialogflow/docs/fulfillment-configure.

  Messages:
    RequestHeadersValue: Optional. The HTTP request headers to send together
      with fulfillment requests.

  Fields:
    isCloudFunction: Optional. Indicates if generic web service is created
      through Cloud Functions integration. Defaults to false.
      is_cloud_function is deprecated. Cloud functions can be configured by
      its uri as a regular web service now.
    password: Optional. The password for HTTP Basic authentication.
    requestHeaders: Optional. The HTTP request headers to send together with
      fulfillment requests.
    uri: Required. The fulfillment URI for receiving POST requests. It must
      use https protocol.
    username: Optional. The user name for HTTP Basic authentication.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class RequestHeadersValue(_messages.Message):
    r"""Optional. The HTTP request headers to send together with fulfillment
    requests.

    Messages:
      AdditionalProperty: An additional property for a RequestHeadersValue
        object.

    Fields:
      additionalProperties: Additional properties of type RequestHeadersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a RequestHeadersValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  isCloudFunction = _messages.BooleanField(1)
  password = _messages.StringField(2)
  requestHeaders = _messages.MessageField('RequestHeadersValue', 3)
  uri = _messages.StringField(4)
  username = _messages.StringField(5)


class GoogleCloudDialogflowV2HumanAgentAssistantConfig(_messages.Message):
  r"""Defines the Human Agent Assist to connect to a conversation.

  Fields:
    endUserSuggestionConfig: Configuration for agent assistance of end user
      participant. Currently, this feature is not general available, please
      contact Google to get access.
    humanAgentSuggestionConfig: Configuration for agent assistance of human
      agent participant.
    messageAnalysisConfig: Configuration for message analysis.
    notificationConfig: Pub/Sub topic on which to publish new agent assistant
      events.
  """

  endUserSuggestionConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig', 1)
  humanAgentSuggestionConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig', 2)
  messageAnalysisConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigMessageAnalysisConfig', 3)
  notificationConfig = _messages.MessageField('GoogleCloudDialogflowV2NotificationConfig', 4)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationModelConfig(_messages.Message):
  r"""Custom conversation models used in agent assist feature. Supported
  feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY.

  Fields:
    model: Conversation model resource name. Format:
      `projects//conversationModels/`.
  """

  model = _messages.StringField(1)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigMessageAnalysisConfig(_messages.Message):
  r"""Configuration for analyses to run on each conversation message.

  Fields:
    enableEntityExtraction: Enable entity extraction in conversation messages
      on [agent assist
      stage](https://cloud.google.com/dialogflow/priv/docs/contact-
      center/basics#stages). If unspecified, defaults to false. Currently,
      this feature is not general available, please contact Google to get
      access.
    enableSentimentAnalysis: Enable sentiment analysis in conversation
      messages on [agent assist
      stage](https://cloud.google.com/dialogflow/priv/docs/contact-
      center/basics#stages). If unspecified, defaults to false. Sentiment
      analysis inspects user input and identifies the prevailing subjective
      opinion, especially to determine a user's attitude as positive,
      negative, or neutral: https://cloud.google.com/natural-
      language/docs/basics#sentiment_analysis For
      Participants.StreamingAnalyzeContent method, result will be in
      StreamingAnalyzeContentResponse.message.SentimentAnalysisResult. For
      Participants.AnalyzeContent method, result will be in
      AnalyzeContentResponse.message.SentimentAnalysisResult For
      Conversations.ListMessages method, result will be in
      ListMessagesResponse.messages.SentimentAnalysisResult If Pub/Sub
      notification is configured, result will be in
      ConversationEvent.new_message_payload.SentimentAnalysisResult.
  """

  enableEntityExtraction = _messages.BooleanField(1)
  enableSentimentAnalysis = _messages.BooleanField(2)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionConfig(_messages.Message):
  r"""Detail human agent assistant config.

  Fields:
    featureConfigs: Configuration of different suggestion features. One
      feature can have only one config.
    groupSuggestionResponses: If `group_suggestion_responses` is false, and
      there are multiple `feature_configs` in `event based suggestion` or
      StreamingAnalyzeContent, we will try to deliver suggestions to customers
      as soon as we get new suggestion. Different type of suggestions based on
      the same context will be in separate Pub/Sub event or
      `StreamingAnalyzeContentResponse`. If `group_suggestion_responses` set
      to true. All the suggestions to the same participant based on the same
      context will be grouped into a single Pub/Sub event or
      StreamingAnalyzeContentResponse.
  """

  featureConfigs = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig', 1, repeated=True)
  groupSuggestionResponses = _messages.BooleanField(2)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig(_messages.Message):
  r"""Config for suggestion features.

  Fields:
    conversationModelConfig: Configs of custom conversation model.
    enableEventBasedSuggestion: Automatically iterates all participants and
      tries to compile suggestions. Supported features: ARTICLE_SUGGESTION,
      FAQ, DIALOGFLOW_ASSIST.
    queryConfig: Configs of query.
    suggestionFeature: The suggestion feature.
    suggestionTriggerSettings: Settings of suggestion trigger. Currently, only
      ARTICLE_SUGGESTION and FAQ will use this field.
  """

  conversationModelConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationModelConfig', 1)
  enableEventBasedSuggestion = _messages.BooleanField(2)
  queryConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfig', 3)
  suggestionFeature = _messages.MessageField('GoogleCloudDialogflowV2SuggestionFeature', 4)
  suggestionTriggerSettings = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionTriggerSettings', 5)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfig(_messages.Message):
  r"""Config for suggestion query.

  Fields:
    confidenceThreshold: Confidence threshold of query result. Agent Assist
      gives each suggestion a score in the range [0.0, 1.0], based on the
      relevance between the suggestion and the current conversation context. A
      score of 0.0 has no relevance, while a score of 1.0 has high relevance.
      Only suggestions with a score greater than or equal to the value of this
      field are included in the results. For a baseline model (the default),
      the recommended value is in the range [0.05, 0.1]. For a custom model,
      there is no recommended value. Tune this value by starting from a very
      low value and slowly increasing until you have desired results. If this
      field is not set, it defaults to 0.0, which means that all suggestions
      are returned. Supported features: ARTICLE_SUGGESTION.
    contextFilterSettings: Determines how recent conversation context is
      filtered when generating suggestions. If unspecified, no messages will
      be dropped.
    dialogflowQuerySource: Query from Dialogflow agent. It is used by
      DIALOGFLOW_ASSIST.
    documentQuerySource: Query from knowledge base document. It is used by:
      SMART_REPLY, SMART_COMPOSE.
    knowledgeBaseQuerySource: Query from knowledgebase. It is used by:
      ARTICLE_SUGGESTION, FAQ.
    maxResults: Maximum number of results to return. Currently, if unset,
      defaults to 10. And the max number is 20.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  contextFilterSettings = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings', 2)
  dialogflowQuerySource = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource', 3)
  documentQuerySource = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource', 4)
  knowledgeBaseQuerySource = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource', 5)
  maxResults = _messages.IntegerField(6, variant=_messages.Variant.INT32)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings(_messages.Message):
  r"""Settings that determine how to filter recent conversation context when
  generating suggestions.

  Fields:
    dropHandoffMessages: If set to true, the last message from virtual agent
      (hand off message) and the message before it (trigger message of hand
      off) are dropped.
    dropIvrMessages: If set to true, all messages from ivr stage are dropped.
    dropVirtualAgentMessages: If set to true, all messages from virtual agent
      are dropped.
  """

  dropHandoffMessages = _messages.BooleanField(1)
  dropIvrMessages = _messages.BooleanField(2)
  dropVirtualAgentMessages = _messages.BooleanField(3)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource(_messages.Message):
  r"""Dialogflow source setting. Supported feature: DIALOGFLOW_ASSIST.

  Fields:
    agent: Required. The name of a Dialogflow virtual agent used for end user
      side intent detection and suggestion. Format:
      `projects//locations//agent`. When multiple agents are allowed in the
      same Dialogflow project.
  """

  agent = _messages.StringField(1)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDocumentQuerySource(_messages.Message):
  r"""Document source settings. Supported features: SMART_REPLY,
  SMART_COMPOSE.

  Fields:
    documents: Required. Knowledge documents to query from. Format:
      `projects//locations//knowledgeBases//documents/`. Currently, at most 5
      documents are supported.
  """

  documents = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigKnowledgeBaseQuerySource(_messages.Message):
  r"""Knowledge base source settings. Supported features: ARTICLE_SUGGESTION,
  FAQ.

  Fields:
    knowledgeBases: Required. Knowledge bases to query. Format:
      `projects//locations//knowledgeBases/`. Currently, at most 5 knowledge
      bases are supported.
  """

  knowledgeBases = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionTriggerSettings(_messages.Message):
  r"""Settings of suggestion trigger.

  Fields:
    noSmalltalk: Do not trigger if last utterance is small talk.
    onlyEndUser: Only trigger suggestion if participant role of last utterance
      is END_USER.
  """

  noSmalltalk = _messages.BooleanField(1)
  onlyEndUser = _messages.BooleanField(2)


class GoogleCloudDialogflowV2HumanAgentAssistantEvent(_messages.Message):
  r"""Represents a notification sent to Cloud Pub/Sub subscribers for human
  agent assistant events in a specific conversation.

  Fields:
    conversation: The conversation this notification refers to. Format:
      `projects//conversations/`.
    participant: The participant that the suggestion is compiled for. Format:
      `projects//conversations//participants/`. It will not be set in legacy
      workflow.
    suggestionResults: The suggestion results payload that this notification
      refers to.
  """

  conversation = _messages.StringField(1)
  participant = _messages.StringField(2)
  suggestionResults = _messages.MessageField('GoogleCloudDialogflowV2SuggestionResult', 3, repeated=True)


class GoogleCloudDialogflowV2HumanAgentHandoffConfig(_messages.Message):
  r"""Defines the hand off to a live agent, typically on which external agent
  service provider to connect to a conversation. Currently, this feature is
  not general available, please contact Google to get access.

  Fields:
    livePersonConfig: Uses LivePerson (https://www.liveperson.com).
    salesforceLiveAgentConfig: Uses Salesforce Live Agent.
  """

  livePersonConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentHandoffConfigLivePersonConfig', 1)
  salesforceLiveAgentConfig = _messages.MessageField('GoogleCloudDialogflowV2HumanAgentHandoffConfigSalesforceLiveAgentConfig', 2)


class GoogleCloudDialogflowV2HumanAgentHandoffConfigLivePersonConfig(_messages.Message):
  r"""Configuration specific to LivePerson (https://www.liveperson.com).

  Fields:
    accountNumber: Required. Account number of the LivePerson account to
      connect. This is the account number you input at the login page.
  """

  accountNumber = _messages.StringField(1)


class GoogleCloudDialogflowV2HumanAgentHandoffConfigSalesforceLiveAgentConfig(_messages.Message):
  r"""Configuration specific to Salesforce Live Agent.

  Fields:
    buttonId: Required. Live Agent chat button ID.
    deploymentId: Required. Live Agent deployment ID.
    endpointDomain: Required. Domain of the Live Agent endpoint for this
      agent. You can find the endpoint URL in the `Live Agent settings` page.
      For example if URL has the form
      https://d.la4-c2-phx.salesforceliveagent.com/..., you should fill in
      d.la4-c2-phx.salesforceliveagent.com.
    organizationId: Required. The organization ID of the Salesforce account.
  """

  buttonId = _messages.StringField(1)
  deploymentId = _messages.StringField(2)
  endpointDomain = _messages.StringField(3)
  organizationId = _messages.StringField(4)


class GoogleCloudDialogflowV2ImportAgentRequest(_messages.Message):
  r"""The request message for Agents.ImportAgent.

  Fields:
    agentContent: Zip compressed raw byte content for agent.
    agentUri: The URI to a Google Cloud Storage file containing the agent to
      import. Note: The URI must start with "gs://".
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowV2InputAudioConfig(_messages.Message):
  r"""Instructs the speech recognizer how to process the audio content.

  Enums:
    AudioEncodingValueValuesEnum: Required. Audio encoding of the audio
      content to process.
    ModelVariantValueValuesEnum: Which variant of the Speech model to use.

  Fields:
    audioEncoding: Required. Audio encoding of the audio content to process.
    disableNoSpeechRecognizedEvent: Only used in Participants.AnalyzeContent
      and Participants.StreamingAnalyzeContent. If `false` and recognition
      doesn't return any result, trigger `NO_SPEECH_RECOGNIZED` event to
      Dialogflow agent.
    enableWordInfo: If `true`, Dialogflow returns SpeechWordInfo in
      StreamingRecognitionResult with information about the recognized speech
      words, e.g. start and end time offsets. If false or unspecified, Speech
      doesn't return any word-level information.
    languageCode: Required. The language of the supplied audio. Dialogflow
      does not do translations. See [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    model: Which Speech model to select for the given request. Select the
      model best suited to your domain to get best results. If a model is not
      explicitly specified, then we auto-select a model based on the
      parameters in the InputAudioConfig. If enhanced speech model is enabled
      for the agent and an enhanced version of the specified model for the
      language does not exist, then the speech is recognized using the
      standard version of the specified model. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-
      text/docs/basics#select-model) for more details.
    modelVariant: Which variant of the Speech model to use.
    phraseHints: A list of strings containing words and phrases that the
      speech recognizer should recognize with higher likelihood. See [the
      Cloud Speech documentation](https://cloud.google.com/speech-to-
      text/docs/basics#phrase-hints) for more details. This field is
      deprecated. Please use [speech_contexts]() instead. If you specify both
      [phrase_hints]() and [speech_contexts](), Dialogflow will treat the
      [phrase_hints]() as a single additional [SpeechContext]().
    sampleRateHertz: Required. Sample rate (in Hertz) of the audio content
      sent in the query. Refer to [Cloud Speech API
      documentation](https://cloud.google.com/speech-to-text/docs/basics) for
      more details.
    singleUtterance: If `false` (default), recognition does not cease until
      the client closes the stream. If `true`, the recognizer will detect a
      single spoken utterance in input audio. Recognition ceases when it
      detects the audio's voice has stopped or paused. In this case, once a
      detected intent is received, the client should close the stream and
      start a new request with a new stream as needed. Note: This setting is
      relevant only for streaming methods. Note: When specified,
      InputAudioConfig.single_utterance takes precedence over
      StreamingDetectIntentRequest.single_utterance.
    speechContexts: Context information to assist speech recognition. See [the
      Cloud Speech documentation](https://cloud.google.com/speech-to-
      text/docs/basics#phrase-hints) for more details.
  """

  class AudioEncodingValueValuesEnum(_messages.Enum):
    r"""Required. Audio encoding of the audio content to process.

    Values:
      AUDIO_ENCODING_UNSPECIFIED: Not specified.
      AUDIO_ENCODING_LINEAR_16: Uncompressed 16-bit signed little-endian
        samples (Linear PCM).
      AUDIO_ENCODING_FLAC: [`FLAC`](https://xiph.org/flac/documentation.html)
        (Free Lossless Audio Codec) is the recommended encoding because it is
        lossless (therefore recognition is not compromised) and requires only
        about half the bandwidth of `LINEAR16`. `FLAC` stream encoding
        supports 16-bit and 24-bit samples, however, not all fields in
        `STREAMINFO` are supported.
      AUDIO_ENCODING_MULAW: 8-bit samples that compand 14-bit audio samples
        using G.711 PCMU/mu-law.
      AUDIO_ENCODING_AMR: Adaptive Multi-Rate Narrowband codec.
        `sample_rate_hertz` must be 8000.
      AUDIO_ENCODING_AMR_WB: Adaptive Multi-Rate Wideband codec.
        `sample_rate_hertz` must be 16000.
      AUDIO_ENCODING_OGG_OPUS: Opus encoded audio frames in Ogg container
        ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must
        be 16000.
      AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE: Although the use of lossy
        encodings is not recommended, if a very low bitrate encoding is
        required, `OGG_OPUS` is highly preferred over Speex encoding. The
        [Speex](https://speex.org/) encoding supported by Dialogflow API has a
        header byte in each block, as in MIME type `audio/x-speex-with-header-
        byte`. It is a variant of the RTP Speex encoding defined in [RFC
        5574](https://tools.ietf.org/html/rfc5574). The stream is a sequence
        of blocks, one block per RTP packet. Each block starts with a byte
        containing the length of the block, in bytes, followed by one or more
        frames of Speex data, padded to an integral number of bytes (octets)
        as specified in RFC 5574. In other words, each RTP header is replaced
        with a single byte containing the block length. Only Speex wideband is
        supported. `sample_rate_hertz` must be 16000.
    """
    AUDIO_ENCODING_UNSPECIFIED = 0
    AUDIO_ENCODING_LINEAR_16 = 1
    AUDIO_ENCODING_FLAC = 2
    AUDIO_ENCODING_MULAW = 3
    AUDIO_ENCODING_AMR = 4
    AUDIO_ENCODING_AMR_WB = 5
    AUDIO_ENCODING_OGG_OPUS = 6
    AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7

  class ModelVariantValueValuesEnum(_messages.Enum):
    r"""Which variant of the Speech model to use.

    Values:
      SPEECH_MODEL_VARIANT_UNSPECIFIED: No model variant specified. In this
        case Dialogflow defaults to USE_BEST_AVAILABLE.
      USE_BEST_AVAILABLE: Use the best available variant of the Speech model
        that the caller is eligible for. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible for enhanced models.
      USE_STANDARD: Use standard model variant even if an enhanced model is
        available. See the [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) for details about enhanced models.
      USE_ENHANCED: Use an enhanced model variant: * If an enhanced variant
        does not exist for the given model and request language, Dialogflow
        falls back to the standard variant. The [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) describes which models have enhanced variants. * If the API
        caller isn't eligible for enhanced models, Dialogflow returns an
        error. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible.
    """
    SPEECH_MODEL_VARIANT_UNSPECIFIED = 0
    USE_BEST_AVAILABLE = 1
    USE_STANDARD = 2
    USE_ENHANCED = 3

  audioEncoding = _messages.EnumField('AudioEncodingValueValuesEnum', 1)
  disableNoSpeechRecognizedEvent = _messages.BooleanField(2)
  enableWordInfo = _messages.BooleanField(3)
  languageCode = _messages.StringField(4)
  model = _messages.StringField(5)
  modelVariant = _messages.EnumField('ModelVariantValueValuesEnum', 6)
  phraseHints = _messages.StringField(7, repeated=True)
  sampleRateHertz = _messages.IntegerField(8, variant=_messages.Variant.INT32)
  singleUtterance = _messages.BooleanField(9)
  speechContexts = _messages.MessageField('GoogleCloudDialogflowV2SpeechContext', 10, repeated=True)


class GoogleCloudDialogflowV2Intent(_messages.Message):
  r"""An intent categorizes an end-user's intention for one conversation turn.
  For each agent, you define many intents, where your combined intents can
  handle a complete conversation. When an end-user writes or says something,
  referred to as an end-user expression or end-user input, Dialogflow matches
  the end-user input to the best intent in your agent. Matching an intent is
  also known as intent classification. For more information, see the [intent
  guide](https://cloud.google.com/dialogflow/docs/intents-overview).

  Enums:
    DefaultResponsePlatformsValueListEntryValuesEnum:
    WebhookStateValueValuesEnum: Optional. Indicates whether webhooks are
      enabled for the intent.

  Fields:
    action: Optional. The name of the action associated with the intent. Note:
      The action name must not contain whitespaces.
    defaultResponsePlatforms: Optional. The list of platforms for which the
      first responses will be copied from the messages in PLATFORM_UNSPECIFIED
      (i.e. default platform).
    displayName: Required. The name of this intent.
    endInteraction: Optional. Indicates that this intent ends an interaction.
      Some integrations (e.g., Actions on Google or Dialogflow phone gateway)
      use this information to close interaction with an end user. Default is
      false.
    events: Optional. The collection of event names that trigger the intent.
      If the collection of input contexts is not empty, all of the contexts
      must be present in the active user session for an event to trigger this
      intent. Event names are limited to 150 characters.
    followupIntentInfo: Output only. Read-only. Information about all followup
      intents that have this intent as a direct or indirect parent. We
      populate this field only in the output.
    inputContextNames: Optional. The list of context names required for this
      intent to be triggered. Format: `projects//agent/sessions/-/contexts/`.
    isFallback: Optional. Indicates whether this is a fallback intent.
    liveAgentHandoff: Optional. Indicates that a live agent should be brought
      in to handle the interaction with the user. In most cases, when you set
      this flag to true, you would also want to set end_interaction to true as
      well. Default is false.
    messages: Optional. The collection of rich messages corresponding to the
      `Response` field in the Dialogflow console.
    mlDisabled: Optional. Indicates whether Machine Learning is disabled for
      the intent. Note: If `ml_disabled` setting is set to true, then this
      intent is not taken into account during inference in `ML ONLY` match
      mode. Also, auto-markup in the UI is turned off.
    name: Optional. The unique identifier of this intent. Required for
      Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format:
      `projects//agent/intents/`.
    outputContexts: Optional. The collection of contexts that are activated
      when the intent is matched. Context messages in this collection should
      not set the parameters field. Setting the `lifespan_count` to 0 will
      reset the context when the intent is matched. Format:
      `projects//agent/sessions/-/contexts/`.
    parameters: Optional. The collection of parameters associated with the
      intent.
    parentFollowupIntentName: Read-only after creation. The unique identifier
      of the parent intent in the chain of followup intents. You can set this
      field when creating an intent, for example with CreateIntent or
      BatchUpdateIntents, in order to make this intent a followup intent. It
      identifies the parent followup intent. Format:
      `projects//agent/intents/`.
    priority: Optional. The priority of this intent. Higher numbers represent
      higher priorities. - If the supplied value is unspecified or 0, the
      service translates the value to 500,000, which corresponds to the
      `Normal` priority in the console. - If the supplied value is negative,
      the intent is ignored in runtime detect intent requests.
    resetContexts: Optional. Indicates whether to delete all contexts in the
      current session when this intent is matched.
    rootFollowupIntentName: Output only. Read-only. The unique identifier of
      the root intent in the chain of followup intents. It identifies the
      correct followup intents chain for this intent. We populate this field
      only in the output. Format: `projects//agent/intents/`.
    trainingPhrases: Optional. The collection of examples that the agent is
      trained on.
    webhookState: Optional. Indicates whether webhooks are enabled for the
      intent.
  """

  class DefaultResponsePlatformsValueListEntryValuesEnum(_messages.Enum):
    r"""DefaultResponsePlatformsValueListEntryValuesEnum enum type.

    Values:
      PLATFORM_UNSPECIFIED: Default platform.
      FACEBOOK: Facebook.
      SLACK: Slack.
      TELEGRAM: Telegram.
      KIK: Kik.
      SKYPE: Skype.
      LINE: Line.
      VIBER: Viber.
      ACTIONS_ON_GOOGLE: Google Assistant See [Dialogflow webhook format](http
        s://developers.google.com/assistant/actions/build/json/dialogflow-
        webhook-json)
      GOOGLE_HANGOUTS: Google Hangouts.
    """
    PLATFORM_UNSPECIFIED = 0
    FACEBOOK = 1
    SLACK = 2
    TELEGRAM = 3
    KIK = 4
    SKYPE = 5
    LINE = 6
    VIBER = 7
    ACTIONS_ON_GOOGLE = 8
    GOOGLE_HANGOUTS = 9

  class WebhookStateValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates whether webhooks are enabled for the intent.

    Values:
      WEBHOOK_STATE_UNSPECIFIED: Webhook is disabled in the agent and in the
        intent.
      WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and in the
        intent.
      WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook is enabled in the agent
        and in the intent. Also, each slot filling prompt is forwarded to the
        webhook.
    """
    WEBHOOK_STATE_UNSPECIFIED = 0
    WEBHOOK_STATE_ENABLED = 1
    WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING = 2

  action = _messages.StringField(1)
  defaultResponsePlatforms = _messages.EnumField('DefaultResponsePlatformsValueListEntryValuesEnum', 2, repeated=True)
  displayName = _messages.StringField(3)
  endInteraction = _messages.BooleanField(4)
  events = _messages.StringField(5, repeated=True)
  followupIntentInfo = _messages.MessageField('GoogleCloudDialogflowV2IntentFollowupIntentInfo', 6, repeated=True)
  inputContextNames = _messages.StringField(7, repeated=True)
  isFallback = _messages.BooleanField(8)
  liveAgentHandoff = _messages.BooleanField(9)
  messages = _messages.MessageField('GoogleCloudDialogflowV2IntentMessage', 10, repeated=True)
  mlDisabled = _messages.BooleanField(11)
  name = _messages.StringField(12)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2Context', 13, repeated=True)
  parameters = _messages.MessageField('GoogleCloudDialogflowV2IntentParameter', 14, repeated=True)
  parentFollowupIntentName = _messages.StringField(15)
  priority = _messages.IntegerField(16, variant=_messages.Variant.INT32)
  resetContexts = _messages.BooleanField(17)
  rootFollowupIntentName = _messages.StringField(18)
  trainingPhrases = _messages.MessageField('GoogleCloudDialogflowV2IntentTrainingPhrase', 19, repeated=True)
  webhookState = _messages.EnumField('WebhookStateValueValuesEnum', 20)


class GoogleCloudDialogflowV2IntentBatch(_messages.Message):
  r"""This message is a wrapper around a collection of intents.

  Fields:
    intents: A collection of intents.
  """

  intents = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1, repeated=True)


class GoogleCloudDialogflowV2IntentFollowupIntentInfo(_messages.Message):
  r"""Represents a single followup intent in the chain.

  Fields:
    followupIntentName: The unique identifier of the followup intent. Format:
      `projects//agent/intents/`.
    parentFollowupIntentName: The unique identifier of the followup intent's
      parent. Format: `projects//agent/intents/`.
  """

  followupIntentName = _messages.StringField(1)
  parentFollowupIntentName = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessage(_messages.Message):
  r"""A rich response message. Corresponds to the intent `Response` field in
  the Dialogflow console. For more information, see [Rich response
  messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).

  Enums:
    PlatformValueValuesEnum: Optional. The platform that this message is
      intended for.

  Messages:
    PayloadValue: A custom platform-specific response.

  Fields:
    basicCard: The basic card response for Actions on Google.
    browseCarouselCard: Browse carousel card for Actions on Google.
    card: The card response.
    carouselSelect: The carousel card response for Actions on Google.
    image: The image response.
    linkOutSuggestion: The link out suggestion chip for Actions on Google.
    listSelect: The list card response for Actions on Google.
    mediaContent: The media content card for Actions on Google.
    payload: A custom platform-specific response.
    platform: Optional. The platform that this message is intended for.
    quickReplies: The quick replies response.
    simpleResponses: The voice and text-only responses for Actions on Google.
    suggestions: The suggestion chips for Actions on Google.
    tableCard: Table card for Actions on Google.
    text: The text response.
  """

  class PlatformValueValuesEnum(_messages.Enum):
    r"""Optional. The platform that this message is intended for.

    Values:
      PLATFORM_UNSPECIFIED: Default platform.
      FACEBOOK: Facebook.
      SLACK: Slack.
      TELEGRAM: Telegram.
      KIK: Kik.
      SKYPE: Skype.
      LINE: Line.
      VIBER: Viber.
      ACTIONS_ON_GOOGLE: Google Assistant See [Dialogflow webhook format](http
        s://developers.google.com/assistant/actions/build/json/dialogflow-
        webhook-json)
      GOOGLE_HANGOUTS: Google Hangouts.
    """
    PLATFORM_UNSPECIFIED = 0
    FACEBOOK = 1
    SLACK = 2
    TELEGRAM = 3
    KIK = 4
    SKYPE = 5
    LINE = 6
    VIBER = 7
    ACTIONS_ON_GOOGLE = 8
    GOOGLE_HANGOUTS = 9

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""A custom platform-specific response.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  basicCard = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBasicCard', 1)
  browseCarouselCard = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard', 2)
  card = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageCard', 3)
  carouselSelect = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageCarouselSelect', 4)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 5)
  linkOutSuggestion = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion', 6)
  listSelect = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageListSelect', 7)
  mediaContent = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageMediaContent', 8)
  payload = _messages.MessageField('PayloadValue', 9)
  platform = _messages.EnumField('PlatformValueValuesEnum', 10)
  quickReplies = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageQuickReplies', 11)
  simpleResponses = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSimpleResponses', 12)
  suggestions = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSuggestions', 13)
  tableCard = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageTableCard', 14)
  text = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageText', 15)


class GoogleCloudDialogflowV2IntentMessageBasicCard(_messages.Message):
  r"""The basic card message. Useful for displaying information.

  Fields:
    buttons: Optional. The collection of card buttons.
    formattedText: Required, unless image is present. The body text of the
      card.
    image: Optional. The image for the card.
    subtitle: Optional. The subtitle of the card.
    title: Optional. The title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBasicCardButton', 1, repeated=True)
  formattedText = _messages.StringField(2)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 3)
  subtitle = _messages.StringField(4)
  title = _messages.StringField(5)


class GoogleCloudDialogflowV2IntentMessageBasicCardButton(_messages.Message):
  r"""The button object that appears at the bottom of a card.

  Fields:
    openUriAction: Required. Action to take when a user taps on the button.
    title: Required. The title of the button.
  """

  openUriAction = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction', 1)
  title = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessageBasicCardButtonOpenUriAction(_messages.Message):
  r"""Opens the given URI.

  Fields:
    uri: Required. The HTTP or HTTPS scheme URI.
  """

  uri = _messages.StringField(1)


class GoogleCloudDialogflowV2IntentMessageBrowseCarouselCard(_messages.Message):
  r"""Browse Carousel Card for Actions on Google.
  https://developers.google.com/actions/assistant/responses#browsing_carousel

  Enums:
    ImageDisplayOptionsValueValuesEnum: Optional. Settings for displaying the
      image. Applies to every image in items.

  Fields:
    imageDisplayOptions: Optional. Settings for displaying the image. Applies
      to every image in items.
    items: Required. List of items in the Browse Carousel Card. Minimum of two
      items, maximum of ten.
  """

  class ImageDisplayOptionsValueValuesEnum(_messages.Enum):
    r"""Optional. Settings for displaying the image. Applies to every image in
    items.

    Values:
      IMAGE_DISPLAY_OPTIONS_UNSPECIFIED: Fill the gaps between the image and
        the image container with gray bars.
      GRAY: Fill the gaps between the image and the image container with gray
        bars.
      WHITE: Fill the gaps between the image and the image container with
        white bars.
      CROPPED: Image is scaled such that the image width and height match or
        exceed the container dimensions. This may crop the top and bottom of
        the image if the scaled image height is greater than the container
        height, or crop the left and right of the image if the scaled image
        width is greater than the container width. This is similar to "Zoom
        Mode" on a widescreen TV when playing a 4:3 video.
      BLURRED_BACKGROUND: Pad the gaps between image and image frame with a
        blurred copy of the same image.
    """
    IMAGE_DISPLAY_OPTIONS_UNSPECIFIED = 0
    GRAY = 1
    WHITE = 2
    CROPPED = 3
    BLURRED_BACKGROUND = 4

  imageDisplayOptions = _messages.EnumField('ImageDisplayOptionsValueValuesEnum', 1)
  items = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem', 2, repeated=True)


class GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItem(_messages.Message):
  r"""Browsing carousel tile

  Fields:
    description: Optional. Description of the carousel item. Maximum of four
      lines of text.
    footer: Optional. Text that appears at the bottom of the Browse Carousel
      Card. Maximum of one line of text.
    image: Optional. Hero image for the carousel item.
    openUriAction: Required. Action to present to the user.
    title: Required. Title of the carousel item. Maximum of two lines of text.
  """

  description = _messages.StringField(1)
  footer = _messages.StringField(2)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 3)
  openUriAction = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction', 4)
  title = _messages.StringField(5)


class GoogleCloudDialogflowV2IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction(_messages.Message):
  r"""Actions on Google action to open a given url.

  Enums:
    UrlTypeHintValueValuesEnum: Optional. Specifies the type of viewer that is
      used when opening the URL. Defaults to opening via web browser.

  Fields:
    url: Required. URL
    urlTypeHint: Optional. Specifies the type of viewer that is used when
      opening the URL. Defaults to opening via web browser.
  """

  class UrlTypeHintValueValuesEnum(_messages.Enum):
    r"""Optional. Specifies the type of viewer that is used when opening the
    URL. Defaults to opening via web browser.

    Values:
      URL_TYPE_HINT_UNSPECIFIED: Unspecified
      AMP_ACTION: Url would be an amp action
      AMP_CONTENT: URL that points directly to AMP content, or to a canonical
        URL which refers to AMP content via .
    """
    URL_TYPE_HINT_UNSPECIFIED = 0
    AMP_ACTION = 1
    AMP_CONTENT = 2

  url = _messages.StringField(1)
  urlTypeHint = _messages.EnumField('UrlTypeHintValueValuesEnum', 2)


class GoogleCloudDialogflowV2IntentMessageCard(_messages.Message):
  r"""The card response message.

  Fields:
    buttons: Optional. The collection of card buttons.
    imageUri: Optional. The public URI to an image file for the card.
    subtitle: Optional. The subtitle of the card.
    title: Optional. The title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageCardButton', 1, repeated=True)
  imageUri = _messages.StringField(2)
  subtitle = _messages.StringField(3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2IntentMessageCardButton(_messages.Message):
  r"""Contains information about a button.

  Fields:
    postback: Optional. The text to send back to the Dialogflow API or a URI
      to open.
    text: Optional. The text to show on the button.
  """

  postback = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessageCarouselSelect(_messages.Message):
  r"""The card for presenting a carousel of options to select from.

  Fields:
    items: Required. Carousel items.
  """

  items = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageCarouselSelectItem', 1, repeated=True)


class GoogleCloudDialogflowV2IntentMessageCarouselSelectItem(_messages.Message):
  r"""An item in the carousel.

  Fields:
    description: Optional. The body text of the card.
    image: Optional. The image to display.
    info: Required. Additional info about the option item.
    title: Required. Title of the carousel item.
  """

  description = _messages.StringField(1)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 2)
  info = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSelectItemInfo', 3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2IntentMessageColumnProperties(_messages.Message):
  r"""Column properties for TableCard.

  Enums:
    HorizontalAlignmentValueValuesEnum: Optional. Defines text alignment for
      all cells in this column.

  Fields:
    header: Required. Column heading.
    horizontalAlignment: Optional. Defines text alignment for all cells in
      this column.
  """

  class HorizontalAlignmentValueValuesEnum(_messages.Enum):
    r"""Optional. Defines text alignment for all cells in this column.

    Values:
      HORIZONTAL_ALIGNMENT_UNSPECIFIED: Text is aligned to the leading edge of
        the column.
      LEADING: Text is aligned to the leading edge of the column.
      CENTER: Text is centered in the column.
      TRAILING: Text is aligned to the trailing edge of the column.
    """
    HORIZONTAL_ALIGNMENT_UNSPECIFIED = 0
    LEADING = 1
    CENTER = 2
    TRAILING = 3

  header = _messages.StringField(1)
  horizontalAlignment = _messages.EnumField('HorizontalAlignmentValueValuesEnum', 2)


class GoogleCloudDialogflowV2IntentMessageImage(_messages.Message):
  r"""The image response message.

  Fields:
    accessibilityText: Optional. A text description of the image to be used
      for accessibility, e.g., screen readers.
    imageUri: Optional. The public URI to an image file.
  """

  accessibilityText = _messages.StringField(1)
  imageUri = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessageLinkOutSuggestion(_messages.Message):
  r"""The suggestion chip message that allows the user to jump out to the app
  or website associated with this agent.

  Fields:
    destinationName: Required. The name of the app or site this chip is
      linking to.
    uri: Required. The URI of the app or site to open when the user taps the
      suggestion chip.
  """

  destinationName = _messages.StringField(1)
  uri = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessageListSelect(_messages.Message):
  r"""The card for presenting a list of options to select from.

  Fields:
    items: Required. List items.
    subtitle: Optional. Subtitle of the list.
    title: Optional. The overall title of the list.
  """

  items = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageListSelectItem', 1, repeated=True)
  subtitle = _messages.StringField(2)
  title = _messages.StringField(3)


class GoogleCloudDialogflowV2IntentMessageListSelectItem(_messages.Message):
  r"""An item in the list.

  Fields:
    description: Optional. The main text describing the item.
    image: Optional. The image to display.
    info: Required. Additional information about this option.
    title: Required. The title of the list item.
  """

  description = _messages.StringField(1)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 2)
  info = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSelectItemInfo', 3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2IntentMessageMediaContent(_messages.Message):
  r"""The media content card for Actions on Google.

  Enums:
    MediaTypeValueValuesEnum: Optional. What type of media is the content (ie
      "audio").

  Fields:
    mediaObjects: Required. List of media objects.
    mediaType: Optional. What type of media is the content (ie "audio").
  """

  class MediaTypeValueValuesEnum(_messages.Enum):
    r"""Optional. What type of media is the content (ie "audio").

    Values:
      RESPONSE_MEDIA_TYPE_UNSPECIFIED: Unspecified.
      AUDIO: Response media type is audio.
    """
    RESPONSE_MEDIA_TYPE_UNSPECIFIED = 0
    AUDIO = 1

  mediaObjects = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject', 1, repeated=True)
  mediaType = _messages.EnumField('MediaTypeValueValuesEnum', 2)


class GoogleCloudDialogflowV2IntentMessageMediaContentResponseMediaObject(_messages.Message):
  r"""Response media object for media content card.

  Fields:
    contentUrl: Required. Url where the media is stored.
    description: Optional. Description of media card.
    icon: Optional. Icon to display above media content.
    largeImage: Optional. Image to display above media content.
    name: Required. Name of media card.
  """

  contentUrl = _messages.StringField(1)
  description = _messages.StringField(2)
  icon = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 3)
  largeImage = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 4)
  name = _messages.StringField(5)


class GoogleCloudDialogflowV2IntentMessageQuickReplies(_messages.Message):
  r"""The quick replies response message.

  Fields:
    quickReplies: Optional. The collection of quick replies.
    title: Optional. The title of the collection of quick replies.
  """

  quickReplies = _messages.StringField(1, repeated=True)
  title = _messages.StringField(2)


class GoogleCloudDialogflowV2IntentMessageSelectItemInfo(_messages.Message):
  r"""Additional info about the select item for when it is triggered in a
  dialog.

  Fields:
    key: Required. A unique key that will be sent back to the agent if this
      response is given.
    synonyms: Optional. A list of synonyms that can also be used to trigger
      this item in dialog.
  """

  key = _messages.StringField(1)
  synonyms = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowV2IntentMessageSimpleResponse(_messages.Message):
  r"""The simple response message containing speech or text.

  Fields:
    displayText: Optional. The text to display.
    ssml: One of text_to_speech or ssml must be provided. Structured spoken
      response to the user in the SSML format. Mutually exclusive with
      text_to_speech.
    textToSpeech: One of text_to_speech or ssml must be provided. The plain
      text of the speech output. Mutually exclusive with ssml.
  """

  displayText = _messages.StringField(1)
  ssml = _messages.StringField(2)
  textToSpeech = _messages.StringField(3)


class GoogleCloudDialogflowV2IntentMessageSimpleResponses(_messages.Message):
  r"""The collection of simple response candidates. This message in
  `QueryResult.fulfillment_messages` and
  `WebhookResponse.fulfillment_messages` should contain only one
  `SimpleResponse`.

  Fields:
    simpleResponses: Required. The list of simple responses.
  """

  simpleResponses = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSimpleResponse', 1, repeated=True)


class GoogleCloudDialogflowV2IntentMessageSuggestion(_messages.Message):
  r"""The suggestion chip message that the user can tap to quickly post a
  reply to the conversation.

  Fields:
    title: Required. The text shown the in the suggestion chip.
  """

  title = _messages.StringField(1)


class GoogleCloudDialogflowV2IntentMessageSuggestions(_messages.Message):
  r"""The collection of suggestions.

  Fields:
    suggestions: Required. The list of suggested replies.
  """

  suggestions = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageSuggestion', 1, repeated=True)


class GoogleCloudDialogflowV2IntentMessageTableCard(_messages.Message):
  r"""Table card for Actions on Google.

  Fields:
    buttons: Optional. List of buttons for the card.
    columnProperties: Optional. Display properties for the columns in this
      table.
    image: Optional. Image which should be displayed on the card.
    rows: Optional. Rows in this table of data.
    subtitle: Optional. Subtitle to the title.
    title: Required. Title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageBasicCardButton', 1, repeated=True)
  columnProperties = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageColumnProperties', 2, repeated=True)
  image = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageImage', 3)
  rows = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageTableCardRow', 4, repeated=True)
  subtitle = _messages.StringField(5)
  title = _messages.StringField(6)


class GoogleCloudDialogflowV2IntentMessageTableCardCell(_messages.Message):
  r"""Cell of TableCardRow.

  Fields:
    text: Required. Text in this cell.
  """

  text = _messages.StringField(1)


class GoogleCloudDialogflowV2IntentMessageTableCardRow(_messages.Message):
  r"""Row of TableCard.

  Fields:
    cells: Optional. List of cells that make up this row.
    dividerAfter: Optional. Whether to add a visual divider after this row.
  """

  cells = _messages.MessageField('GoogleCloudDialogflowV2IntentMessageTableCardCell', 1, repeated=True)
  dividerAfter = _messages.BooleanField(2)


class GoogleCloudDialogflowV2IntentMessageText(_messages.Message):
  r"""The text response message.

  Fields:
    text: Optional. The collection of the agent's responses.
  """

  text = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowV2IntentParameter(_messages.Message):
  r"""Represents intent parameters.

  Fields:
    defaultValue: Optional. The default value to use when the `value` yields
      an empty result. Default values can be extracted from contexts by using
      the following syntax: `#context_name.parameter_name`.
    displayName: Required. The name of the parameter.
    entityTypeDisplayName: Optional. The name of the entity type, prefixed
      with `@`, that describes values of the parameter. If the parameter is
      required, this must be provided.
    isList: Optional. Indicates whether the parameter represents a list of
      values.
    mandatory: Optional. Indicates whether the parameter is required. That is,
      whether the intent cannot be completed without collecting the parameter
      value.
    name: The unique identifier of this parameter.
    prompts: Optional. The collection of prompts that the agent can present to
      the user in order to collect a value for the parameter.
    value: Optional. The definition of the parameter value. It can be: - a
      constant string, - a parameter value defined as `$parameter_name`, - an
      original parameter value defined as `$parameter_name.original`, - a
      parameter value from some context defined as
      `#context_name.parameter_name`.
  """

  defaultValue = _messages.StringField(1)
  displayName = _messages.StringField(2)
  entityTypeDisplayName = _messages.StringField(3)
  isList = _messages.BooleanField(4)
  mandatory = _messages.BooleanField(5)
  name = _messages.StringField(6)
  prompts = _messages.StringField(7, repeated=True)
  value = _messages.StringField(8)


class GoogleCloudDialogflowV2IntentTrainingPhrase(_messages.Message):
  r"""Represents an example that the agent is trained on.

  Enums:
    TypeValueValuesEnum: Required. The type of the training phrase.

  Fields:
    name: Output only. The unique identifier of this training phrase.
    parts: Required. The ordered list of training phrase parts. The parts are
      concatenated in order to form the training phrase. Note: The API does
      not automatically annotate training phrases like the Dialogflow Console
      does. Note: Do not forget to include whitespace at part boundaries, so
      the training phrase is well formatted when the parts are concatenated.
      If the training phrase does not need to be annotated with parameters,
      you just need a single part with only the Part.text field set. If you
      want to annotate the training phrase, you must create multiple parts,
      where the fields of each part are populated in one of two ways: -
      `Part.text` is set to a part of the phrase that has no parameters. -
      `Part.text` is set to a part of the phrase that you want to annotate,
      and the `entity_type`, `alias`, and `user_defined` fields are all set.
    timesAddedCount: Optional. Indicates how many times this example was added
      to the intent. Each time a developer adds an existing sample by editing
      an intent or training, this counter is increased.
    type: Required. The type of the training phrase.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the training phrase.

    Values:
      TYPE_UNSPECIFIED: Not specified. This value should never be used.
      EXAMPLE: Examples do not contain @-prefixed entity type names, but
        example parts can be annotated with entity types.
      TEMPLATE: Templates are not annotated with entity types, but they can
        contain @-prefixed entity type names as substrings. Template mode has
        been deprecated. Example mode is the only supported way to create new
        training phrases. If you have existing training phrases that you've
        created in template mode, those will continue to work.
    """
    TYPE_UNSPECIFIED = 0
    EXAMPLE = 1
    TEMPLATE = 2

  name = _messages.StringField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowV2IntentTrainingPhrasePart', 2, repeated=True)
  timesAddedCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  type = _messages.EnumField('TypeValueValuesEnum', 4)


class GoogleCloudDialogflowV2IntentTrainingPhrasePart(_messages.Message):
  r"""Represents a part of a training phrase.

  Fields:
    alias: Optional. The parameter name for the value extracted from the
      annotated part of the example. This field is required for annotated
      parts of the training phrase.
    entityType: Optional. The entity type name prefixed with `@`. This field
      is required for annotated parts of the training phrase.
    text: Required. The text for this part.
    userDefined: Optional. Indicates whether the text was manually annotated.
      This field is set to true when the Dialogflow Console is used to
      manually annotate the part. When creating an annotated part with the
      API, you must set this to true.
  """

  alias = _messages.StringField(1)
  entityType = _messages.StringField(2)
  text = _messages.StringField(3)
  userDefined = _messages.BooleanField(4)


class GoogleCloudDialogflowV2KnowledgeBase(_messages.Message):
  r"""A knowledge base represents a collection of knowledge documents that you
  provide to Dialogflow. Your knowledge documents contain information that may
  be useful during conversations with end-users. Some Dialogflow features use
  knowledge bases when looking for a response to an end-user input. For more
  information, see the [knowledge base
  guide](https://cloud.google.com/dialogflow/docs/how/knowledge-bases). Note:
  The `projects.agent.knowledgeBases` resource is deprecated; only use
  `projects.knowledgeBases`.

  Fields:
    displayName: Required. The display name of the knowledge base. The name
      must be 1024 bytes or less; otherwise, the creation request fails.
    languageCode: Language which represents the KnowledgeBase. When the
      KnowledgeBase is created/updated, expect this to be present for non en-
      us languages. When unspecified, the default language code en-us applies.
    name: The knowledge base resource name. The name must be empty when
      creating a knowledge base. Format:
      `projects//locations//knowledgeBases/`.
  """

  displayName = _messages.StringField(1)
  languageCode = _messages.StringField(2)
  name = _messages.StringField(3)


class GoogleCloudDialogflowV2KnowledgeOperationMetadata(_messages.Message):
  r"""Metadata in google::longrunning::Operation for Knowledge operations.

  Enums:
    StateValueValuesEnum: Output only. The current state of this operation.

  Fields:
    state: Output only. The current state of this operation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The current state of this operation.

    Values:
      STATE_UNSPECIFIED: State unspecified.
      PENDING: The operation has been created.
      RUNNING: The operation is currently running.
      DONE: The operation is done, either cancelled or completed.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    DONE = 3

  state = _messages.EnumField('StateValueValuesEnum', 1)


class GoogleCloudDialogflowV2ListAnswerRecordsResponse(_messages.Message):
  r"""Response message for AnswerRecords.ListAnswerRecords.

  Fields:
    answerRecords: The list of answer records.
    nextPageToken: A token to retrieve next page of results. Or empty if there
      are no more results. Pass this value in the
      ListAnswerRecordsRequest.page_token field in the subsequent call to
      `ListAnswerRecords` method to retrieve the next page of results.
  """

  answerRecords = _messages.MessageField('GoogleCloudDialogflowV2AnswerRecord', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListContextsResponse(_messages.Message):
  r"""The response message for Contexts.ListContexts.

  Fields:
    contexts: The list of contexts. There will be a maximum number of items
      returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  contexts = _messages.MessageField('GoogleCloudDialogflowV2Context', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListConversationProfilesResponse(_messages.Message):
  r"""The response message for ConversationProfiles.ListConversationProfiles.

  Fields:
    conversationProfiles: The list of project conversation profiles. There is
      a maximum number of items returned based on the page_size field in the
      request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  conversationProfiles = _messages.MessageField('GoogleCloudDialogflowV2ConversationProfile', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListConversationsResponse(_messages.Message):
  r"""The response message for Conversations.ListConversations.

  Fields:
    conversations: The list of conversations. There will be a maximum number
      of items returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  conversations = _messages.MessageField('GoogleCloudDialogflowV2Conversation', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListDocumentsResponse(_messages.Message):
  r"""Response message for Documents.ListDocuments.

  Fields:
    documents: The list of documents.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  documents = _messages.MessageField('GoogleCloudDialogflowV2Document', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListEntityTypesResponse(_messages.Message):
  r"""The response message for EntityTypes.ListEntityTypes.

  Fields:
    entityTypes: The list of agent entity types. There will be a maximum
      number of items returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  entityTypes = _messages.MessageField('GoogleCloudDialogflowV2EntityType', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListEnvironmentsResponse(_messages.Message):
  r"""The response message for Environments.ListEnvironments.

  Fields:
    environments: The list of agent environments. There will be a maximum
      number of items returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  environments = _messages.MessageField('GoogleCloudDialogflowV2Environment', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListIntentsResponse(_messages.Message):
  r"""The response message for Intents.ListIntents.

  Fields:
    intents: The list of agent intents. There will be a maximum number of
      items returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  intents = _messages.MessageField('GoogleCloudDialogflowV2Intent', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListKnowledgeBasesResponse(_messages.Message):
  r"""Response message for KnowledgeBases.ListKnowledgeBases.

  Fields:
    knowledgeBases: The list of knowledge bases.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  knowledgeBases = _messages.MessageField('GoogleCloudDialogflowV2KnowledgeBase', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListMessagesResponse(_messages.Message):
  r"""The response message for Conversations.ListMessages.

  Fields:
    messages: The list of messages. There will be a maximum number of items
      returned based on the page_size field in the request. `messages` is
      sorted by `create_time` in descending order.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  messages = _messages.MessageField('GoogleCloudDialogflowV2Message', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2ListParticipantsResponse(_messages.Message):
  r"""The response message for Participants.ListParticipants.

  Fields:
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
    participants: The list of participants. There is a maximum number of items
      returned based on the page_size field in the request.
  """

  nextPageToken = _messages.StringField(1)
  participants = _messages.MessageField('GoogleCloudDialogflowV2Participant', 2, repeated=True)


class GoogleCloudDialogflowV2ListSessionEntityTypesResponse(_messages.Message):
  r"""The response message for SessionEntityTypes.ListSessionEntityTypes.

  Fields:
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
    sessionEntityTypes: The list of session entity types. There will be a
      maximum number of items returned based on the page_size field in the
      request.
  """

  nextPageToken = _messages.StringField(1)
  sessionEntityTypes = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 2, repeated=True)


class GoogleCloudDialogflowV2ListVersionsResponse(_messages.Message):
  r"""The response message for Versions.ListVersions.

  Fields:
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
    versions: The list of agent versions. There will be a maximum number of
      items returned based on the page_size field in the request.
  """

  nextPageToken = _messages.StringField(1)
  versions = _messages.MessageField('GoogleCloudDialogflowV2Version', 2, repeated=True)


class GoogleCloudDialogflowV2LoggingConfig(_messages.Message):
  r"""Defines logging behavior for conversation lifecycle events.

  Fields:
    enableStackdriverLogging: Whether to log conversation events like
      CONVERSATION_STARTED to Stackdriver in the conversation project as JSON
      format ConversationEvent protos.
  """

  enableStackdriverLogging = _messages.BooleanField(1)


class GoogleCloudDialogflowV2Message(_messages.Message):
  r"""Represents a message posted into a conversation.

  Enums:
    ParticipantRoleValueValuesEnum: Output only. The role of the participant.

  Fields:
    content: Required. The message content.
    createTime: Output only. The time when the message was created.
    languageCode: Optional. The message language. This should be a
      [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
      Example: "en-US".
    messageAnnotation: Output only. The annotation for the message.
    name: The unique identifier of the message. Format:
      `projects//locations//conversations//messages/`.
    participant: Output only. The participant that sends this message.
    participantRole: Output only. The role of the participant.
  """

  class ParticipantRoleValueValuesEnum(_messages.Enum):
    r"""Output only. The role of the participant.

    Values:
      ROLE_UNSPECIFIED: Participant role not set.
      HUMAN_AGENT: Participant is a human agent.
      AUTOMATED_AGENT: Participant is an automated agent, such as a Dialogflow
        agent.
      END_USER: Participant is an end user that has called or chatted with
        Dialogflow services.
    """
    ROLE_UNSPECIFIED = 0
    HUMAN_AGENT = 1
    AUTOMATED_AGENT = 2
    END_USER = 3

  content = _messages.StringField(1)
  createTime = _messages.StringField(2)
  languageCode = _messages.StringField(3)
  messageAnnotation = _messages.MessageField('GoogleCloudDialogflowV2MessageAnnotation', 4)
  name = _messages.StringField(5)
  participant = _messages.StringField(6)
  participantRole = _messages.EnumField('ParticipantRoleValueValuesEnum', 7)


class GoogleCloudDialogflowV2MessageAnnotation(_messages.Message):
  r"""Represents the result of annotation for the message.

  Fields:
    containEntities: Indicates whether the text message contains entities.
    parts: The collection of annotated message parts ordered by their position
      in the message. You can recover the annotated message by concatenating
      [AnnotatedMessagePart.text].
  """

  containEntities = _messages.BooleanField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowV2AnnotatedMessagePart', 2, repeated=True)


class GoogleCloudDialogflowV2NotificationConfig(_messages.Message):
  r"""Defines notification behavior.

  Enums:
    MessageFormatValueValuesEnum: Format of message.

  Fields:
    messageFormat: Format of message.
    topic: Name of the Pub/Sub topic to publish conversation events like
      CONVERSATION_STARTED as serialized ConversationEvent protos.
      Notification works for phone calls, if this topic either is in the same
      project as the conversation or you grant `service-@gcp-sa-
      dialogflow.iam.gserviceaccount.com` the `Dialogflow Service Agent` role
      in the topic project. Format: `projects//locations//topics/`.
  """

  class MessageFormatValueValuesEnum(_messages.Enum):
    r"""Format of message.

    Values:
      MESSAGE_FORMAT_UNSPECIFIED: If it is unspeified, PROTO will be used.
      PROTO: Pubsub message will be serialized proto.
      JSON: Pubsub message will be json.
    """
    MESSAGE_FORMAT_UNSPECIFIED = 0
    PROTO = 1
    JSON = 2

  messageFormat = _messages.EnumField('MessageFormatValueValuesEnum', 1)
  topic = _messages.StringField(2)


class GoogleCloudDialogflowV2OriginalDetectIntentRequest(_messages.Message):
  r"""Represents the contents of the original request that was passed to the
  `[Streaming]DetectIntent` call.

  Messages:
    PayloadValue: Optional. This field is set to the value of the
      `QueryParameters.payload` field passed in the request. Some integrations
      that query a Dialogflow agent may provide additional information in the
      payload. In particular, for the Dialogflow Phone Gateway integration,
      this field has the form: { "telephony": { "caller_id": "+18558363987" }
      } Note: The caller ID field (`caller_id`) will be redacted for Trial
      Edition agents and populated with the caller ID in [E.164
      format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
      agents.

  Fields:
    payload: Optional. This field is set to the value of the
      `QueryParameters.payload` field passed in the request. Some integrations
      that query a Dialogflow agent may provide additional information in the
      payload. In particular, for the Dialogflow Phone Gateway integration,
      this field has the form: { "telephony": { "caller_id": "+18558363987" }
      } Note: The caller ID field (`caller_id`) will be redacted for Trial
      Edition agents and populated with the caller ID in [E.164
      format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
      agents.
    source: The source of this request, e.g., `google`, `facebook`, `slack`.
      It is set by Dialogflow-owned servers.
    version: Optional. The version of the protocol used for this request. This
      field is AoG-specific.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Optional. This field is set to the value of the
    `QueryParameters.payload` field passed in the request. Some integrations
    that query a Dialogflow agent may provide additional information in the
    payload. In particular, for the Dialogflow Phone Gateway integration, this
    field has the form: { "telephony": { "caller_id": "+18558363987" } } Note:
    The caller ID field (`caller_id`) will be redacted for Trial Edition
    agents and populated with the caller ID in [E.164
    format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
    agents.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  payload = _messages.MessageField('PayloadValue', 1)
  source = _messages.StringField(2)
  version = _messages.StringField(3)


class GoogleCloudDialogflowV2OutputAudio(_messages.Message):
  r"""Represents the natural language speech audio to be played to the end
  user.

  Fields:
    audio: The natural language speech audio.
    config: Instructs the speech synthesizer how to generate the speech audio.
  """

  audio = _messages.BytesField(1)
  config = _messages.MessageField('GoogleCloudDialogflowV2OutputAudioConfig', 2)


class GoogleCloudDialogflowV2OutputAudioConfig(_messages.Message):
  r"""Instructs the speech synthesizer on how to generate the output audio
  content. If this audio config is supplied in a request, it overrides all
  existing text-to-speech settings applied to the agent.

  Enums:
    AudioEncodingValueValuesEnum: Required. Audio encoding of the synthesized
      audio content.

  Fields:
    audioEncoding: Required. Audio encoding of the synthesized audio content.
    sampleRateHertz: The synthesis sample rate (in hertz) for this audio. If
      not provided, then the synthesizer will use the default sample rate
      based on the audio encoding. If this is different from the voice's
      natural sample rate, then the synthesizer will honor this request by
      converting to the desired sample rate (which might result in worse audio
      quality).
    synthesizeSpeechConfig: Configuration of how speech should be synthesized.
  """

  class AudioEncodingValueValuesEnum(_messages.Enum):
    r"""Required. Audio encoding of the synthesized audio content.

    Values:
      OUTPUT_AUDIO_ENCODING_UNSPECIFIED: Not specified.
      OUTPUT_AUDIO_ENCODING_LINEAR_16: Uncompressed 16-bit signed little-
        endian samples (Linear PCM). Audio content returned as LINEAR16 also
        contains a WAV header.
      OUTPUT_AUDIO_ENCODING_MP3: MP3 audio at 32kbps.
      OUTPUT_AUDIO_ENCODING_MP3_64_KBPS: MP3 audio at 64kbps.
      OUTPUT_AUDIO_ENCODING_OGG_OPUS: Opus encoded audio wrapped in an ogg
        container. The result will be a file which can be played natively on
        Android, and in browsers (at least Chrome and Firefox). The quality of
        the encoding is considerably higher than MP3 while using approximately
        the same bitrate.
      OUTPUT_AUDIO_ENCODING_MULAW: 8-bit samples that compand 14-bit audio
        samples using G.711 PCMU/mu-law.
    """
    OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0
    OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1
    OUTPUT_AUDIO_ENCODING_MP3 = 2
    OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 3
    OUTPUT_AUDIO_ENCODING_OGG_OPUS = 4
    OUTPUT_AUDIO_ENCODING_MULAW = 5

  audioEncoding = _messages.EnumField('AudioEncodingValueValuesEnum', 1)
  sampleRateHertz = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  synthesizeSpeechConfig = _messages.MessageField('GoogleCloudDialogflowV2SynthesizeSpeechConfig', 3)


class GoogleCloudDialogflowV2Participant(_messages.Message):
  r"""Represents a conversation participant (human agent, virtual agent, end-
  user).

  Enums:
    RoleValueValuesEnum: Immutable. The role this participant plays in the
      conversation. This field must be set during participant creation and is
      then immutable.

  Fields:
    name: Optional. The unique identifier of this participant. Format:
      `projects//locations//conversations//participants/`.
    role: Immutable. The role this participant plays in the conversation. This
      field must be set during participant creation and is then immutable.
    sipRecordingMediaLabel: Optional. Label applied to streams representing
      this participant in SIPREC XML metadata and SDP. This is used to assign
      transcriptions from that media stream to this participant. This field
      can be updated.
  """

  class RoleValueValuesEnum(_messages.Enum):
    r"""Immutable. The role this participant plays in the conversation. This
    field must be set during participant creation and is then immutable.

    Values:
      ROLE_UNSPECIFIED: Participant role not set.
      HUMAN_AGENT: Participant is a human agent.
      AUTOMATED_AGENT: Participant is an automated agent, such as a Dialogflow
        agent.
      END_USER: Participant is an end user that has called or chatted with
        Dialogflow services.
    """
    ROLE_UNSPECIFIED = 0
    HUMAN_AGENT = 1
    AUTOMATED_AGENT = 2
    END_USER = 3

  name = _messages.StringField(1)
  role = _messages.EnumField('RoleValueValuesEnum', 2)
  sipRecordingMediaLabel = _messages.StringField(3)


class GoogleCloudDialogflowV2QueryInput(_messages.Message):
  r"""Represents the query input. It can contain either: 1. An audio config
  which instructs the speech recognizer how to process the speech audio. 2. A
  conversational query in the form of text,. 3. An event that specifies which
  intent to trigger.

  Fields:
    audioConfig: Instructs the speech recognizer how to process the speech
      audio.
    event: The event to be processed.
    text: The natural language text to be processed.
  """

  audioConfig = _messages.MessageField('GoogleCloudDialogflowV2InputAudioConfig', 1)
  event = _messages.MessageField('GoogleCloudDialogflowV2EventInput', 2)
  text = _messages.MessageField('GoogleCloudDialogflowV2TextInput', 3)


class GoogleCloudDialogflowV2QueryParameters(_messages.Message):
  r"""Represents the parameters of the conversational query.

  Messages:
    PayloadValue: This field can be used to pass custom data to your webhook.
      Arbitrary JSON objects are supported. If supplied, the value is used to
      populate the `WebhookRequest.original_detect_intent_request.payload`
      field sent to your webhook.
    WebhookHeadersValue: This field can be used to pass HTTP headers for a
      webhook call. These headers will be sent to webhook along with the
      headers that have been configured through the Dialogflow web console.
      The headers defined within this field will overwrite the headers
      configured through the Dialogflow console if there is a conflict. Header
      names are case-insensitive. Google's specified headers are not allowed.
      Including: "Host", "Content-Length", "Connection", "From", "User-Agent",
      "Accept-Encoding", "If-Modified-Since", "If-None-Match", "X-Forwarded-
      For", etc.

  Fields:
    contexts: The collection of contexts to be activated before this query is
      executed.
    geoLocation: The geo location of this conversational query.
    payload: This field can be used to pass custom data to your webhook.
      Arbitrary JSON objects are supported. If supplied, the value is used to
      populate the `WebhookRequest.original_detect_intent_request.payload`
      field sent to your webhook.
    resetContexts: Specifies whether to delete all contexts in the current
      session before the new ones are activated.
    sentimentAnalysisRequestConfig: Configures the type of sentiment analysis
      to perform. If not provided, sentiment analysis is not performed.
    sessionEntityTypes: Additional session entity types to replace or extend
      developer entity types with. The entity synonyms apply to all languages
      and persist for the session of this query.
    timeZone: The time zone of this conversational query from the [time zone
      database](https://www.iana.org/time-zones), e.g., America/New_York,
      Europe/Paris. If not provided, the time zone specified in agent settings
      is used.
    webhookHeaders: This field can be used to pass HTTP headers for a webhook
      call. These headers will be sent to webhook along with the headers that
      have been configured through the Dialogflow web console. The headers
      defined within this field will overwrite the headers configured through
      the Dialogflow console if there is a conflict. Header names are case-
      insensitive. Google's specified headers are not allowed. Including:
      "Host", "Content-Length", "Connection", "From", "User-Agent", "Accept-
      Encoding", "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""This field can be used to pass custom data to your webhook. Arbitrary
    JSON objects are supported. If supplied, the value is used to populate the
    `WebhookRequest.original_detect_intent_request.payload` field sent to your
    webhook.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class WebhookHeadersValue(_messages.Message):
    r"""This field can be used to pass HTTP headers for a webhook call. These
    headers will be sent to webhook along with the headers that have been
    configured through the Dialogflow web console. The headers defined within
    this field will overwrite the headers configured through the Dialogflow
    console if there is a conflict. Header names are case-insensitive.
    Google's specified headers are not allowed. Including: "Host", "Content-
    Length", "Connection", "From", "User-Agent", "Accept-Encoding", "If-
    Modified-Since", "If-None-Match", "X-Forwarded-For", etc.

    Messages:
      AdditionalProperty: An additional property for a WebhookHeadersValue
        object.

    Fields:
      additionalProperties: Additional properties of type WebhookHeadersValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a WebhookHeadersValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  contexts = _messages.MessageField('GoogleCloudDialogflowV2Context', 1, repeated=True)
  geoLocation = _messages.MessageField('GoogleTypeLatLng', 2)
  payload = _messages.MessageField('PayloadValue', 3)
  resetContexts = _messages.BooleanField(4)
  sentimentAnalysisRequestConfig = _messages.MessageField('GoogleCloudDialogflowV2SentimentAnalysisRequestConfig', 5)
  sessionEntityTypes = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 6, repeated=True)
  timeZone = _messages.StringField(7)
  webhookHeaders = _messages.MessageField('WebhookHeadersValue', 8)


class GoogleCloudDialogflowV2QueryResult(_messages.Message):
  r"""Represents the result of conversational query or event processing.

  Messages:
    DiagnosticInfoValue: Free-form diagnostic information for the associated
      detect intent request. The fields of this data can change without
      notice, so you should not write code that depends on its structure. The
      data may contain: - webhook call latency - webhook errors
    ParametersValue: The collection of extracted parameters. Depending on your
      protocol or client library language, this is a map, associative array,
      symbol table, dictionary, or JSON object composed of a collection of
      (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
      parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
    WebhookPayloadValue: If the query was fulfilled by a webhook call, this
      field is set to the value of the `payload` field returned in the webhook
      response.

  Fields:
    action: The action name from the matched intent.
    allRequiredParamsPresent: This field is set to: - `false` if the matched
      intent has required parameters and not all of the required parameter
      values have been collected. - `true` if all required parameter values
      have been collected, or if the matched intent doesn't contain any
      required parameters.
    cancelsSlotFilling: Indicates whether the conversational query triggers a
      cancellation for slot filling.
    diagnosticInfo: Free-form diagnostic information for the associated detect
      intent request. The fields of this data can change without notice, so
      you should not write code that depends on its structure. The data may
      contain: - webhook call latency - webhook errors
    fulfillmentMessages: The collection of rich messages to present to the
      user.
    fulfillmentText: The text to be pronounced to the user or shown on the
      screen. Note: This is a legacy field, `fulfillment_messages` should be
      preferred.
    intent: The intent that matched the conversational query. Some, not all
      fields are filled in this message, including but not limited to: `name`,
      `display_name`, `end_interaction` and `is_fallback`.
    intentDetectionConfidence: The intent detection confidence. Values range
      from 0.0 (completely uncertain) to 1.0 (completely certain). This value
      is for informational purpose only and is only used to help match the
      best intent within the classification threshold. This value may change
      for the same end-user expression at any time due to a model retraining
      or change in implementation. If there are `multiple knowledge_answers`
      messages, this value is set to the greatest
      `knowledgeAnswers.match_confidence` value in the list.
    languageCode: The language that was triggered during intent detection. See
      [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes.
    outputContexts: The collection of output contexts. If applicable,
      `output_contexts.parameters` contains entries with name `.original`
      containing the original parameter values before the query.
    parameters: The collection of extracted parameters. Depending on your
      protocol or client library language, this is a map, associative array,
      symbol table, dictionary, or JSON object composed of a collection of
      (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
      parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
    queryText: The original conversational query text: - If natural language
      text was provided as input, `query_text` contains a copy of the input. -
      If natural language speech audio was provided as input, `query_text`
      contains the speech recognition result. If speech recognizer produced
      multiple alternatives, a particular one is picked. - If automatic spell
      correction is enabled, `query_text` will contain the corrected user
      input.
    sentimentAnalysisResult: The sentiment analysis result, which depends on
      the `sentiment_analysis_request_config` specified in the request.
    speechRecognitionConfidence: The Speech recognition confidence between 0.0
      and 1.0. A higher number indicates an estimated greater likelihood that
      the recognized words are correct. The default of 0.0 is a sentinel value
      indicating that confidence was not set. This field is not guaranteed to
      be accurate or set. In particular this field isn't set for
      StreamingDetectIntent since the streaming endpoint has separate
      confidence estimates per portion of the audio in
      StreamingRecognitionResult.
    webhookPayload: If the query was fulfilled by a webhook call, this field
      is set to the value of the `payload` field returned in the webhook
      response.
    webhookSource: If the query was fulfilled by a webhook call, this field is
      set to the value of the `source` field returned in the webhook response.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DiagnosticInfoValue(_messages.Message):
    r"""Free-form diagnostic information for the associated detect intent
    request. The fields of this data can change without notice, so you should
    not write code that depends on its structure. The data may contain: -
    webhook call latency - webhook errors

    Messages:
      AdditionalProperty: An additional property for a DiagnosticInfoValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DiagnosticInfoValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""The collection of extracted parameters. Depending on your protocol or
    client library language, this is a map, associative array, symbol table,
    dictionary, or JSON object composed of a collection of (MapKey, MapValue)
    pairs: - MapKey type: string - MapKey value: parameter name - MapValue
    type: - If parameter's entity type is a composite entity: map - Else:
    depending on parameter value type, could be one of string, number,
    boolean, null, list or map - MapValue value: - If parameter's entity type
    is a composite entity: map from composite entity property names to
    property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class WebhookPayloadValue(_messages.Message):
    r"""If the query was fulfilled by a webhook call, this field is set to the
    value of the `payload` field returned in the webhook response.

    Messages:
      AdditionalProperty: An additional property for a WebhookPayloadValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a WebhookPayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  action = _messages.StringField(1)
  allRequiredParamsPresent = _messages.BooleanField(2)
  cancelsSlotFilling = _messages.BooleanField(3)
  diagnosticInfo = _messages.MessageField('DiagnosticInfoValue', 4)
  fulfillmentMessages = _messages.MessageField('GoogleCloudDialogflowV2IntentMessage', 5, repeated=True)
  fulfillmentText = _messages.StringField(6)
  intent = _messages.MessageField('GoogleCloudDialogflowV2Intent', 7)
  intentDetectionConfidence = _messages.FloatField(8, variant=_messages.Variant.FLOAT)
  languageCode = _messages.StringField(9)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2Context', 10, repeated=True)
  parameters = _messages.MessageField('ParametersValue', 11)
  queryText = _messages.StringField(12)
  sentimentAnalysisResult = _messages.MessageField('GoogleCloudDialogflowV2SentimentAnalysisResult', 13)
  speechRecognitionConfidence = _messages.FloatField(14, variant=_messages.Variant.FLOAT)
  webhookPayload = _messages.MessageField('WebhookPayloadValue', 15)
  webhookSource = _messages.StringField(16)


class GoogleCloudDialogflowV2ReloadDocumentRequest(_messages.Message):
  r"""Request message for Documents.ReloadDocument.

  Fields:
    contentUri: Optional. The path of gcs source file for reloading document
      content. For now, only gcs uri is supported. For documents stored in
      Google Cloud Storage, these URIs must have the form `gs:///`.
  """

  contentUri = _messages.StringField(1)


class GoogleCloudDialogflowV2RestoreAgentRequest(_messages.Message):
  r"""The request message for Agents.RestoreAgent.

  Fields:
    agentContent: Zip compressed raw byte content for agent.
    agentUri: The URI to a Google Cloud Storage file containing the agent to
      restore. Note: The URI must start with "gs://".
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowV2SearchAgentsResponse(_messages.Message):
  r"""The response message for Agents.SearchAgents.

  Fields:
    agents: The list of agents. There will be a maximum number of items
      returned based on the page_size field in the request.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  agents = _messages.MessageField('GoogleCloudDialogflowV2Agent', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudDialogflowV2Sentiment(_messages.Message):
  r"""The sentiment, such as positive/negative feeling or association, for a
  unit of analysis, such as the query text.

  Fields:
    magnitude: A non-negative number in the [0, +inf) range, which represents
      the absolute magnitude of sentiment, regardless of score (positive or
      negative).
    score: Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
      sentiment).
  """

  magnitude = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudDialogflowV2SentimentAnalysisRequestConfig(_messages.Message):
  r"""Configures the types of sentiment analysis to perform.

  Fields:
    analyzeQueryTextSentiment: Instructs the service to perform sentiment
      analysis on `query_text`. If not provided, sentiment analysis is not
      performed on `query_text`.
  """

  analyzeQueryTextSentiment = _messages.BooleanField(1)


class GoogleCloudDialogflowV2SentimentAnalysisResult(_messages.Message):
  r"""The result of sentiment analysis. Sentiment analysis inspects user input
  and identifies the prevailing subjective opinion, especially to determine a
  user's attitude as positive, negative, or neutral. For
  Participants.DetectIntent, it needs to be configured in
  DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it
  needs to be configured in StreamingDetectIntentRequest.query_params. And for
  Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it
  needs to be configured in ConversationProfile.human_agent_assistant_config

  Fields:
    queryTextSentiment: The sentiment analysis result for `query_text`.
  """

  queryTextSentiment = _messages.MessageField('GoogleCloudDialogflowV2Sentiment', 1)


class GoogleCloudDialogflowV2SessionEntityType(_messages.Message):
  r"""A session represents a conversation between a Dialogflow agent and an
  end-user. You can create special entities, called session entities, during a
  session. Session entities can extend or replace custom entity types and only
  exist during the session that they were created for. All session data,
  including session entities, is stored by Dialogflow for 20 minutes. For more
  information, see the [session entity
  guide](https://cloud.google.com/dialogflow/docs/entities-session).

  Enums:
    EntityOverrideModeValueValuesEnum: Required. Indicates whether the
      additional data should override or supplement the custom entity type
      definition.

  Fields:
    entities: Required. The collection of entities associated with this
      session entity type.
    entityOverrideMode: Required. Indicates whether the additional data should
      override or supplement the custom entity type definition.
    name: Required. The unique identifier of this session entity type. Format:
      `projects//agent/sessions//entityTypes/`, or
      `projects//agent/environments//users//sessions//entityTypes/`. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      `` must be the display name of an existing entity type in the same agent
      that will be overridden or supplemented.
  """

  class EntityOverrideModeValueValuesEnum(_messages.Enum):
    r"""Required. Indicates whether the additional data should override or
    supplement the custom entity type definition.

    Values:
      ENTITY_OVERRIDE_MODE_UNSPECIFIED: Not specified. This value should be
        never used.
      ENTITY_OVERRIDE_MODE_OVERRIDE: The collection of session entities
        overrides the collection of entities in the corresponding custom
        entity type.
      ENTITY_OVERRIDE_MODE_SUPPLEMENT: The collection of session entities
        extends the collection of entities in the corresponding custom entity
        type. Note: Even in this override mode calls to
        `ListSessionEntityTypes`, `GetSessionEntityType`,
        `CreateSessionEntityType` and `UpdateSessionEntityType` only return
        the additional entities added in this session entity type. If you want
        to get the supplemented list, please call EntityTypes.GetEntityType on
        the custom entity type and merge.
    """
    ENTITY_OVERRIDE_MODE_UNSPECIFIED = 0
    ENTITY_OVERRIDE_MODE_OVERRIDE = 1
    ENTITY_OVERRIDE_MODE_SUPPLEMENT = 2

  entities = _messages.MessageField('GoogleCloudDialogflowV2EntityTypeEntity', 1, repeated=True)
  entityOverrideMode = _messages.EnumField('EntityOverrideModeValueValuesEnum', 2)
  name = _messages.StringField(3)


class GoogleCloudDialogflowV2SpeechContext(_messages.Message):
  r"""Hints for the speech recognizer to help with recognition in a specific
  conversation state.

  Fields:
    boost: Optional. Boost for this context compared to other contexts: * If
      the boost is positive, Dialogflow will increase the probability that the
      phrases in this context are recognized over similar sounding phrases. *
      If the boost is unspecified or non-positive, Dialogflow will not apply
      any boost. Dialogflow recommends that you use boosts in the range (0,
      20] and that you find a value that fits your use case with binary
      search.
    phrases: Optional. A list of strings containing words and phrases that the
      speech recognizer should recognize with higher likelihood. This list can
      be used to: * improve accuracy for words and phrases you expect the user
      to say, e.g. typical commands for your Dialogflow agent * add additional
      words to the speech recognizer vocabulary * ... See the [Cloud Speech
      documentation](https://cloud.google.com/speech-to-text/quotas) for usage
      limits.
  """

  boost = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  phrases = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowV2SpeechToTextConfig(_messages.Message):
  r"""Configures speech transcription for ConversationProfile.

  Enums:
    SpeechModelVariantValueValuesEnum: Optional. The speech model used in
      speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE`
      will be treated as `USE_ENHANCED`. It can be overridden in
      AnalyzeContentRequest and StreamingAnalyzeContentRequest request.

  Fields:
    speechModelVariant: Optional. The speech model used in speech to text.
      `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated
      as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and
      StreamingAnalyzeContentRequest request.
  """

  class SpeechModelVariantValueValuesEnum(_messages.Enum):
    r"""Optional. The speech model used in speech to text.
    `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated
    as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and
    StreamingAnalyzeContentRequest request.

    Values:
      SPEECH_MODEL_VARIANT_UNSPECIFIED: No model variant specified. In this
        case Dialogflow defaults to USE_BEST_AVAILABLE.
      USE_BEST_AVAILABLE: Use the best available variant of the Speech model
        that the caller is eligible for. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible for enhanced models.
      USE_STANDARD: Use standard model variant even if an enhanced model is
        available. See the [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) for details about enhanced models.
      USE_ENHANCED: Use an enhanced model variant: * If an enhanced variant
        does not exist for the given model and request language, Dialogflow
        falls back to the standard variant. The [Cloud Speech
        documentation](https://cloud.google.com/speech-to-text/docs/enhanced-
        models) describes which models have enhanced variants. * If the API
        caller isn't eligible for enhanced models, Dialogflow returns an
        error. Please see the [Dialogflow
        docs](https://cloud.google.com/dialogflow/docs/data-logging) for how
        to make your project eligible.
    """
    SPEECH_MODEL_VARIANT_UNSPECIFIED = 0
    USE_BEST_AVAILABLE = 1
    USE_STANDARD = 2
    USE_ENHANCED = 3

  speechModelVariant = _messages.EnumField('SpeechModelVariantValueValuesEnum', 1)


class GoogleCloudDialogflowV2SuggestArticlesRequest(_messages.Message):
  r"""The request message for Participants.SuggestArticles.

  Fields:
    contextSize: Max number of messages prior to and including latest_message
      to use as context when compiling the suggestion. By default 20 and at
      most 50.
    latestMessage: The name of the latest conversation message to compile
      suggestion for. If empty, it will be the latest message of the
      conversation. Format: `projects//locations//conversations//messages/`.
  """

  contextSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  latestMessage = _messages.StringField(2)


class GoogleCloudDialogflowV2SuggestArticlesResponse(_messages.Message):
  r"""The response message for Participants.SuggestArticles.

  Fields:
    articleAnswers: Articles ordered by score in descending order.
    contextSize: Number of messages prior to and including latest_message to
      compile the suggestion. It may be smaller than the
      SuggestArticlesRequest.context_size field in the request if there aren't
      that many messages in the conversation.
    latestMessage: The name of the latest conversation message used to compile
      suggestion for. Format: `projects//locations//conversations//messages/`.
  """

  articleAnswers = _messages.MessageField('GoogleCloudDialogflowV2ArticleAnswer', 1, repeated=True)
  contextSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  latestMessage = _messages.StringField(3)


class GoogleCloudDialogflowV2SuggestFaqAnswersRequest(_messages.Message):
  r"""The request message for Participants.SuggestFaqAnswers.

  Fields:
    contextSize: Max number of messages prior to and including
      [latest_message] to use as context when compiling the suggestion. By
      default 20 and at most 50.
    latestMessage: The name of the latest conversation message to compile
      suggestion for. If empty, it will be the latest message of the
      conversation. Format: `projects//locations//conversations//messages/`.
  """

  contextSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  latestMessage = _messages.StringField(2)


class GoogleCloudDialogflowV2SuggestFaqAnswersResponse(_messages.Message):
  r"""The request message for Participants.SuggestFaqAnswers.

  Fields:
    contextSize: Number of messages prior to and including latest_message to
      compile the suggestion. It may be smaller than the
      SuggestFaqAnswersRequest.context_size field in the request if there
      aren't that many messages in the conversation.
    faqAnswers: Answers extracted from FAQ documents.
    latestMessage: The name of the latest conversation message used to compile
      suggestion for. Format: `projects//locations//conversations//messages/`.
  """

  contextSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  faqAnswers = _messages.MessageField('GoogleCloudDialogflowV2FaqAnswer', 2, repeated=True)
  latestMessage = _messages.StringField(3)


class GoogleCloudDialogflowV2SuggestionFeature(_messages.Message):
  r"""The type of Human Agent Assistant API suggestion to perform, and the
  maximum number of results to return for that type. Multiple `Feature`
  objects can be specified in the `features` list.

  Enums:
    TypeValueValuesEnum: Type of Human Agent Assistant API feature to request.

  Fields:
    type: Type of Human Agent Assistant API feature to request.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Type of Human Agent Assistant API feature to request.

    Values:
      TYPE_UNSPECIFIED: Unspecified feature type.
      ARTICLE_SUGGESTION: Run article suggestion model.
      FAQ: Run FAQ model.
    """
    TYPE_UNSPECIFIED = 0
    ARTICLE_SUGGESTION = 1
    FAQ = 2

  type = _messages.EnumField('TypeValueValuesEnum', 1)


class GoogleCloudDialogflowV2SuggestionResult(_messages.Message):
  r"""One response of different type of suggestion response which is used in
  the response of Participants.AnalyzeContent and Participants.AnalyzeContent,
  as well as HumanAgentAssistantEvent.

  Fields:
    error: Error status if the request failed.
    suggestArticlesResponse: SuggestArticlesResponse if request is for
      ARTICLE_SUGGESTION.
    suggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is for
      FAQ_ANSWER.
  """

  error = _messages.MessageField('GoogleRpcStatus', 1)
  suggestArticlesResponse = _messages.MessageField('GoogleCloudDialogflowV2SuggestArticlesResponse', 2)
  suggestFaqAnswersResponse = _messages.MessageField('GoogleCloudDialogflowV2SuggestFaqAnswersResponse', 3)


class GoogleCloudDialogflowV2SynthesizeSpeechConfig(_messages.Message):
  r"""Configuration of how speech should be synthesized.

  Fields:
    effectsProfileId: Optional. An identifier which selects 'audio effects'
      profiles that are applied on (post synthesized) text to speech. Effects
      are applied on top of each other in the order they are given.
    pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means
      increase 20 semitones from the original pitch. -20 means decrease 20
      semitones from the original pitch.
    speakingRate: Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0
      is the normal native speed supported by the specific voice. 2.0 is twice
      as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native
      1.0 speed. Any other values < 0.25 or > 4.0 will return an error.
    voice: Optional. The desired voice of the synthesized audio.
    volumeGainDb: Optional. Volume gain (in dB) of the normal native volume
      supported by the specific voice, in the range [-96.0, 16.0]. If unset,
      or set to a value of 0.0 (dB), will play at normal native signal
      amplitude. A value of -6.0 (dB) will play at approximately half the
      amplitude of the normal native signal amplitude. A value of +6.0 (dB)
      will play at approximately twice the amplitude of the normal native
      signal amplitude. We strongly recommend not to exceed +10 (dB) as
      there's usually no effective increase in loudness for any value greater
      than that.
  """

  effectsProfileId = _messages.StringField(1, repeated=True)
  pitch = _messages.FloatField(2)
  speakingRate = _messages.FloatField(3)
  voice = _messages.MessageField('GoogleCloudDialogflowV2VoiceSelectionParams', 4)
  volumeGainDb = _messages.FloatField(5)


class GoogleCloudDialogflowV2TextInput(_messages.Message):
  r"""Represents the natural language text to be processed.

  Fields:
    languageCode: Required. The language of this conversational query. See
      [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    text: Required. The UTF-8 encoded natural language text to be processed.
      Text length must not exceed 256 characters.
  """

  languageCode = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2TextToSpeechSettings(_messages.Message):
  r"""Instructs the speech synthesizer on how to generate the output audio
  content.

  Enums:
    OutputAudioEncodingValueValuesEnum: Required. Audio encoding of the
      synthesized audio content.

  Messages:
    SynthesizeSpeechConfigsValue: Optional. Configuration of how speech should
      be synthesized, mapping from language
      (https://cloud.google.com/dialogflow/docs/reference/language) to
      SynthesizeSpeechConfig.

  Fields:
    enableTextToSpeech: Optional. Indicates whether text to speech is enabled.
      Even when this field is false, other settings in this proto are still
      retained.
    outputAudioEncoding: Required. Audio encoding of the synthesized audio
      content.
    sampleRateHertz: Optional. The synthesis sample rate (in hertz) for this
      audio. If not provided, then the synthesizer will use the default sample
      rate based on the audio encoding. If this is different from the voice's
      natural sample rate, then the synthesizer will honor this request by
      converting to the desired sample rate (which might result in worse audio
      quality).
    synthesizeSpeechConfigs: Optional. Configuration of how speech should be
      synthesized, mapping from language
      (https://cloud.google.com/dialogflow/docs/reference/language) to
      SynthesizeSpeechConfig.
  """

  class OutputAudioEncodingValueValuesEnum(_messages.Enum):
    r"""Required. Audio encoding of the synthesized audio content.

    Values:
      OUTPUT_AUDIO_ENCODING_UNSPECIFIED: Not specified.
      OUTPUT_AUDIO_ENCODING_LINEAR_16: Uncompressed 16-bit signed little-
        endian samples (Linear PCM). Audio content returned as LINEAR16 also
        contains a WAV header.
      OUTPUT_AUDIO_ENCODING_MP3: MP3 audio at 32kbps.
      OUTPUT_AUDIO_ENCODING_MP3_64_KBPS: MP3 audio at 64kbps.
      OUTPUT_AUDIO_ENCODING_OGG_OPUS: Opus encoded audio wrapped in an ogg
        container. The result will be a file which can be played natively on
        Android, and in browsers (at least Chrome and Firefox). The quality of
        the encoding is considerably higher than MP3 while using approximately
        the same bitrate.
      OUTPUT_AUDIO_ENCODING_MULAW: 8-bit samples that compand 14-bit audio
        samples using G.711 PCMU/mu-law.
    """
    OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0
    OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1
    OUTPUT_AUDIO_ENCODING_MP3 = 2
    OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 3
    OUTPUT_AUDIO_ENCODING_OGG_OPUS = 4
    OUTPUT_AUDIO_ENCODING_MULAW = 5

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SynthesizeSpeechConfigsValue(_messages.Message):
    r"""Optional. Configuration of how speech should be synthesized, mapping
    from language
    (https://cloud.google.com/dialogflow/docs/reference/language) to
    SynthesizeSpeechConfig.

    Messages:
      AdditionalProperty: An additional property for a
        SynthesizeSpeechConfigsValue object.

    Fields:
      additionalProperties: Additional properties of type
        SynthesizeSpeechConfigsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SynthesizeSpeechConfigsValue object.

      Fields:
        key: Name of the additional property.
        value: A GoogleCloudDialogflowV2SynthesizeSpeechConfig attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('GoogleCloudDialogflowV2SynthesizeSpeechConfig', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  enableTextToSpeech = _messages.BooleanField(1)
  outputAudioEncoding = _messages.EnumField('OutputAudioEncodingValueValuesEnum', 2)
  sampleRateHertz = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  synthesizeSpeechConfigs = _messages.MessageField('SynthesizeSpeechConfigsValue', 4)


class GoogleCloudDialogflowV2TrainAgentRequest(_messages.Message):
  r"""The request message for Agents.TrainAgent."""


class GoogleCloudDialogflowV2ValidationError(_messages.Message):
  r"""Represents a single validation error.

  Enums:
    SeverityValueValuesEnum: The severity of the error.

  Fields:
    entries: The names of the entries that the error is associated with.
      Format: - "projects//agent", if the error is associated with the entire
      agent. - "projects//agent/intents/", if the error is associated with
      certain intents. - "projects//agent/intents//trainingPhrases/", if the
      error is associated with certain intent training phrases. -
      "projects//agent/intents//parameters/", if the error is associated with
      certain intent parameters. - "projects//agent/entities/", if the error
      is associated with certain entities.
    errorMessage: The detailed error message.
    severity: The severity of the error.
  """

  class SeverityValueValuesEnum(_messages.Enum):
    r"""The severity of the error.

    Values:
      SEVERITY_UNSPECIFIED: Not specified. This value should never be used.
      INFO: The agent doesn't follow Dialogflow best practices.
      WARNING: The agent may not behave as expected.
      ERROR: The agent may experience partial failures.
      CRITICAL: The agent may completely fail.
    """
    SEVERITY_UNSPECIFIED = 0
    INFO = 1
    WARNING = 2
    ERROR = 3
    CRITICAL = 4

  entries = _messages.StringField(1, repeated=True)
  errorMessage = _messages.StringField(2)
  severity = _messages.EnumField('SeverityValueValuesEnum', 3)


class GoogleCloudDialogflowV2ValidationResult(_messages.Message):
  r"""Represents the output of agent validation.

  Fields:
    validationErrors: Contains all validation errors.
  """

  validationErrors = _messages.MessageField('GoogleCloudDialogflowV2ValidationError', 1, repeated=True)


class GoogleCloudDialogflowV2Version(_messages.Message):
  r"""You can create multiple versions of your agent and publish them to
  separate environments. When you edit an agent, you are editing the draft
  agent. At any point, you can save the draft agent as an agent version, which
  is an immutable snapshot of your agent. When you save the draft agent, it is
  published to the default environment. When you create agent versions, you
  can publish them to custom environments. You can create a variety of custom
  environments for: - testing - development - production - etc. For more
  information, see the [versions and environments
  guide](https://cloud.google.com/dialogflow/docs/agents-versions).

  Enums:
    StatusValueValuesEnum: Output only. The status of this version. This field
      is read-only and cannot be set by create and update methods.

  Fields:
    createTime: Output only. The creation time of this version. This field is
      read-only, i.e., it cannot be set by create and update methods.
    description: Optional. The developer-provided description of this version.
    name: Output only. The unique identifier of this agent version. Supported
      formats: - `projects//agent/versions/` -
      `projects//locations//agent/versions/`
    status: Output only. The status of this version. This field is read-only
      and cannot be set by create and update methods.
    versionNumber: Output only. The sequential number of this version. This
      field is read-only which means it cannot be set by create and update
      methods.
  """

  class StatusValueValuesEnum(_messages.Enum):
    r"""Output only. The status of this version. This field is read-only and
    cannot be set by create and update methods.

    Values:
      VERSION_STATUS_UNSPECIFIED: Not specified. This value is not used.
      IN_PROGRESS: Version is not ready to serve (e.g. training is in
        progress).
      READY: Version is ready to serve.
      FAILED: Version training failed.
    """
    VERSION_STATUS_UNSPECIFIED = 0
    IN_PROGRESS = 1
    READY = 2
    FAILED = 3

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  name = _messages.StringField(3)
  status = _messages.EnumField('StatusValueValuesEnum', 4)
  versionNumber = _messages.IntegerField(5, variant=_messages.Variant.INT32)


class GoogleCloudDialogflowV2VoiceSelectionParams(_messages.Message):
  r"""Description of which voice to use for speech synthesis.

  Enums:
    SsmlGenderValueValuesEnum: Optional. The preferred gender of the voice. If
      not set, the service will choose a voice based on the other parameters
      such as language_code and name. Note that this is only a preference, not
      requirement. If a voice of the appropriate gender is not available, the
      synthesizer should substitute a voice with a different gender rather
      than failing the request.

  Fields:
    name: Optional. The name of the voice. If not set, the service will choose
      a voice based on the other parameters such as language_code and
      ssml_gender.
    ssmlGender: Optional. The preferred gender of the voice. If not set, the
      service will choose a voice based on the other parameters such as
      language_code and name. Note that this is only a preference, not
      requirement. If a voice of the appropriate gender is not available, the
      synthesizer should substitute a voice with a different gender rather
      than failing the request.
  """

  class SsmlGenderValueValuesEnum(_messages.Enum):
    r"""Optional. The preferred gender of the voice. If not set, the service
    will choose a voice based on the other parameters such as language_code
    and name. Note that this is only a preference, not requirement. If a voice
    of the appropriate gender is not available, the synthesizer should
    substitute a voice with a different gender rather than failing the
    request.

    Values:
      SSML_VOICE_GENDER_UNSPECIFIED: An unspecified gender, which means that
        the client doesn't care which gender the selected voice will have.
      SSML_VOICE_GENDER_MALE: A male voice.
      SSML_VOICE_GENDER_FEMALE: A female voice.
      SSML_VOICE_GENDER_NEUTRAL: A gender-neutral voice.
    """
    SSML_VOICE_GENDER_UNSPECIFIED = 0
    SSML_VOICE_GENDER_MALE = 1
    SSML_VOICE_GENDER_FEMALE = 2
    SSML_VOICE_GENDER_NEUTRAL = 3

  name = _messages.StringField(1)
  ssmlGender = _messages.EnumField('SsmlGenderValueValuesEnum', 2)


class GoogleCloudDialogflowV2WebhookRequest(_messages.Message):
  r"""The request message for a webhook call.

  Fields:
    originalDetectIntentRequest: Optional. The contents of the original
      request that was passed to `[Streaming]DetectIntent` call.
    queryResult: The result of the conversational query or event processing.
      Contains the same value as
      `[Streaming]DetectIntentResponse.query_result`.
    responseId: The unique identifier of the response. Contains the same value
      as `[Streaming]DetectIntentResponse.response_id`.
    session: The unique identifier of detectIntent request session. Can be
      used to identify end-user inside webhook implementation. Format:
      `projects//agent/sessions/`, or
      `projects//agent/environments//users//sessions/`.
  """

  originalDetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2OriginalDetectIntentRequest', 1)
  queryResult = _messages.MessageField('GoogleCloudDialogflowV2QueryResult', 2)
  responseId = _messages.StringField(3)
  session = _messages.StringField(4)


class GoogleCloudDialogflowV2WebhookResponse(_messages.Message):
  r"""The response message for a webhook call. This response is validated by
  the Dialogflow server. If validation fails, an error will be returned in the
  QueryResult.diagnostic_info field. Setting JSON fields to an empty value
  with the wrong type is a common error. To avoid this error: - Use `""` for
  empty strings - Use `{}` or `null` for empty objects - Use `[]` or `null`
  for empty arrays For more information, see the [Protocol Buffers Language
  Guide](https://developers.google.com/protocol-buffers/docs/proto3#json).

  Messages:
    PayloadValue: Optional. This field can be used to pass custom data from
      your webhook to the integration or API caller. Arbitrary JSON objects
      are supported. When provided, Dialogflow uses this field to populate
      QueryResult.webhook_payload sent to the integration or API caller. This
      field is also used by the [Google Assistant
      integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
      for rich response messages. See the format definition at [Google
      Assistant Dialogflow webhook format](https://developers.google.com/assis
      tant/actions/build/json/dialogflow-webhook-json)

  Fields:
    followupEventInput: Optional. Invokes the supplied events. When this field
      is set, Dialogflow ignores the `fulfillment_text`,
      `fulfillment_messages`, and `payload` fields.
    fulfillmentMessages: Optional. The rich response messages intended for the
      end-user. When provided, Dialogflow uses this field to populate
      QueryResult.fulfillment_messages sent to the integration or API caller.
    fulfillmentText: Optional. The text response message intended for the end-
      user. It is recommended to use `fulfillment_messages.text.text[0]`
      instead. When provided, Dialogflow uses this field to populate
      QueryResult.fulfillment_text sent to the integration or API caller.
    outputContexts: Optional. The collection of output contexts that will
      overwrite currently active contexts for the session and reset their
      lifespans. When provided, Dialogflow uses this field to populate
      QueryResult.output_contexts sent to the integration or API caller.
    payload: Optional. This field can be used to pass custom data from your
      webhook to the integration or API caller. Arbitrary JSON objects are
      supported. When provided, Dialogflow uses this field to populate
      QueryResult.webhook_payload sent to the integration or API caller. This
      field is also used by the [Google Assistant
      integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
      for rich response messages. See the format definition at [Google
      Assistant Dialogflow webhook format](https://developers.google.com/assis
      tant/actions/build/json/dialogflow-webhook-json)
    sessionEntityTypes: Optional. Additional session entity types to replace
      or extend developer entity types with. The entity synonyms apply to all
      languages and persist for the session. Setting this data from a webhook
      overwrites the session entity types that have been set using
      `detectIntent`, `streamingDetectIntent` or SessionEntityType management
      methods.
    source: Optional. A custom field used to identify the webhook source.
      Arbitrary strings are supported. When provided, Dialogflow uses this
      field to populate QueryResult.webhook_source sent to the integration or
      API caller.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Optional. This field can be used to pass custom data from your webhook
    to the integration or API caller. Arbitrary JSON objects are supported.
    When provided, Dialogflow uses this field to populate
    QueryResult.webhook_payload sent to the integration or API caller. This
    field is also used by the [Google Assistant
    integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
    for rich response messages. See the format definition at [Google Assistant
    Dialogflow webhook format](https://developers.google.com/assistant/actions
    /build/json/dialogflow-webhook-json)

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  followupEventInput = _messages.MessageField('GoogleCloudDialogflowV2EventInput', 1)
  fulfillmentMessages = _messages.MessageField('GoogleCloudDialogflowV2IntentMessage', 2, repeated=True)
  fulfillmentText = _messages.StringField(3)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2Context', 4, repeated=True)
  payload = _messages.MessageField('PayloadValue', 5)
  sessionEntityTypes = _messages.MessageField('GoogleCloudDialogflowV2SessionEntityType', 6, repeated=True)
  source = _messages.StringField(7)


class GoogleCloudDialogflowV2beta1AnnotatedMessagePart(_messages.Message):
  r"""Represents a part of a message possibly annotated with an entity. The
  part can be an entity or purely a part of the message between two entities
  or message start/end.

  Fields:
    entityType: Optional. The [Dialogflow system entity
      type](https://cloud.google.com/dialogflow/docs/reference/system-
      entities) of this message part. If this is empty, Dialogflow could not
      annotate the phrase part with a system entity.
    formattedValue: Optional. The [Dialogflow system entity formatted value
      ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of
      this message part. For example for a system entity of type `@sys.unit-
      currency`, this may contain: { "amount": 5, "currency": "USD" }
    text: Required. A part of a message possibly annotated with an entity.
  """

  entityType = _messages.StringField(1)
  formattedValue = _messages.MessageField('extra_types.JsonValue', 2)
  text = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1ArticleAnswer(_messages.Message):
  r"""Represents article answer.

  Messages:
    MetadataValue: A map that contains metadata about the answer and the
      document from which it originates.

  Fields:
    answerRecord: The name of answer record, in the format of
      "projects//locations//answerRecords/"
    metadata: A map that contains metadata about the answer and the document
      from which it originates.
    snippets: Output only. Article snippets.
    title: The article title.
    uri: The article URI.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""A map that contains metadata about the answer and the document from
    which it originates.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  answerRecord = _messages.StringField(1)
  metadata = _messages.MessageField('MetadataValue', 2)
  snippets = _messages.StringField(3, repeated=True)
  title = _messages.StringField(4)
  uri = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1BatchUpdateEntityTypesResponse(_messages.Message):
  r"""The response message for EntityTypes.BatchUpdateEntityTypes.

  Fields:
    entityTypes: The collection of updated or created entity types.
  """

  entityTypes = _messages.MessageField('GoogleCloudDialogflowV2beta1EntityType', 1, repeated=True)


class GoogleCloudDialogflowV2beta1BatchUpdateIntentsResponse(_messages.Message):
  r"""The response message for Intents.BatchUpdateIntents.

  Fields:
    intents: The collection of updated or created intents.
  """

  intents = _messages.MessageField('GoogleCloudDialogflowV2beta1Intent', 1, repeated=True)


class GoogleCloudDialogflowV2beta1Context(_messages.Message):
  r"""Dialogflow contexts are similar to natural language context. If a person
  says to you "they are orange", you need context in order to understand what
  "they" is referring to. Similarly, for Dialogflow to handle an end-user
  expression like that, it needs to be provided with context in order to
  correctly match an intent. Using contexts, you can control the flow of a
  conversation. You can configure contexts for an intent by setting input and
  output contexts, which are identified by string names. When an intent is
  matched, any configured output contexts for that intent become active. While
  any contexts are active, Dialogflow is more likely to match intents that are
  configured with input contexts that correspond to the currently active
  contexts. For more information about context, see the [Contexts
  guide](https://cloud.google.com/dialogflow/docs/contexts-overview).

  Messages:
    ParametersValue: Optional. The collection of parameters associated with
      this context. Depending on your protocol or client library language,
      this is a map, associative array, symbol table, dictionary, or JSON
      object composed of a collection of (MapKey, MapValue) pairs: - MapKey
      type: string - MapKey value: parameter name - MapValue type: - If
      parameter's entity type is a composite entity: map - Else: depending on
      parameter value type, could be one of string, number, boolean, null,
      list or map - MapValue value: - If parameter's entity type is a
      composite entity: map from composite entity property names to property
      values - Else: parameter value

  Fields:
    lifespanCount: Optional. The number of conversational query requests after
      which the context expires. The default is `0`. If set to `0`, the
      context expires immediately. Contexts expire automatically after 20
      minutes if there are no matching queries.
    name: Required. The unique identifier of the context. Supported formats: -
      `projects//agent/sessions//contexts/`, -
      `projects//locations//agent/sessions//contexts/`, -
      `projects//agent/environments//users//sessions//contexts/`, -
      `projects//locations//agent/environments//users//sessions//contexts/`,
      The `Context ID` is always converted to lowercase, may only contain
      characters in a-zA-Z0-9_-% and may be at most 250 bytes long. If
      `Environment ID` is not specified, we assume default 'draft'
      environment. If `User ID` is not specified, we assume default '-' user.
      The following context names are reserved for internal use by Dialogflow.
      You should not use these contexts or create contexts with these names: *
      `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
    parameters: Optional. The collection of parameters associated with this
      context. Depending on your protocol or client library language, this is
      a map, associative array, symbol table, dictionary, or JSON object
      composed of a collection of (MapKey, MapValue) pairs: - MapKey type:
      string - MapKey value: parameter name - MapValue type: - If parameter's
      entity type is a composite entity: map - Else: depending on parameter
      value type, could be one of string, number, boolean, null, list or map -
      MapValue value: - If parameter's entity type is a composite entity: map
      from composite entity property names to property values - Else:
      parameter value
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Optional. The collection of parameters associated with this context.
    Depending on your protocol or client library language, this is a map,
    associative array, symbol table, dictionary, or JSON object composed of a
    collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
    value: parameter name - MapValue type: - If parameter's entity type is a
    composite entity: map - Else: depending on parameter value type, could be
    one of string, number, boolean, null, list or map - MapValue value: - If
    parameter's entity type is a composite entity: map from composite entity
    property names to property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  lifespanCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  name = _messages.StringField(2)
  parameters = _messages.MessageField('ParametersValue', 3)


class GoogleCloudDialogflowV2beta1ConversationEvent(_messages.Message):
  r"""Represents a notification sent to Pub/Sub subscribers for conversation
  lifecycle events.

  Enums:
    TypeValueValuesEnum: Required. The type of the event that this
      notification refers to.

  Fields:
    conversation: Required. The unique identifier of the conversation this
      notification refers to. Format: `projects//conversations/`.
    errorStatus: Optional. More detailed information about an error. Only set
      for type UNRECOVERABLE_ERROR_IN_PHONE_CALL.
    newMessagePayload: Payload of NEW_MESSAGE event.
    type: Required. The type of the event that this notification refers to.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the event that this notification refers to.

    Values:
      TYPE_UNSPECIFIED: Type not set.
      CONVERSATION_STARTED: A new conversation has been opened. This is fired
        when a telephone call is answered, or a conversation is created via
        the API.
      CONVERSATION_FINISHED: An existing conversation has closed. This is
        fired when a telephone call is terminated, or a conversation is closed
        via the API.
      NEW_MESSAGE: An existing conversation has received a new message, either
        from API or telephony. It is configured in
        ConversationProfile.new_message_event_notification_config
      UNRECOVERABLE_ERROR: Unrecoverable error during a telephone call. In
        general non-recoverable errors only occur if something was
        misconfigured in the ConversationProfile corresponding to the call.
        After a non-recoverable error, Dialogflow may stop responding. We
        don't fire this event: * in an API call because we can directly return
        the error, or, * when we can recover from an error.
    """
    TYPE_UNSPECIFIED = 0
    CONVERSATION_STARTED = 1
    CONVERSATION_FINISHED = 2
    NEW_MESSAGE = 3
    UNRECOVERABLE_ERROR = 4

  conversation = _messages.StringField(1)
  errorStatus = _messages.MessageField('GoogleRpcStatus', 2)
  newMessagePayload = _messages.MessageField('GoogleCloudDialogflowV2beta1Message', 3)
  type = _messages.EnumField('TypeValueValuesEnum', 4)


class GoogleCloudDialogflowV2beta1EntityType(_messages.Message):
  r"""Each intent parameter has a type, called the entity type, which dictates
  exactly how data from an end-user expression is extracted. Dialogflow
  provides predefined system entities that can match many common types of
  data. For example, there are system entities for matching dates, times,
  colors, email addresses, and so on. You can also create your own custom
  entities for matching custom data. For example, you could define a vegetable
  entity that can match the types of vegetables available for purchase with a
  grocery store agent. For more information, see the [Entity
  guide](https://cloud.google.com/dialogflow/docs/entities-overview).

  Enums:
    AutoExpansionModeValueValuesEnum: Optional. Indicates whether the entity
      type can be automatically expanded.
    KindValueValuesEnum: Required. Indicates the kind of entity type.

  Fields:
    autoExpansionMode: Optional. Indicates whether the entity type can be
      automatically expanded.
    displayName: Required. The name of the entity type.
    enableFuzzyExtraction: Optional. Enables fuzzy entity extraction during
      classification.
    entities: Optional. The collection of entity entries associated with the
      entity type.
    kind: Required. Indicates the kind of entity type.
    name: The unique identifier of the entity type. Required for
      EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes
      methods. Supported formats: - `projects//agent/entityTypes/` -
      `projects//locations//agent/entityTypes/`
  """

  class AutoExpansionModeValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates whether the entity type can be automatically
    expanded.

    Values:
      AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
      AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that
        have not been explicitly listed in the entity.
    """
    AUTO_EXPANSION_MODE_UNSPECIFIED = 0
    AUTO_EXPANSION_MODE_DEFAULT = 1

  class KindValueValuesEnum(_messages.Enum):
    r"""Required. Indicates the kind of entity type.

    Values:
      KIND_UNSPECIFIED: Not specified. This value should be never used.
      KIND_MAP: Map entity types allow mapping of a group of synonyms to a
        reference value.
      KIND_LIST: List entity types contain a set of entries that do not map to
        reference values. However, list entity types can contain references to
        other entity types (with or without aliases).
      KIND_REGEXP: Regexp entity types allow to specify regular expressions in
        entries values.
    """
    KIND_UNSPECIFIED = 0
    KIND_MAP = 1
    KIND_LIST = 2
    KIND_REGEXP = 3

  autoExpansionMode = _messages.EnumField('AutoExpansionModeValueValuesEnum', 1)
  displayName = _messages.StringField(2)
  enableFuzzyExtraction = _messages.BooleanField(3)
  entities = _messages.MessageField('GoogleCloudDialogflowV2beta1EntityTypeEntity', 4, repeated=True)
  kind = _messages.EnumField('KindValueValuesEnum', 5)
  name = _messages.StringField(6)


class GoogleCloudDialogflowV2beta1EntityTypeEntity(_messages.Message):
  r"""An **entity entry** for an associated entity type.

  Fields:
    synonyms: Required. A collection of value synonyms. For example, if the
      entity type is *vegetable*, and `value` is *scallions*, a synonym could
      be *green onions*. For `KIND_LIST` entity types: * This collection must
      contain exactly one synonym equal to `value`.
    value: Required. The primary value associated with this entity entry. For
      example, if the entity type is *vegetable*, the value could be
      *scallions*. For `KIND_MAP` entity types: * A reference value to be used
      in place of synonyms. For `KIND_LIST` entity types: * A string that can
      contain references to other entity types (with or without aliases).
  """

  synonyms = _messages.StringField(1, repeated=True)
  value = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1EventInput(_messages.Message):
  r"""Events allow for matching intents by event name instead of the natural
  language input. For instance, input `` can trigger a personalized welcome
  response. The parameter `name` may be used by the agent in the response:
  `"Hello #welcome_event.name! What can I do for you today?"`.

  Messages:
    ParametersValue: The collection of parameters associated with the event.
      Depending on your protocol or client library language, this is a map,
      associative array, symbol table, dictionary, or JSON object composed of
      a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
      value: parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value

  Fields:
    languageCode: Required. The language of this query. See [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes. Note that queries
      in the same session do not necessarily need to specify the same
      language.
    name: Required. The unique identifier of the event.
    parameters: The collection of parameters associated with the event.
      Depending on your protocol or client library language, this is a map,
      associative array, symbol table, dictionary, or JSON object composed of
      a collection of (MapKey, MapValue) pairs: - MapKey type: string - MapKey
      value: parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""The collection of parameters associated with the event. Depending on
    your protocol or client library language, this is a map, associative
    array, symbol table, dictionary, or JSON object composed of a collection
    of (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
    parameter name - MapValue type: - If parameter's entity type is a
    composite entity: map - Else: depending on parameter value type, could be
    one of string, number, boolean, null, list or map - MapValue value: - If
    parameter's entity type is a composite entity: map from composite entity
    property names to property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  languageCode = _messages.StringField(1)
  name = _messages.StringField(2)
  parameters = _messages.MessageField('ParametersValue', 3)


class GoogleCloudDialogflowV2beta1ExportAgentResponse(_messages.Message):
  r"""The response message for Agents.ExportAgent.

  Fields:
    agentContent: Zip compressed raw byte content for agent.
    agentUri: The URI to a file containing the exported agent. This field is
      populated only if `agent_uri` is specified in `ExportAgentRequest`.
  """

  agentContent = _messages.BytesField(1)
  agentUri = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1FaqAnswer(_messages.Message):
  r"""Represents answer from "frequently asked questions".

  Messages:
    MetadataValue: A map that contains metadata about the answer and the
      document from which it originates.

  Fields:
    answer: The piece of text from the `source` knowledge base document.
    answerRecord: The name of answer record, in the format of
      "projects//locations//answerRecords/"
    confidence: The system's confidence score that this Knowledge answer is a
      good match for this conversational query, range from 0.0 (completely
      uncertain) to 1.0 (completely certain).
    metadata: A map that contains metadata about the answer and the document
      from which it originates.
    question: The corresponding FAQ question.
    source: Indicates which Knowledge Document this answer was extracted from.
      Format: `projects//locations//agent/knowledgeBases//documents/`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""A map that contains metadata about the answer and the document from
    which it originates.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  answer = _messages.StringField(1)
  answerRecord = _messages.StringField(2)
  confidence = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  metadata = _messages.MessageField('MetadataValue', 4)
  question = _messages.StringField(5)
  source = _messages.StringField(6)


class GoogleCloudDialogflowV2beta1HumanAgentAssistantEvent(_messages.Message):
  r"""Output only. Represents a notification sent to Pub/Sub subscribers for
  agent assistant events in a specific conversation.

  Fields:
    conversation: The conversation this notification refers to. Format:
      `projects//conversations/`.
    participant: The participant that the suggestion is compiled for. And This
      field is used to call Participants.ListSuggestions API. Format:
      `projects//conversations//participants/`. It will not be set in legacy
      workflow. HumanAgentAssistantConfig.name for more information.
    suggestionResults: The suggestion results payload that this notification
      refers to. It will only be set when
      HumanAgentAssistantConfig.SuggestionConfig.group_suggestion_responses
      sets to true.
  """

  conversation = _messages.StringField(1)
  participant = _messages.StringField(2)
  suggestionResults = _messages.MessageField('GoogleCloudDialogflowV2beta1SuggestionResult', 3, repeated=True)


class GoogleCloudDialogflowV2beta1ImportDocumentsResponse(_messages.Message):
  r"""Response message for Documents.ImportDocuments.

  Fields:
    warnings: Includes details about skipped documents or any other warnings.
  """

  warnings = _messages.MessageField('GoogleRpcStatus', 1, repeated=True)


class GoogleCloudDialogflowV2beta1Intent(_messages.Message):
  r"""An intent categorizes an end-user's intention for one conversation turn.
  For each agent, you define many intents, where your combined intents can
  handle a complete conversation. When an end-user writes or says something,
  referred to as an end-user expression or end-user input, Dialogflow matches
  the end-user input to the best intent in your agent. Matching an intent is
  also known as intent classification. For more information, see the [intent
  guide](https://cloud.google.com/dialogflow/docs/intents-overview).

  Enums:
    DefaultResponsePlatformsValueListEntryValuesEnum:
    WebhookStateValueValuesEnum: Optional. Indicates whether webhooks are
      enabled for the intent.

  Fields:
    action: Optional. The name of the action associated with the intent. Note:
      The action name must not contain whitespaces.
    defaultResponsePlatforms: Optional. The list of platforms for which the
      first responses will be copied from the messages in PLATFORM_UNSPECIFIED
      (i.e. default platform).
    displayName: Required. The name of this intent.
    endInteraction: Optional. Indicates that this intent ends an interaction.
      Some integrations (e.g., Actions on Google or Dialogflow phone gateway)
      use this information to close interaction with an end user. Default is
      false.
    events: Optional. The collection of event names that trigger the intent.
      If the collection of input contexts is not empty, all of the contexts
      must be present in the active user session for an event to trigger this
      intent. Event names are limited to 150 characters.
    followupIntentInfo: Output only. Information about all followup intents
      that have this intent as a direct or indirect parent. We populate this
      field only in the output.
    inputContextNames: Optional. The list of context names required for this
      intent to be triggered. Formats: -
      `projects//agent/sessions/-/contexts/` -
      `projects//locations//agent/sessions/-/contexts/`
    isFallback: Optional. Indicates whether this is a fallback intent.
    liveAgentHandoff: Optional. Indicates that a live agent should be brought
      in to handle the interaction with the user. In most cases, when you set
      this flag to true, you would also want to set end_interaction to true as
      well. Default is false.
    messages: Optional. The collection of rich messages corresponding to the
      `Response` field in the Dialogflow console.
    mlDisabled: Optional. Indicates whether Machine Learning is disabled for
      the intent. Note: If `ml_disabled` setting is set to true, then this
      intent is not taken into account during inference in `ML ONLY` match
      mode. Also, auto-markup in the UI is turned off.
    mlEnabled: Optional. Indicates whether Machine Learning is enabled for the
      intent. Note: If `ml_enabled` setting is set to false, then this intent
      is not taken into account during inference in `ML ONLY` match mode.
      Also, auto-markup in the UI is turned off. DEPRECATED! Please use
      `ml_disabled` field instead. NOTE: If both `ml_enabled` and
      `ml_disabled` are either not set or false, then the default value is
      determined as follows: - Before April 15th, 2018 the default is:
      ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the
      default is: ml_enabled = true / ml_disabled = false.
    name: Optional. The unique identifier of this intent. Required for
      Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported
      formats: - `projects//agent/intents/` -
      `projects//locations//agent/intents/`
    outputContexts: Optional. The collection of contexts that are activated
      when the intent is matched. Context messages in this collection should
      not set the parameters field. Setting the `lifespan_count` to 0 will
      reset the context when the intent is matched. Format:
      `projects//agent/sessions/-/contexts/`.
    parameters: Optional. The collection of parameters associated with the
      intent.
    parentFollowupIntentName: Optional. The unique identifier of the parent
      intent in the chain of followup intents. You can set this field when
      creating an intent, for example with CreateIntent or BatchUpdateIntents,
      in order to make this intent a followup intent. It identifies the parent
      followup intent. Format: `projects//agent/intents/`.
    priority: Optional. The priority of this intent. Higher numbers represent
      higher priorities. - If the supplied value is unspecified or 0, the
      service translates the value to 500,000, which corresponds to the
      `Normal` priority in the console. - If the supplied value is negative,
      the intent is ignored in runtime detect intent requests.
    resetContexts: Optional. Indicates whether to delete all contexts in the
      current session when this intent is matched.
    rootFollowupIntentName: Output only. The unique identifier of the root
      intent in the chain of followup intents. It identifies the correct
      followup intents chain for this intent. Format:
      `projects//agent/intents/`.
    trainingPhrases: Optional. The collection of examples that the agent is
      trained on.
    webhookState: Optional. Indicates whether webhooks are enabled for the
      intent.
  """

  class DefaultResponsePlatformsValueListEntryValuesEnum(_messages.Enum):
    r"""DefaultResponsePlatformsValueListEntryValuesEnum enum type.

    Values:
      PLATFORM_UNSPECIFIED: Not specified.
      FACEBOOK: Facebook.
      SLACK: Slack.
      TELEGRAM: Telegram.
      KIK: Kik.
      SKYPE: Skype.
      LINE: Line.
      VIBER: Viber.
      ACTIONS_ON_GOOGLE: Google Assistant See [Dialogflow webhook format](http
        s://developers.google.com/assistant/actions/build/json/dialogflow-
        webhook-json)
      TELEPHONY: Telephony Gateway.
      GOOGLE_HANGOUTS: Google Hangouts.
    """
    PLATFORM_UNSPECIFIED = 0
    FACEBOOK = 1
    SLACK = 2
    TELEGRAM = 3
    KIK = 4
    SKYPE = 5
    LINE = 6
    VIBER = 7
    ACTIONS_ON_GOOGLE = 8
    TELEPHONY = 9
    GOOGLE_HANGOUTS = 10

  class WebhookStateValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates whether webhooks are enabled for the intent.

    Values:
      WEBHOOK_STATE_UNSPECIFIED: Webhook is disabled in the agent and in the
        intent.
      WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and in the
        intent.
      WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook is enabled in the agent
        and in the intent. Also, each slot filling prompt is forwarded to the
        webhook.
    """
    WEBHOOK_STATE_UNSPECIFIED = 0
    WEBHOOK_STATE_ENABLED = 1
    WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING = 2

  action = _messages.StringField(1)
  defaultResponsePlatforms = _messages.EnumField('DefaultResponsePlatformsValueListEntryValuesEnum', 2, repeated=True)
  displayName = _messages.StringField(3)
  endInteraction = _messages.BooleanField(4)
  events = _messages.StringField(5, repeated=True)
  followupIntentInfo = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo', 6, repeated=True)
  inputContextNames = _messages.StringField(7, repeated=True)
  isFallback = _messages.BooleanField(8)
  liveAgentHandoff = _messages.BooleanField(9)
  messages = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessage', 10, repeated=True)
  mlDisabled = _messages.BooleanField(11)
  mlEnabled = _messages.BooleanField(12)
  name = _messages.StringField(13)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2beta1Context', 14, repeated=True)
  parameters = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentParameter', 15, repeated=True)
  parentFollowupIntentName = _messages.StringField(16)
  priority = _messages.IntegerField(17, variant=_messages.Variant.INT32)
  resetContexts = _messages.BooleanField(18)
  rootFollowupIntentName = _messages.StringField(19)
  trainingPhrases = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentTrainingPhrase', 20, repeated=True)
  webhookState = _messages.EnumField('WebhookStateValueValuesEnum', 21)


class GoogleCloudDialogflowV2beta1IntentFollowupIntentInfo(_messages.Message):
  r"""Represents a single followup intent in the chain.

  Fields:
    followupIntentName: The unique identifier of the followup intent. Format:
      `projects//agent/intents/`.
    parentFollowupIntentName: The unique identifier of the followup intent's
      parent. Format: `projects//agent/intents/`.
  """

  followupIntentName = _messages.StringField(1)
  parentFollowupIntentName = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessage(_messages.Message):
  r"""Corresponds to the `Response` field in the Dialogflow console.

  Enums:
    PlatformValueValuesEnum: Optional. The platform that this message is
      intended for.

  Messages:
    PayloadValue: A custom platform-specific response.

  Fields:
    basicCard: Displays a basic card for Actions on Google.
    browseCarouselCard: Browse carousel card for Actions on Google.
    card: Displays a card.
    carouselSelect: Displays a carousel card for Actions on Google.
    image: Displays an image.
    linkOutSuggestion: Displays a link out suggestion chip for Actions on
      Google.
    listSelect: Displays a list card for Actions on Google.
    mediaContent: The media content card for Actions on Google.
    payload: A custom platform-specific response.
    platform: Optional. The platform that this message is intended for.
    quickReplies: Displays quick replies.
    rbmCarouselRichCard: Rich Business Messaging (RBM) carousel rich card
      response.
    rbmStandaloneRichCard: Standalone Rich Business Messaging (RBM) rich card
      response.
    rbmText: Rich Business Messaging (RBM) text response. RBM allows
      businesses to send enriched and branded versions of SMS. See
      https://jibe.google.com/business-messaging.
    simpleResponses: Returns a voice or text-only response for Actions on
      Google.
    suggestions: Displays suggestion chips for Actions on Google.
    tableCard: Table card for Actions on Google.
    telephonyPlayAudio: Plays audio from a file in Telephony Gateway.
    telephonySynthesizeSpeech: Synthesizes speech in Telephony Gateway.
    telephonyTransferCall: Transfers the call in Telephony Gateway.
    text: Returns a text response.
  """

  class PlatformValueValuesEnum(_messages.Enum):
    r"""Optional. The platform that this message is intended for.

    Values:
      PLATFORM_UNSPECIFIED: Not specified.
      FACEBOOK: Facebook.
      SLACK: Slack.
      TELEGRAM: Telegram.
      KIK: Kik.
      SKYPE: Skype.
      LINE: Line.
      VIBER: Viber.
      ACTIONS_ON_GOOGLE: Google Assistant See [Dialogflow webhook format](http
        s://developers.google.com/assistant/actions/build/json/dialogflow-
        webhook-json)
      TELEPHONY: Telephony Gateway.
      GOOGLE_HANGOUTS: Google Hangouts.
    """
    PLATFORM_UNSPECIFIED = 0
    FACEBOOK = 1
    SLACK = 2
    TELEGRAM = 3
    KIK = 4
    SKYPE = 5
    LINE = 6
    VIBER = 7
    ACTIONS_ON_GOOGLE = 8
    TELEPHONY = 9
    GOOGLE_HANGOUTS = 10

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""A custom platform-specific response.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  basicCard = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBasicCard', 1)
  browseCarouselCard = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard', 2)
  card = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageCard', 3)
  carouselSelect = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect', 4)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 5)
  linkOutSuggestion = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion', 6)
  listSelect = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageListSelect', 7)
  mediaContent = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageMediaContent', 8)
  payload = _messages.MessageField('PayloadValue', 9)
  platform = _messages.EnumField('PlatformValueValuesEnum', 10)
  quickReplies = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageQuickReplies', 11)
  rbmCarouselRichCard = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard', 12)
  rbmStandaloneRichCard = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard', 13)
  rbmText = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmText', 14)
  simpleResponses = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses', 15)
  suggestions = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSuggestions', 16)
  tableCard = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTableCard', 17)
  telephonyPlayAudio = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio', 18)
  telephonySynthesizeSpeech = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech', 19)
  telephonyTransferCall = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall', 20)
  text = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageText', 21)


class GoogleCloudDialogflowV2beta1IntentMessageBasicCard(_messages.Message):
  r"""The basic card message. Useful for displaying information.

  Fields:
    buttons: Optional. The collection of card buttons.
    formattedText: Required, unless image is present. The body text of the
      card.
    image: Optional. The image for the card.
    subtitle: Optional. The subtitle of the card.
    title: Optional. The title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton', 1, repeated=True)
  formattedText = _messages.StringField(2)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 3)
  subtitle = _messages.StringField(4)
  title = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton(_messages.Message):
  r"""The button object that appears at the bottom of a card.

  Fields:
    openUriAction: Required. Action to take when a user taps on the button.
    title: Required. The title of the button.
  """

  openUriAction = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction', 1)
  title = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageBasicCardButtonOpenUriAction(_messages.Message):
  r"""Opens the given URI.

  Fields:
    uri: Required. The HTTP or HTTPS scheme URI.
  """

  uri = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCard(_messages.Message):
  r"""Browse Carousel Card for Actions on Google.
  https://developers.google.com/actions/assistant/responses#browsing_carousel

  Enums:
    ImageDisplayOptionsValueValuesEnum: Optional. Settings for displaying the
      image. Applies to every image in items.

  Fields:
    imageDisplayOptions: Optional. Settings for displaying the image. Applies
      to every image in items.
    items: Required. List of items in the Browse Carousel Card. Minimum of two
      items, maximum of ten.
  """

  class ImageDisplayOptionsValueValuesEnum(_messages.Enum):
    r"""Optional. Settings for displaying the image. Applies to every image in
    items.

    Values:
      IMAGE_DISPLAY_OPTIONS_UNSPECIFIED: Fill the gaps between the image and
        the image container with gray bars.
      GRAY: Fill the gaps between the image and the image container with gray
        bars.
      WHITE: Fill the gaps between the image and the image container with
        white bars.
      CROPPED: Image is scaled such that the image width and height match or
        exceed the container dimensions. This may crop the top and bottom of
        the image if the scaled image height is greater than the container
        height, or crop the left and right of the image if the scaled image
        width is greater than the container width. This is similar to "Zoom
        Mode" on a widescreen TV when playing a 4:3 video.
      BLURRED_BACKGROUND: Pad the gaps between image and image frame with a
        blurred copy of the same image.
    """
    IMAGE_DISPLAY_OPTIONS_UNSPECIFIED = 0
    GRAY = 1
    WHITE = 2
    CROPPED = 3
    BLURRED_BACKGROUND = 4

  imageDisplayOptions = _messages.EnumField('ImageDisplayOptionsValueValuesEnum', 1)
  items = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem', 2, repeated=True)


class GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItem(_messages.Message):
  r"""Browsing carousel tile

  Fields:
    description: Optional. Description of the carousel item. Maximum of four
      lines of text.
    footer: Optional. Text that appears at the bottom of the Browse Carousel
      Card. Maximum of one line of text.
    image: Optional. Hero image for the carousel item.
    openUriAction: Required. Action to present to the user.
    title: Required. Title of the carousel item. Maximum of two lines of text.
  """

  description = _messages.StringField(1)
  footer = _messages.StringField(2)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 3)
  openUriAction = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction', 4)
  title = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1IntentMessageBrowseCarouselCardBrowseCarouselCardItemOpenUrlAction(_messages.Message):
  r"""Actions on Google action to open a given url.

  Enums:
    UrlTypeHintValueValuesEnum: Optional. Specifies the type of viewer that is
      used when opening the URL. Defaults to opening via web browser.

  Fields:
    url: Required. URL
    urlTypeHint: Optional. Specifies the type of viewer that is used when
      opening the URL. Defaults to opening via web browser.
  """

  class UrlTypeHintValueValuesEnum(_messages.Enum):
    r"""Optional. Specifies the type of viewer that is used when opening the
    URL. Defaults to opening via web browser.

    Values:
      URL_TYPE_HINT_UNSPECIFIED: Unspecified
      AMP_ACTION: Url would be an amp action
      AMP_CONTENT: URL that points directly to AMP content, or to a canonical
        URL which refers to AMP content via .
    """
    URL_TYPE_HINT_UNSPECIFIED = 0
    AMP_ACTION = 1
    AMP_CONTENT = 2

  url = _messages.StringField(1)
  urlTypeHint = _messages.EnumField('UrlTypeHintValueValuesEnum', 2)


class GoogleCloudDialogflowV2beta1IntentMessageCard(_messages.Message):
  r"""The card response message.

  Fields:
    buttons: Optional. The collection of card buttons.
    imageUri: Optional. The public URI to an image file for the card.
    subtitle: Optional. The subtitle of the card.
    title: Optional. The title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageCardButton', 1, repeated=True)
  imageUri = _messages.StringField(2)
  subtitle = _messages.StringField(3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2beta1IntentMessageCardButton(_messages.Message):
  r"""Optional. Contains information about a button.

  Fields:
    postback: Optional. The text to send back to the Dialogflow API or a URI
      to open.
    text: Optional. The text to show on the button.
  """

  postback = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageCarouselSelect(_messages.Message):
  r"""The card for presenting a carousel of options to select from.

  Fields:
    items: Required. Carousel items.
  """

  items = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem', 1, repeated=True)


class GoogleCloudDialogflowV2beta1IntentMessageCarouselSelectItem(_messages.Message):
  r"""An item in the carousel.

  Fields:
    description: Optional. The body text of the card.
    image: Optional. The image to display.
    info: Required. Additional info about the option item.
    title: Required. Title of the carousel item.
  """

  description = _messages.StringField(1)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 2)
  info = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo', 3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2beta1IntentMessageColumnProperties(_messages.Message):
  r"""Column properties for TableCard.

  Enums:
    HorizontalAlignmentValueValuesEnum: Optional. Defines text alignment for
      all cells in this column.

  Fields:
    header: Required. Column heading.
    horizontalAlignment: Optional. Defines text alignment for all cells in
      this column.
  """

  class HorizontalAlignmentValueValuesEnum(_messages.Enum):
    r"""Optional. Defines text alignment for all cells in this column.

    Values:
      HORIZONTAL_ALIGNMENT_UNSPECIFIED: Text is aligned to the leading edge of
        the column.
      LEADING: Text is aligned to the leading edge of the column.
      CENTER: Text is centered in the column.
      TRAILING: Text is aligned to the trailing edge of the column.
    """
    HORIZONTAL_ALIGNMENT_UNSPECIFIED = 0
    LEADING = 1
    CENTER = 2
    TRAILING = 3

  header = _messages.StringField(1)
  horizontalAlignment = _messages.EnumField('HorizontalAlignmentValueValuesEnum', 2)


class GoogleCloudDialogflowV2beta1IntentMessageImage(_messages.Message):
  r"""The image response message.

  Fields:
    accessibilityText: A text description of the image to be used for
      accessibility, e.g., screen readers. Required if image_uri is set for
      CarouselSelect.
    imageUri: Optional. The public URI to an image file.
  """

  accessibilityText = _messages.StringField(1)
  imageUri = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestion(_messages.Message):
  r"""The suggestion chip message that allows the user to jump out to the app
  or website associated with this agent.

  Fields:
    destinationName: Required. The name of the app or site this chip is
      linking to.
    uri: Required. The URI of the app or site to open when the user taps the
      suggestion chip.
  """

  destinationName = _messages.StringField(1)
  uri = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageListSelect(_messages.Message):
  r"""The card for presenting a list of options to select from.

  Fields:
    items: Required. List items.
    subtitle: Optional. Subtitle of the list.
    title: Optional. The overall title of the list.
  """

  items = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageListSelectItem', 1, repeated=True)
  subtitle = _messages.StringField(2)
  title = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1IntentMessageListSelectItem(_messages.Message):
  r"""An item in the list.

  Fields:
    description: Optional. The main text describing the item.
    image: Optional. The image to display.
    info: Required. Additional information about this option.
    title: Required. The title of the list item.
  """

  description = _messages.StringField(1)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 2)
  info = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo', 3)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2beta1IntentMessageMediaContent(_messages.Message):
  r"""The media content card for Actions on Google.

  Enums:
    MediaTypeValueValuesEnum: Optional. What type of media is the content (ie
      "audio").

  Fields:
    mediaObjects: Required. List of media objects.
    mediaType: Optional. What type of media is the content (ie "audio").
  """

  class MediaTypeValueValuesEnum(_messages.Enum):
    r"""Optional. What type of media is the content (ie "audio").

    Values:
      RESPONSE_MEDIA_TYPE_UNSPECIFIED: Unspecified.
      AUDIO: Response media type is audio.
    """
    RESPONSE_MEDIA_TYPE_UNSPECIFIED = 0
    AUDIO = 1

  mediaObjects = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject', 1, repeated=True)
  mediaType = _messages.EnumField('MediaTypeValueValuesEnum', 2)


class GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponseMediaObject(_messages.Message):
  r"""Response media object for media content card.

  Fields:
    contentUrl: Required. Url where the media is stored.
    description: Optional. Description of media card.
    icon: Optional. Icon to display above media content.
    largeImage: Optional. Image to display above media content.
    name: Required. Name of media card.
  """

  contentUrl = _messages.StringField(1)
  description = _messages.StringField(2)
  icon = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 3)
  largeImage = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 4)
  name = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1IntentMessageQuickReplies(_messages.Message):
  r"""The quick replies response message.

  Fields:
    quickReplies: Optional. The collection of quick replies.
    title: Optional. The title of the collection of quick replies.
  """

  quickReplies = _messages.StringField(1, repeated=True)
  title = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent(_messages.Message):
  r"""Rich Business Messaging (RBM) Card content

  Fields:
    description: Optional. Description of the card (at most 2000 bytes). At
      least one of the title, description or media must be set.
    media: Optional. However at least one of the title, description or media
      must be set. Media (image, GIF or a video) to include in the card.
    suggestions: Optional. List of suggestions to include in the card.
    title: Optional. Title of the card (at most 200 bytes). At least one of
      the title, description or media must be set.
  """

  description = _messages.StringField(1)
  media = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia', 2)
  suggestions = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion', 3, repeated=True)
  title = _messages.StringField(4)


class GoogleCloudDialogflowV2beta1IntentMessageRbmCardContentRbmMedia(_messages.Message):
  r"""Rich Business Messaging (RBM) Media displayed in Cards The following
  media-types are currently supported: Image Types * image/jpeg * image/jpg' *
  image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 *
  video/mpeg * video/mpeg4 * video/webm

  Enums:
    HeightValueValuesEnum: Required for cards with vertical orientation. The
      height of the media within a rich card with a vertical layout. For a
      standalone card with horizontal layout, height is not customizable, and
      this field is ignored.

  Fields:
    fileUri: Required. Publicly reachable URI of the file. The RBM platform
      determines the MIME type of the file from the content-type field in the
      HTTP headers when the platform fetches the file. The content-type field
      must be present and accurate in the HTTP response from the URL.
    height: Required for cards with vertical orientation. The height of the
      media within a rich card with a vertical layout. For a standalone card
      with horizontal layout, height is not customizable, and this field is
      ignored.
    thumbnailUri: Optional. Publicly reachable URI of the thumbnail.If you
      don't provide a thumbnail URI, the RBM platform displays a blank
      placeholder thumbnail until the user's device downloads the file.
      Depending on the user's setting, the file may not download automatically
      and may require the user to tap a download button.
  """

  class HeightValueValuesEnum(_messages.Enum):
    r"""Required for cards with vertical orientation. The height of the media
    within a rich card with a vertical layout. For a standalone card with
    horizontal layout, height is not customizable, and this field is ignored.

    Values:
      HEIGHT_UNSPECIFIED: Not specified.
      SHORT: 112 DP.
      MEDIUM: 168 DP.
      TALL: 264 DP. Not available for rich card carousels when the card width
        is set to small.
    """
    HEIGHT_UNSPECIFIED = 0
    SHORT = 1
    MEDIUM = 2
    TALL = 3

  fileUri = _messages.StringField(1)
  height = _messages.EnumField('HeightValueValuesEnum', 2)
  thumbnailUri = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCard(_messages.Message):
  r"""Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you
  to respond to users with more vivid content, e.g. with media and
  suggestions. If you want to show a single card with more control over the
  layout, please use RbmStandaloneCard instead.

  Enums:
    CardWidthValueValuesEnum: Required. The width of the cards in the
      carousel.

  Fields:
    cardContents: Required. The cards in the carousel. A carousel must have at
      least 2 cards and at most 10.
    cardWidth: Required. The width of the cards in the carousel.
  """

  class CardWidthValueValuesEnum(_messages.Enum):
    r"""Required. The width of the cards in the carousel.

    Values:
      CARD_WIDTH_UNSPECIFIED: Not specified.
      SMALL: 120 DP. Note that tall media cannot be used.
      MEDIUM: 232 DP.
    """
    CARD_WIDTH_UNSPECIFIED = 0
    SMALL = 1
    MEDIUM = 2

  cardContents = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent', 1, repeated=True)
  cardWidth = _messages.EnumField('CardWidthValueValuesEnum', 2)


class GoogleCloudDialogflowV2beta1IntentMessageRbmStandaloneCard(_messages.Message):
  r"""Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you
  to respond to users with more vivid content, e.g. with media and
  suggestions. You can group multiple rich cards into one using
  RbmCarouselCard but carousel cards will give you less control over the card
  layout.

  Enums:
    CardOrientationValueValuesEnum: Required. Orientation of the card.
    ThumbnailImageAlignmentValueValuesEnum: Required if orientation is
      horizontal. Image preview alignment for standalone cards with horizontal
      layout.

  Fields:
    cardContent: Required. Card content.
    cardOrientation: Required. Orientation of the card.
    thumbnailImageAlignment: Required if orientation is horizontal. Image
      preview alignment for standalone cards with horizontal layout.
  """

  class CardOrientationValueValuesEnum(_messages.Enum):
    r"""Required. Orientation of the card.

    Values:
      CARD_ORIENTATION_UNSPECIFIED: Not specified.
      HORIZONTAL: Horizontal layout.
      VERTICAL: Vertical layout.
    """
    CARD_ORIENTATION_UNSPECIFIED = 0
    HORIZONTAL = 1
    VERTICAL = 2

  class ThumbnailImageAlignmentValueValuesEnum(_messages.Enum):
    r"""Required if orientation is horizontal. Image preview alignment for
    standalone cards with horizontal layout.

    Values:
      THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED: Not specified.
      LEFT: Thumbnail preview is left-aligned.
      RIGHT: Thumbnail preview is right-aligned.
    """
    THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED = 0
    LEFT = 1
    RIGHT = 2

  cardContent = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmCardContent', 1)
  cardOrientation = _messages.EnumField('CardOrientationValueValuesEnum', 2)
  thumbnailImageAlignment = _messages.EnumField('ThumbnailImageAlignmentValueValuesEnum', 3)


class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction(_messages.Message):
  r"""Rich Business Messaging (RBM) suggested client-side action that the user
  can choose from the card.

  Fields:
    dial: Suggested client side action: Dial a phone number
    openUrl: Suggested client side action: Open a URI on device
    postbackData: Opaque payload that the Dialogflow receives in a user event
      when the user taps the suggested action. This data will be also
      forwarded to webhook to allow performing custom business logic.
    shareLocation: Suggested client side action: Share user location
    text: Text to display alongside the action.
  """

  dial = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial', 1)
  openUrl = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri', 2)
  postbackData = _messages.StringField(3)
  shareLocation = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation', 4)
  text = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionDial(_messages.Message):
  r"""Opens the user's default dialer app with the specified phone number but
  does not dial automatically.

  Fields:
    phoneNumber: Required. The phone number to fill in the default dialer app.
      This field should be in [E.164](https://en.wikipedia.org/wiki/E.164)
      format. An example of a correctly formatted phone number: +15556767888.
  """

  phoneNumber = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionOpenUri(_messages.Message):
  r"""Opens the user's default web browser app to the specified uri If the
  user has an app installed that is registered as the default handler for the
  URL, then this app will be opened instead, and its icon will be used in the
  suggested action UI.

  Fields:
    uri: Required. The uri to open on the user device
  """

  uri = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedActionRbmSuggestedActionShareLocation(_messages.Message):
  r"""Opens the device's location chooser so the user can pick a location to
  send back to the agent.
  """



class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply(_messages.Message):
  r"""Rich Business Messaging (RBM) suggested reply that the user can click
  instead of typing in their own response.

  Fields:
    postbackData: Opaque payload that the Dialogflow receives in a user event
      when the user taps the suggested reply. This data will be also forwarded
      to webhook to allow performing custom business logic.
    text: Suggested reply text.
  """

  postbackData = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion(_messages.Message):
  r"""Rich Business Messaging (RBM) suggestion. Suggestions allow user to
  easily select/click a predefined response or perform an action (like opening
  a web uri).

  Fields:
    action: Predefined client side actions that user can choose
    reply: Predefined replies for user to select instead of typing
  """

  action = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedAction', 1)
  reply = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestedReply', 2)


class GoogleCloudDialogflowV2beta1IntentMessageRbmText(_messages.Message):
  r"""Rich Business Messaging (RBM) text response with suggestions.

  Fields:
    rbmSuggestion: Optional. One or more suggestions to show to the user.
    text: Required. Text sent and displayed to the user.
  """

  rbmSuggestion = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageRbmSuggestion', 1, repeated=True)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageSelectItemInfo(_messages.Message):
  r"""Additional info about the select item for when it is triggered in a
  dialog.

  Fields:
    key: Required. A unique key that will be sent back to the agent if this
      response is given.
    synonyms: Optional. A list of synonyms that can also be used to trigger
      this item in dialog.
  """

  key = _messages.StringField(1)
  synonyms = _messages.StringField(2, repeated=True)


class GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse(_messages.Message):
  r"""The simple response message containing speech or text.

  Fields:
    displayText: Optional. The text to display.
    ssml: One of text_to_speech or ssml must be provided. Structured spoken
      response to the user in the SSML format. Mutually exclusive with
      text_to_speech.
    textToSpeech: One of text_to_speech or ssml must be provided. The plain
      text of the speech output. Mutually exclusive with ssml.
  """

  displayText = _messages.StringField(1)
  ssml = _messages.StringField(2)
  textToSpeech = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1IntentMessageSimpleResponses(_messages.Message):
  r"""The collection of simple response candidates. This message in
  `QueryResult.fulfillment_messages` and
  `WebhookResponse.fulfillment_messages` should contain only one
  `SimpleResponse`.

  Fields:
    simpleResponses: Required. The list of simple responses.
  """

  simpleResponses = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSimpleResponse', 1, repeated=True)


class GoogleCloudDialogflowV2beta1IntentMessageSuggestion(_messages.Message):
  r"""The suggestion chip message that the user can tap to quickly post a
  reply to the conversation.

  Fields:
    title: Required. The text shown the in the suggestion chip.
  """

  title = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageSuggestions(_messages.Message):
  r"""The collection of suggestions.

  Fields:
    suggestions: Required. The list of suggested replies.
  """

  suggestions = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageSuggestion', 1, repeated=True)


class GoogleCloudDialogflowV2beta1IntentMessageTableCard(_messages.Message):
  r"""Table card for Actions on Google.

  Fields:
    buttons: Optional. List of buttons for the card.
    columnProperties: Optional. Display properties for the columns in this
      table.
    image: Optional. Image which should be displayed on the card.
    rows: Optional. Rows in this table of data.
    subtitle: Optional. Subtitle to the title.
    title: Required. Title of the card.
  """

  buttons = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageBasicCardButton', 1, repeated=True)
  columnProperties = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageColumnProperties', 2, repeated=True)
  image = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageImage', 3)
  rows = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTableCardRow', 4, repeated=True)
  subtitle = _messages.StringField(5)
  title = _messages.StringField(6)


class GoogleCloudDialogflowV2beta1IntentMessageTableCardCell(_messages.Message):
  r"""Cell of TableCardRow.

  Fields:
    text: Required. Text in this cell.
  """

  text = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageTableCardRow(_messages.Message):
  r"""Row of TableCard.

  Fields:
    cells: Optional. List of cells that make up this row.
    dividerAfter: Optional. Whether to add a visual divider after this row.
  """

  cells = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessageTableCardCell', 1, repeated=True)
  dividerAfter = _messages.BooleanField(2)


class GoogleCloudDialogflowV2beta1IntentMessageTelephonyPlayAudio(_messages.Message):
  r"""Plays audio from a file in Telephony Gateway.

  Fields:
    audioUri: Required. URI to a Google Cloud Storage object containing the
      audio to play, e.g., "gs://bucket/object". The object must contain a
      single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.
      This object must be readable by the `service-@gcp-sa-
      dialogflow.iam.gserviceaccount.com` service account where is the number
      of the Telephony Gateway project (usually the same as the Dialogflow
      agent project). If the Google Cloud Storage bucket is in the Telephony
      Gateway project, this permission is added by default when enabling the
      Dialogflow V2 API. For audio from other sources, consider using the
      `TelephonySynthesizeSpeech` message with SSML.
  """

  audioUri = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageTelephonySynthesizeSpeech(_messages.Message):
  r"""Synthesizes speech and plays back the synthesized audio to the caller in
  Telephony Gateway. Telephony Gateway takes the synthesizer settings from
  `DetectIntentResponse.output_audio_config` which can either be set at
  request-level or can come from the agent-level synthesizer config.

  Fields:
    ssml: The SSML to be synthesized. For more information, see
      [SSML](https://developers.google.com/actions/reference/ssml).
    text: The raw text to be synthesized.
  """

  ssml = _messages.StringField(1)
  text = _messages.StringField(2)


class GoogleCloudDialogflowV2beta1IntentMessageTelephonyTransferCall(_messages.Message):
  r"""Transfers the call in Telephony Gateway.

  Fields:
    phoneNumber: Required. The phone number to transfer the call to in [E.164
      format](https://en.wikipedia.org/wiki/E.164). We currently only allow
      transferring to US numbers (+1xxxyyyzzzz).
  """

  phoneNumber = _messages.StringField(1)


class GoogleCloudDialogflowV2beta1IntentMessageText(_messages.Message):
  r"""The text response message.

  Fields:
    text: Optional. The collection of the agent's responses.
  """

  text = _messages.StringField(1, repeated=True)


class GoogleCloudDialogflowV2beta1IntentParameter(_messages.Message):
  r"""Represents intent parameters.

  Fields:
    defaultValue: Optional. The default value to use when the `value` yields
      an empty result. Default values can be extracted from contexts by using
      the following syntax: `#context_name.parameter_name`.
    displayName: Required. The name of the parameter.
    entityTypeDisplayName: Optional. The name of the entity type, prefixed
      with `@`, that describes values of the parameter. If the parameter is
      required, this must be provided.
    isList: Optional. Indicates whether the parameter represents a list of
      values.
    mandatory: Optional. Indicates whether the parameter is required. That is,
      whether the intent cannot be completed without collecting the parameter
      value.
    name: The unique identifier of this parameter.
    prompts: Optional. The collection of prompts that the agent can present to
      the user in order to collect a value for the parameter.
    value: Optional. The definition of the parameter value. It can be: - a
      constant string, - a parameter value defined as `$parameter_name`, - an
      original parameter value defined as `$parameter_name.original`, - a
      parameter value from some context defined as
      `#context_name.parameter_name`.
  """

  defaultValue = _messages.StringField(1)
  displayName = _messages.StringField(2)
  entityTypeDisplayName = _messages.StringField(3)
  isList = _messages.BooleanField(4)
  mandatory = _messages.BooleanField(5)
  name = _messages.StringField(6)
  prompts = _messages.StringField(7, repeated=True)
  value = _messages.StringField(8)


class GoogleCloudDialogflowV2beta1IntentTrainingPhrase(_messages.Message):
  r"""Represents an example that the agent is trained on.

  Enums:
    TypeValueValuesEnum: Required. The type of the training phrase.

  Fields:
    name: Output only. The unique identifier of this training phrase.
    parts: Required. The ordered list of training phrase parts. The parts are
      concatenated in order to form the training phrase. Note: The API does
      not automatically annotate training phrases like the Dialogflow Console
      does. Note: Do not forget to include whitespace at part boundaries, so
      the training phrase is well formatted when the parts are concatenated.
      If the training phrase does not need to be annotated with parameters,
      you just need a single part with only the Part.text field set. If you
      want to annotate the training phrase, you must create multiple parts,
      where the fields of each part are populated in one of two ways: -
      `Part.text` is set to a part of the phrase that has no parameters. -
      `Part.text` is set to a part of the phrase that you want to annotate,
      and the `entity_type`, `alias`, and `user_defined` fields are all set.
    timesAddedCount: Optional. Indicates how many times this example was added
      to the intent. Each time a developer adds an existing sample by editing
      an intent or training, this counter is increased.
    type: Required. The type of the training phrase.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the training phrase.

    Values:
      TYPE_UNSPECIFIED: Not specified. This value should never be used.
      EXAMPLE: Examples do not contain @-prefixed entity type names, but
        example parts can be annotated with entity types.
      TEMPLATE: Templates are not annotated with entity types, but they can
        contain @-prefixed entity type names as substrings. Template mode has
        been deprecated. Example mode is the only supported way to create new
        training phrases. If you have existing training phrases that you've
        created in template mode, those will continue to work.
    """
    TYPE_UNSPECIFIED = 0
    EXAMPLE = 1
    TEMPLATE = 2

  name = _messages.StringField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart', 2, repeated=True)
  timesAddedCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  type = _messages.EnumField('TypeValueValuesEnum', 4)


class GoogleCloudDialogflowV2beta1IntentTrainingPhrasePart(_messages.Message):
  r"""Represents a part of a training phrase.

  Fields:
    alias: Optional. The parameter name for the value extracted from the
      annotated part of the example. This field is required for annotated
      parts of the training phrase.
    entityType: Optional. The entity type name prefixed with `@`. This field
      is required for annotated parts of the training phrase.
    text: Required. The text for this part.
    userDefined: Optional. Indicates whether the text was manually annotated.
      This field is set to true when the Dialogflow Console is used to
      manually annotate the part. When creating an annotated part with the
      API, you must set this to true.
  """

  alias = _messages.StringField(1)
  entityType = _messages.StringField(2)
  text = _messages.StringField(3)
  userDefined = _messages.BooleanField(4)


class GoogleCloudDialogflowV2beta1KnowledgeAnswers(_messages.Message):
  r"""Represents the result of querying a Knowledge base.

  Fields:
    answers: A list of answers from Knowledge Connector.
  """

  answers = _messages.MessageField('GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer', 1, repeated=True)


class GoogleCloudDialogflowV2beta1KnowledgeAnswersAnswer(_messages.Message):
  r"""An answer from Knowledge Connector.

  Enums:
    MatchConfidenceLevelValueValuesEnum: The system's confidence level that
      this knowledge answer is a good match for this conversational query.
      NOTE: The confidence level for a given `` pair may change without
      notice, as it depends on models that are constantly being improved.
      However, it will change less frequently than the confidence score below,
      and should be preferred for referencing the quality of an answer.

  Fields:
    answer: The piece of text from the `source` knowledge base document that
      answers this conversational query.
    faqQuestion: The corresponding FAQ question if the answer was extracted
      from a FAQ Document, empty otherwise.
    matchConfidence: The system's confidence score that this Knowledge answer
      is a good match for this conversational query. The range is from 0.0
      (completely uncertain) to 1.0 (completely certain). Note: The confidence
      score is likely to vary somewhat (possibly even for identical requests),
      as the underlying model is under constant improvement. It may be
      deprecated in the future. We recommend using `match_confidence_level`
      which should be generally more stable.
    matchConfidenceLevel: The system's confidence level that this knowledge
      answer is a good match for this conversational query. NOTE: The
      confidence level for a given `` pair may change without notice, as it
      depends on models that are constantly being improved. However, it will
      change less frequently than the confidence score below, and should be
      preferred for referencing the quality of an answer.
    source: Indicates which Knowledge Document this answer was extracted from.
      Format: `projects//knowledgeBases//documents/`.
  """

  class MatchConfidenceLevelValueValuesEnum(_messages.Enum):
    r"""The system's confidence level that this knowledge answer is a good
    match for this conversational query. NOTE: The confidence level for a
    given `` pair may change without notice, as it depends on models that are
    constantly being improved. However, it will change less frequently than
    the confidence score below, and should be preferred for referencing the
    quality of an answer.

    Values:
      MATCH_CONFIDENCE_LEVEL_UNSPECIFIED: Not specified.
      LOW: Indicates that the confidence is low.
      MEDIUM: Indicates our confidence is medium.
      HIGH: Indicates our confidence is high.
    """
    MATCH_CONFIDENCE_LEVEL_UNSPECIFIED = 0
    LOW = 1
    MEDIUM = 2
    HIGH = 3

  answer = _messages.StringField(1)
  faqQuestion = _messages.StringField(2)
  matchConfidence = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  matchConfidenceLevel = _messages.EnumField('MatchConfidenceLevelValueValuesEnum', 4)
  source = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata(_messages.Message):
  r"""Metadata in google::longrunning::Operation for Knowledge operations.

  Enums:
    StateValueValuesEnum: Required. Output only. The current state of this
      operation.

  Fields:
    state: Required. Output only. The current state of this operation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Required. Output only. The current state of this operation.

    Values:
      STATE_UNSPECIFIED: State unspecified.
      PENDING: The operation has been created.
      RUNNING: The operation is currently running.
      DONE: The operation is done, either cancelled or completed.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    DONE = 3

  state = _messages.EnumField('StateValueValuesEnum', 1)


class GoogleCloudDialogflowV2beta1Message(_messages.Message):
  r"""Represents a message posted into a conversation.

  Enums:
    ParticipantRoleValueValuesEnum: Output only. The role of the participant.

  Fields:
    content: Required. The message content.
    createTime: Output only. The time when the message was created in Contact
      Center AI.
    languageCode: Optional. The message language. This should be a
      [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
      Example: "en-US".
    messageAnnotation: Output only. The annotation for the message.
    name: Optional. The unique identifier of the message. Format:
      `projects//locations//conversations//messages/`.
    participant: Output only. The participant that sends this message.
    participantRole: Output only. The role of the participant.
    sendTime: Optional. The time when the message was sent.
    sentimentAnalysis: Output only. The sentiment analysis result for the
      message.
  """

  class ParticipantRoleValueValuesEnum(_messages.Enum):
    r"""Output only. The role of the participant.

    Values:
      ROLE_UNSPECIFIED: Participant role not set.
      HUMAN_AGENT: Participant is a human agent.
      AUTOMATED_AGENT: Participant is an automated agent, such as a Dialogflow
        agent.
      END_USER: Participant is an end user that has called or chatted with
        Dialogflow services.
    """
    ROLE_UNSPECIFIED = 0
    HUMAN_AGENT = 1
    AUTOMATED_AGENT = 2
    END_USER = 3

  content = _messages.StringField(1)
  createTime = _messages.StringField(2)
  languageCode = _messages.StringField(3)
  messageAnnotation = _messages.MessageField('GoogleCloudDialogflowV2beta1MessageAnnotation', 4)
  name = _messages.StringField(5)
  participant = _messages.StringField(6)
  participantRole = _messages.EnumField('ParticipantRoleValueValuesEnum', 7)
  sendTime = _messages.StringField(8)
  sentimentAnalysis = _messages.MessageField('GoogleCloudDialogflowV2beta1SentimentAnalysisResult', 9)


class GoogleCloudDialogflowV2beta1MessageAnnotation(_messages.Message):
  r"""Represents the result of annotation for the message.

  Fields:
    containEntities: Required. Indicates whether the text message contains
      entities.
    parts: Optional. The collection of annotated message parts ordered by
      their position in the message. You can recover the annotated message by
      concatenating [AnnotatedMessagePart.text].
  """

  containEntities = _messages.BooleanField(1)
  parts = _messages.MessageField('GoogleCloudDialogflowV2beta1AnnotatedMessagePart', 2, repeated=True)


class GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest(_messages.Message):
  r"""Represents the contents of the original request that was passed to the
  `[Streaming]DetectIntent` call.

  Messages:
    PayloadValue: Optional. This field is set to the value of the
      `QueryParameters.payload` field passed in the request. Some integrations
      that query a Dialogflow agent may provide additional information in the
      payload. In particular, for the Dialogflow Phone Gateway integration,
      this field has the form: { "telephony": { "caller_id": "+18558363987" }
      } Note: The caller ID field (`caller_id`) will be redacted for Trial
      Edition agents and populated with the caller ID in [E.164
      format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
      agents.

  Fields:
    payload: Optional. This field is set to the value of the
      `QueryParameters.payload` field passed in the request. Some integrations
      that query a Dialogflow agent may provide additional information in the
      payload. In particular, for the Dialogflow Phone Gateway integration,
      this field has the form: { "telephony": { "caller_id": "+18558363987" }
      } Note: The caller ID field (`caller_id`) will be redacted for Trial
      Edition agents and populated with the caller ID in [E.164
      format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
      agents.
    source: The source of this request, e.g., `google`, `facebook`, `slack`.
      It is set by Dialogflow-owned servers.
    version: Optional. The version of the protocol used for this request. This
      field is AoG-specific.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Optional. This field is set to the value of the
    `QueryParameters.payload` field passed in the request. Some integrations
    that query a Dialogflow agent may provide additional information in the
    payload. In particular, for the Dialogflow Phone Gateway integration, this
    field has the form: { "telephony": { "caller_id": "+18558363987" } } Note:
    The caller ID field (`caller_id`) will be redacted for Trial Edition
    agents and populated with the caller ID in [E.164
    format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition
    agents.

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  payload = _messages.MessageField('PayloadValue', 1)
  source = _messages.StringField(2)
  version = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1QueryResult(_messages.Message):
  r"""Represents the result of conversational query or event processing.

  Messages:
    DiagnosticInfoValue: Free-form diagnostic information for the associated
      detect intent request. The fields of this data can change without
      notice, so you should not write code that depends on its structure. The
      data may contain: - webhook call latency - webhook errors
    ParametersValue: The collection of extracted parameters. Depending on your
      protocol or client library language, this is a map, associative array,
      symbol table, dictionary, or JSON object composed of a collection of
      (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
      parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
    WebhookPayloadValue: If the query was fulfilled by a webhook call, this
      field is set to the value of the `payload` field returned in the webhook
      response.

  Fields:
    action: The action name from the matched intent.
    allRequiredParamsPresent: This field is set to: - `false` if the matched
      intent has required parameters and not all of the required parameter
      values have been collected. - `true` if all required parameter values
      have been collected, or if the matched intent doesn't contain any
      required parameters.
    cancelsSlotFilling: Indicates whether the conversational query triggers a
      cancellation for slot filling.
    diagnosticInfo: Free-form diagnostic information for the associated detect
      intent request. The fields of this data can change without notice, so
      you should not write code that depends on its structure. The data may
      contain: - webhook call latency - webhook errors
    fulfillmentMessages: The collection of rich messages to present to the
      user.
    fulfillmentText: The text to be pronounced to the user or shown on the
      screen. Note: This is a legacy field, `fulfillment_messages` should be
      preferred.
    intent: The intent that matched the conversational query. Some, not all
      fields are filled in this message, including but not limited to: `name`,
      `display_name`, `end_interaction` and `is_fallback`.
    intentDetectionConfidence: The intent detection confidence. Values range
      from 0.0 (completely uncertain) to 1.0 (completely certain). This value
      is for informational purpose only and is only used to help match the
      best intent within the classification threshold. This value may change
      for the same end-user expression at any time due to a model retraining
      or change in implementation. If there are `multiple knowledge_answers`
      messages, this value is set to the greatest
      `knowledgeAnswers.match_confidence` value in the list.
    knowledgeAnswers: The result from Knowledge Connector (if any), ordered by
      decreasing `KnowledgeAnswers.match_confidence`.
    languageCode: The language that was triggered during intent detection. See
      [Language
      Support](https://cloud.google.com/dialogflow/docs/reference/language)
      for a list of the currently supported language codes.
    outputContexts: The collection of output contexts. If applicable,
      `output_contexts.parameters` contains entries with name `.original`
      containing the original parameter values before the query.
    parameters: The collection of extracted parameters. Depending on your
      protocol or client library language, this is a map, associative array,
      symbol table, dictionary, or JSON object composed of a collection of
      (MapKey, MapValue) pairs: - MapKey type: string - MapKey value:
      parameter name - MapValue type: - If parameter's entity type is a
      composite entity: map - Else: depending on parameter value type, could
      be one of string, number, boolean, null, list or map - MapValue value: -
      If parameter's entity type is a composite entity: map from composite
      entity property names to property values - Else: parameter value
    queryText: The original conversational query text: - If natural language
      text was provided as input, `query_text` contains a copy of the input. -
      If natural language speech audio was provided as input, `query_text`
      contains the speech recognition result. If speech recognizer produced
      multiple alternatives, a particular one is picked. - If automatic spell
      correction is enabled, `query_text` will contain the corrected user
      input.
    sentimentAnalysisResult: The sentiment analysis result, which depends on
      the `sentiment_analysis_request_config` specified in the request.
    speechRecognitionConfidence: The Speech recognition confidence between 0.0
      and 1.0. A higher number indicates an estimated greater likelihood that
      the recognized words are correct. The default of 0.0 is a sentinel value
      indicating that confidence was not set. This field is not guaranteed to
      be accurate or set. In particular this field isn't set for
      StreamingDetectIntent since the streaming endpoint has separate
      confidence estimates per portion of the audio in
      StreamingRecognitionResult.
    webhookPayload: If the query was fulfilled by a webhook call, this field
      is set to the value of the `payload` field returned in the webhook
      response.
    webhookSource: If the query was fulfilled by a webhook call, this field is
      set to the value of the `source` field returned in the webhook response.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DiagnosticInfoValue(_messages.Message):
    r"""Free-form diagnostic information for the associated detect intent
    request. The fields of this data can change without notice, so you should
    not write code that depends on its structure. The data may contain: -
    webhook call latency - webhook errors

    Messages:
      AdditionalProperty: An additional property for a DiagnosticInfoValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DiagnosticInfoValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""The collection of extracted parameters. Depending on your protocol or
    client library language, this is a map, associative array, symbol table,
    dictionary, or JSON object composed of a collection of (MapKey, MapValue)
    pairs: - MapKey type: string - MapKey value: parameter name - MapValue
    type: - If parameter's entity type is a composite entity: map - Else:
    depending on parameter value type, could be one of string, number,
    boolean, null, list or map - MapValue value: - If parameter's entity type
    is a composite entity: map from composite entity property names to
    property values - Else: parameter value

    Messages:
      AdditionalProperty: An additional property for a ParametersValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParametersValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class WebhookPayloadValue(_messages.Message):
    r"""If the query was fulfilled by a webhook call, this field is set to the
    value of the `payload` field returned in the webhook response.

    Messages:
      AdditionalProperty: An additional property for a WebhookPayloadValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a WebhookPayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  action = _messages.StringField(1)
  allRequiredParamsPresent = _messages.BooleanField(2)
  cancelsSlotFilling = _messages.BooleanField(3)
  diagnosticInfo = _messages.MessageField('DiagnosticInfoValue', 4)
  fulfillmentMessages = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessage', 5, repeated=True)
  fulfillmentText = _messages.StringField(6)
  intent = _messages.MessageField('GoogleCloudDialogflowV2beta1Intent', 7)
  intentDetectionConfidence = _messages.FloatField(8, variant=_messages.Variant.FLOAT)
  knowledgeAnswers = _messages.MessageField('GoogleCloudDialogflowV2beta1KnowledgeAnswers', 9)
  languageCode = _messages.StringField(10)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2beta1Context', 11, repeated=True)
  parameters = _messages.MessageField('ParametersValue', 12)
  queryText = _messages.StringField(13)
  sentimentAnalysisResult = _messages.MessageField('GoogleCloudDialogflowV2beta1SentimentAnalysisResult', 14)
  speechRecognitionConfidence = _messages.FloatField(15, variant=_messages.Variant.FLOAT)
  webhookPayload = _messages.MessageField('WebhookPayloadValue', 16)
  webhookSource = _messages.StringField(17)


class GoogleCloudDialogflowV2beta1Sentiment(_messages.Message):
  r"""The sentiment, such as positive/negative feeling or association, for a
  unit of analysis, such as the query text.

  Fields:
    magnitude: A non-negative number in the [0, +inf) range, which represents
      the absolute magnitude of sentiment, regardless of score (positive or
      negative).
    score: Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
      sentiment).
  """

  magnitude = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudDialogflowV2beta1SentimentAnalysisResult(_messages.Message):
  r"""The result of sentiment analysis. Sentiment analysis inspects user input
  and identifies the prevailing subjective opinion, especially to determine a
  user's attitude as positive, negative, or neutral. For
  Participants.DetectIntent, it needs to be configured in
  DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it
  needs to be configured in StreamingDetectIntentRequest.query_params. And for
  Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it
  needs to be configured in ConversationProfile.human_agent_assistant_config

  Fields:
    queryTextSentiment: The sentiment analysis result for `query_text`.
  """

  queryTextSentiment = _messages.MessageField('GoogleCloudDialogflowV2beta1Sentiment', 1)


class GoogleCloudDialogflowV2beta1SessionEntityType(_messages.Message):
  r"""A session represents a conversation between a Dialogflow agent and an
  end-user. You can create special entities, called session entities, during a
  session. Session entities can extend or replace custom entity types and only
  exist during the session that they were created for. All session data,
  including session entities, is stored by Dialogflow for 20 minutes. For more
  information, see the [session entity
  guide](https://cloud.google.com/dialogflow/docs/entities-session).

  Enums:
    EntityOverrideModeValueValuesEnum: Required. Indicates whether the
      additional data should override or supplement the custom entity type
      definition.

  Fields:
    entities: Required. The collection of entities associated with this
      session entity type.
    entityOverrideMode: Required. Indicates whether the additional data should
      override or supplement the custom entity type definition.
    name: Required. The unique identifier of this session entity type.
      Supported formats: - `projects//agent/sessions//entityTypes/` -
      `projects//locations//agent/sessions//entityTypes/` -
      `projects//agent/environments//users//sessions//entityTypes/` -
      `projects//locations//agent/environments/
      /users//sessions//entityTypes/` If `Location ID` is not specified we
      assume default 'us' location. If `Environment ID` is not specified, we
      assume default 'draft' environment. If `User ID` is not specified, we
      assume default '-' user. `` must be the display name of an existing
      entity type in the same agent that will be overridden or supplemented.
  """

  class EntityOverrideModeValueValuesEnum(_messages.Enum):
    r"""Required. Indicates whether the additional data should override or
    supplement the custom entity type definition.

    Values:
      ENTITY_OVERRIDE_MODE_UNSPECIFIED: Not specified. This value should be
        never used.
      ENTITY_OVERRIDE_MODE_OVERRIDE: The collection of session entities
        overrides the collection of entities in the corresponding custom
        entity type.
      ENTITY_OVERRIDE_MODE_SUPPLEMENT: The collection of session entities
        extends the collection of entities in the corresponding custom entity
        type. Note: Even in this override mode calls to
        `ListSessionEntityTypes`, `GetSessionEntityType`,
        `CreateSessionEntityType` and `UpdateSessionEntityType` only return
        the additional entities added in this session entity type. If you want
        to get the supplemented list, please call EntityTypes.GetEntityType on
        the custom entity type and merge.
    """
    ENTITY_OVERRIDE_MODE_UNSPECIFIED = 0
    ENTITY_OVERRIDE_MODE_OVERRIDE = 1
    ENTITY_OVERRIDE_MODE_SUPPLEMENT = 2

  entities = _messages.MessageField('GoogleCloudDialogflowV2beta1EntityTypeEntity', 1, repeated=True)
  entityOverrideMode = _messages.EnumField('EntityOverrideModeValueValuesEnum', 2)
  name = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1SmartReplyAnswer(_messages.Message):
  r"""Represents a smart reply answer.

  Fields:
    answerRecord: The name of answer record, in the format of
      "projects//locations//answerRecords/"
    confidence: Smart reply confidence. The system's confidence score that
      this reply is a good match for this conversation, as a value from 0.0
      (completely uncertain) to 1.0 (completely certain).
    reply: The content of the reply.
  """

  answerRecord = _messages.StringField(1)
  confidence = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  reply = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1SuggestArticlesResponse(_messages.Message):
  r"""The response message for Participants.SuggestArticles.

  Fields:
    articleAnswers: Output only. Articles ordered by score in descending
      order.
    contextSize: Number of messages prior to and including latest_message to
      compile the suggestion. It may be smaller than the
      SuggestArticlesResponse.context_size field in the request if there
      aren't that many messages in the conversation.
    latestMessage: The name of the latest conversation message used to compile
      suggestion for. Format: `projects//locations//conversations//messages/`.
  """

  articleAnswers = _messages.MessageField('GoogleCloudDialogflowV2beta1ArticleAnswer', 1, repeated=True)
  contextSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  latestMessage = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse(_messages.Message):
  r"""The request message for Participants.SuggestFaqAnswers.

  Fields:
    contextSize: Number of messages prior to and including latest_message to
      compile the suggestion. It may be smaller than the
      SuggestFaqAnswersRequest.context_size field in the request if there
      aren't that many messages in the conversation.
    faqAnswers: Output only. Answers extracted from FAQ documents.
    latestMessage: The name of the latest conversation message used to compile
      suggestion for. Format: `projects//locations//conversations//messages/`.
  """

  contextSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  faqAnswers = _messages.MessageField('GoogleCloudDialogflowV2beta1FaqAnswer', 2, repeated=True)
  latestMessage = _messages.StringField(3)


class GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse(_messages.Message):
  r"""The response message for Participants.SuggestSmartReplies.

  Fields:
    contextSize: Number of messages prior to and including latest_message to
      compile the suggestion. It may be smaller than the
      SuggestSmartRepliesRequest.context_size field in the request if there
      aren't that many messages in the conversation.
    latestMessage: The name of the latest conversation message used to compile
      suggestion for. Format: `projects//locations//conversations//messages/`.
    smartReplyAnswers: Output only. Multiple reply options provided by smart
      reply service. The order is based on the rank of the model prediction.
      The maximum number of the returned replies is set in SmartReplyConfig.
  """

  contextSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  latestMessage = _messages.StringField(2)
  smartReplyAnswers = _messages.MessageField('GoogleCloudDialogflowV2beta1SmartReplyAnswer', 3, repeated=True)


class GoogleCloudDialogflowV2beta1SuggestionResult(_messages.Message):
  r"""One response of different type of suggestion response which is used in
  the response of Participants.AnalyzeContent and Participants.AnalyzeContent,
  as well as HumanAgentAssistantEvent.

  Fields:
    error: Error status if the request failed.
    suggestArticlesResponse: SuggestArticlesResponse if request is for
      ARTICLE_SUGGESTION.
    suggestFaqAnswersResponse: SuggestFaqAnswersResponse if request is for
      FAQ_ANSWER.
    suggestSmartRepliesResponse: SuggestSmartRepliesResponse if request is for
      SMART_REPLY.
  """

  error = _messages.MessageField('GoogleRpcStatus', 1)
  suggestArticlesResponse = _messages.MessageField('GoogleCloudDialogflowV2beta1SuggestArticlesResponse', 2)
  suggestFaqAnswersResponse = _messages.MessageField('GoogleCloudDialogflowV2beta1SuggestFaqAnswersResponse', 3)
  suggestSmartRepliesResponse = _messages.MessageField('GoogleCloudDialogflowV2beta1SuggestSmartRepliesResponse', 4)


class GoogleCloudDialogflowV2beta1WebhookRequest(_messages.Message):
  r"""The request message for a webhook call.

  Fields:
    alternativeQueryResults: Alternative query results from KnowledgeService.
    originalDetectIntentRequest: Optional. The contents of the original
      request that was passed to `[Streaming]DetectIntent` call.
    queryResult: The result of the conversational query or event processing.
      Contains the same value as
      `[Streaming]DetectIntentResponse.query_result`.
    responseId: The unique identifier of the response. Contains the same value
      as `[Streaming]DetectIntentResponse.response_id`.
    session: The unique identifier of detectIntent request session. Can be
      used to identify end-user inside webhook implementation. Supported
      formats: - `projects//agent/sessions/, -
      `projects//locations//agent/sessions/`, -
      `projects//agent/environments//users//sessions/`, -
      `projects//locations//agent/environments//users//sessions/`,
  """

  alternativeQueryResults = _messages.MessageField('GoogleCloudDialogflowV2beta1QueryResult', 1, repeated=True)
  originalDetectIntentRequest = _messages.MessageField('GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest', 2)
  queryResult = _messages.MessageField('GoogleCloudDialogflowV2beta1QueryResult', 3)
  responseId = _messages.StringField(4)
  session = _messages.StringField(5)


class GoogleCloudDialogflowV2beta1WebhookResponse(_messages.Message):
  r"""The response message for a webhook call. This response is validated by
  the Dialogflow server. If validation fails, an error will be returned in the
  QueryResult.diagnostic_info field. Setting JSON fields to an empty value
  with the wrong type is a common error. To avoid this error: - Use `""` for
  empty strings - Use `{}` or `null` for empty objects - Use `[]` or `null`
  for empty arrays For more information, see the [Protocol Buffers Language
  Guide](https://developers.google.com/protocol-buffers/docs/proto3#json).

  Messages:
    PayloadValue: Optional. This field can be used to pass custom data from
      your webhook to the integration or API caller. Arbitrary JSON objects
      are supported. When provided, Dialogflow uses this field to populate
      QueryResult.webhook_payload sent to the integration or API caller. This
      field is also used by the [Google Assistant
      integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
      for rich response messages. See the format definition at [Google
      Assistant Dialogflow webhook format](https://developers.google.com/assis
      tant/actions/build/json/dialogflow-webhook-json)

  Fields:
    endInteraction: Optional. Indicates that this intent ends an interaction.
      Some integrations (e.g., Actions on Google or Dialogflow phone gateway)
      use this information to close interaction with an end user. Default is
      false.
    followupEventInput: Optional. Invokes the supplied events. When this field
      is set, Dialogflow ignores the `fulfillment_text`,
      `fulfillment_messages`, and `payload` fields.
    fulfillmentMessages: Optional. The rich response messages intended for the
      end-user. When provided, Dialogflow uses this field to populate
      QueryResult.fulfillment_messages sent to the integration or API caller.
    fulfillmentText: Optional. The text response message intended for the end-
      user. It is recommended to use `fulfillment_messages.text.text[0]`
      instead. When provided, Dialogflow uses this field to populate
      QueryResult.fulfillment_text sent to the integration or API caller.
    liveAgentHandoff: Indicates that a live agent should be brought in to
      handle the interaction with the user. In most cases, when you set this
      flag to true, you would also want to set end_interaction to true as
      well. Default is false.
    outputContexts: Optional. The collection of output contexts that will
      overwrite currently active contexts for the session and reset their
      lifespans. When provided, Dialogflow uses this field to populate
      QueryResult.output_contexts sent to the integration or API caller.
    payload: Optional. This field can be used to pass custom data from your
      webhook to the integration or API caller. Arbitrary JSON objects are
      supported. When provided, Dialogflow uses this field to populate
      QueryResult.webhook_payload sent to the integration or API caller. This
      field is also used by the [Google Assistant
      integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
      for rich response messages. See the format definition at [Google
      Assistant Dialogflow webhook format](https://developers.google.com/assis
      tant/actions/build/json/dialogflow-webhook-json)
    sessionEntityTypes: Optional. Additional session entity types to replace
      or extend developer entity types with. The entity synonyms apply to all
      languages and persist for the session. Setting this data from a webhook
      overwrites the session entity types that have been set using
      `detectIntent`, `streamingDetectIntent` or SessionEntityType management
      methods.
    source: Optional. A custom field used to identify the webhook source.
      Arbitrary strings are supported. When provided, Dialogflow uses this
      field to populate QueryResult.webhook_source sent to the integration or
      API caller.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PayloadValue(_messages.Message):
    r"""Optional. This field can be used to pass custom data from your webhook
    to the integration or API caller. Arbitrary JSON objects are supported.
    When provided, Dialogflow uses this field to populate
    QueryResult.webhook_payload sent to the integration or API caller. This
    field is also used by the [Google Assistant
    integration](https://cloud.google.com/dialogflow/docs/integrations/aog)
    for rich response messages. See the format definition at [Google Assistant
    Dialogflow webhook format](https://developers.google.com/assistant/actions
    /build/json/dialogflow-webhook-json)

    Messages:
      AdditionalProperty: An additional property for a PayloadValue object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PayloadValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  endInteraction = _messages.BooleanField(1)
  followupEventInput = _messages.MessageField('GoogleCloudDialogflowV2beta1EventInput', 2)
  fulfillmentMessages = _messages.MessageField('GoogleCloudDialogflowV2beta1IntentMessage', 3, repeated=True)
  fulfillmentText = _messages.StringField(4)
  liveAgentHandoff = _messages.BooleanField(5)
  outputContexts = _messages.MessageField('GoogleCloudDialogflowV2beta1Context', 6, repeated=True)
  payload = _messages.MessageField('PayloadValue', 7)
  sessionEntityTypes = _messages.MessageField('GoogleCloudDialogflowV2beta1SessionEntityType', 8, repeated=True)
  source = _messages.StringField(9)


class GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for CreateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata(_messages.Message):
  r"""Metadata for DeleteDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata(_messages.Message):
  r"""Metadata in google::longrunning::Operation for Knowledge operations.

  Enums:
    StateValueValuesEnum: Required. Output only. The current state of this
      operation.

  Fields:
    state: Required. Output only. The current state of this operation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Required. Output only. The current state of this operation.

    Values:
      STATE_UNSPECIFIED: State unspecified.
      PENDING: The operation has been created.
      RUNNING: The operation is currently running.
      DONE: The operation is done, either cancelled or completed.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    DONE = 3

  state = _messages.EnumField('StateValueValuesEnum', 1)


class GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata(_messages.Message):
  r"""Metadata for ImportDocuments operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowV3alpha1ImportDocumentsResponse(_messages.Message):
  r"""Response message for Documents.ImportDocuments.

  Fields:
    warnings: Includes details about skipped documents or any other warnings.
  """

  warnings = _messages.MessageField('GoogleRpcStatus', 1, repeated=True)


class GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata(_messages.Message):
  r"""Metadata for ReloadDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata(_messages.Message):
  r"""Metadata for UpdateDocument operation.

  Fields:
    genericMetadata: The generic information of the operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata', 1)


class GoogleCloudLocationListLocationsResponse(_messages.Message):
  r"""The response message for Locations.ListLocations.

  Fields:
    locations: A list of locations that matches the specified filter in the
      request.
    nextPageToken: The standard List next-page token.
  """

  locations = _messages.MessageField('GoogleCloudLocationLocation', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudLocationLocation(_messages.Message):
  r"""A resource that represents Google Cloud Platform location.

  Messages:
    LabelsValue: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    MetadataValue: Service-specific metadata. For example the available
      capacity at the given location.

  Fields:
    displayName: The friendly name for this location, typically a nearby city
      name. For example, "Tokyo".
    labels: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    locationId: The canonical id for this location. For example: `"us-east1"`.
    metadata: Service-specific metadata. For example the available capacity at
      the given location.
    name: Resource name for the location, which may vary between
      implementations. For example: `"projects/example-project/locations/us-
      east1"`
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Cross-service attributes for the location. For example
    {"cloud.googleapis.com/region": "us-east1"}

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Service-specific metadata. For example the available capacity at the
    given location.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  displayName = _messages.StringField(1)
  labels = _messages.MessageField('LabelsValue', 2)
  locationId = _messages.StringField(3)
  metadata = _messages.MessageField('MetadataValue', 4)
  name = _messages.StringField(5)


class GoogleLongrunningListOperationsResponse(_messages.Message):
  r"""The response message for Operations.ListOperations.

  Fields:
    nextPageToken: The standard List next-page token.
    operations: A list of operations that matches the specified filter in the
      request.
  """

  nextPageToken = _messages.StringField(1)
  operations = _messages.MessageField('GoogleLongrunningOperation', 2, repeated=True)


class GoogleLongrunningOperation(_messages.Message):
  r"""This resource represents a long-running operation that is the result of
  a network API call.

  Messages:
    MetadataValue: 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.
    ResponseValue: 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`.

  Fields:
    done: 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.
    error: The error result of the operation in case of failure or
      cancellation.
    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.
    name: 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}`.
    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`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""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.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResponseValue(_messages.Message):
    r"""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`.

    Messages:
      AdditionalProperty: An additional property for a ResponseValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResponseValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  done = _messages.BooleanField(1)
  error = _messages.MessageField('GoogleRpcStatus', 2)
  metadata = _messages.MessageField('MetadataValue', 3)
  name = _messages.StringField(4)
  response = _messages.MessageField('ResponseValue', 5)


class GoogleProtobufEmpty(_messages.Message):
  r"""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 `{}`.
  """



class GoogleRpcStatus(_messages.Message):
  r"""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). 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).

  Messages:
    DetailsValueListEntry: A DetailsValueListEntry object.

  Fields:
    code: 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.
    message: 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.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DetailsValueListEntry(_messages.Message):
    r"""A DetailsValueListEntry object.

    Messages:
      AdditionalProperty: An additional property for a DetailsValueListEntry
        object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DetailsValueListEntry object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
  message = _messages.StringField(3)


class GoogleTypeLatLng(_messages.Message):
  r"""An object that represents a latitude/longitude pair. This is expressed
  as a pair of doubles to represent degrees latitude and degrees longitude.
  Unless specified otherwise, this object must conform to the WGS84 standard.
  Values must be within normalized ranges.

  Fields:
    latitude: The latitude in degrees. It must be in the range [-90.0, +90.0].
    longitude: The longitude in degrees. It must be in the range [-180.0,
      +180.0].
  """

  latitude = _messages.FloatField(1)
  longitude = _messages.FloatField(2)


class StandardQueryParameters(_messages.Message):
  r"""Query parameters accepted by all methods.

  Enums:
    FXgafvValueValuesEnum: V1 error format.
    AltValueValuesEnum: Data format for response.

  Fields:
    f__xgafv: V1 error format.
    access_token: OAuth access token.
    alt: Data format for response.
    callback: JSONP
    fields: Selector specifying which fields to include in a partial response.
    key: API key. Your API key identifies your project and provides you with
      API access, quota, and reports. Required unless you provide an OAuth 2.0
      token.
    oauth_token: OAuth 2.0 token for the current user.
    prettyPrint: Returns response with indentations and line breaks.
    quotaUser: Available to use for quota purposes for server-side
      applications. Can be any arbitrary string assigned to a user, but should
      not exceed 40 characters.
    trace: A tracing token of the form "token:<tokenid>" to include in api
      requests.
    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
  """

  class AltValueValuesEnum(_messages.Enum):
    r"""Data format for response.

    Values:
      json: Responses with Content-Type of application/json
      media: Media download with context-dependent Content-Type
      proto: Responses with Content-Type of application/x-protobuf
    """
    json = 0
    media = 1
    proto = 2

  class FXgafvValueValuesEnum(_messages.Enum):
    r"""V1 error format.

    Values:
      _1: v1 error format
      _2: v2 error format
    """
    _1 = 0
    _2 = 1

  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
  access_token = _messages.StringField(2)
  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
  callback = _messages.StringField(4)
  fields = _messages.StringField(5)
  key = _messages.StringField(6)
  oauth_token = _messages.StringField(7)
  prettyPrint = _messages.BooleanField(8, default=True)
  quotaUser = _messages.StringField(9)
  trace = _messages.StringField(10)
  uploadType = _messages.StringField(11)
  upload_protocol = _messages.StringField(12)


encoding.AddCustomJsonFieldMapping(
    StandardQueryParameters, 'f__xgafv', '$.xgafv')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
