"""Generated message classes for aiplatform version v1.

The Agent Platform API lets you manage Agent Platform resources in Google
Cloud.
"""
# NOTE: This file is autogenerated and should not be edited by hand.

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


package = 'aiplatform'


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

  Fields:
    googleCloudAiplatformV1UploadRagFileRequest: A
      GoogleCloudAiplatformV1UploadRagFileRequest resource to be passed as the
      request body.
    parent: Required. The name of the RagCorpus resource into which to upload
      the file. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  """

  googleCloudAiplatformV1UploadRagFileRequest = _messages.MessageField('GoogleCloudAiplatformV1UploadRagFileRequest', 1)
  parent = _messages.StringField(2, required=True)


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

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

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


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

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

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


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

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

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


class AiplatformOperationsListRequest(_messages.Message):
  r"""A AiplatformOperationsListRequest 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.
    returnPartialSuccess: When set to `true`, operations that are reachable
      are returned as normal, and those that are unreachable are returned in
      the ListOperationsResponse.unreachable field. This can only be `true`
      when reading across collections. For example, when `parent` is set to
      `"projects/example/locations/-"`. This field is not supported by default
      and will result in an `UNIMPLEMENTED` error if set unless explicitly
      documented otherwise in service or product specific documentation.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  returnPartialSuccess = _messages.BooleanField(5)


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

  Fields:
    name: The name of the operation resource to wait on.
    timeout: The maximum duration to wait before timing out. If left blank,
      the wait will be at most the time permitted by the underlying HTTP/RPC
      protocol. If RPC context deadline is also specified, the shorter one
      will be used.
  """

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


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

  Fields:
    googleCloudAiplatformV1AskContextsRequest: A
      GoogleCloudAiplatformV1AskContextsRequest resource to be passed as the
      request body.
    parent: Required. The resource name of the Location from which to retrieve
      RagContexts. The users must have permission to make a call in the
      project. Format: `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1AskContextsRequest = _messages.MessageField('GoogleCloudAiplatformV1AskContextsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1AsyncRetrieveContextsRequest: A
      GoogleCloudAiplatformV1AsyncRetrieveContextsRequest resource to be
      passed as the request body.
    parent: Required. The resource name of the Location from which to retrieve
      RagContexts. The users must have permission to make a call in the
      project. Format: `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1AsyncRetrieveContextsRequest = _messages.MessageField('GoogleCloudAiplatformV1AsyncRetrieveContextsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1AugmentPromptRequest: A
      GoogleCloudAiplatformV1AugmentPromptRequest resource to be passed as the
      request body.
    parent: Required. The resource name of the Location from which to augment
      prompt. The users must have permission to make a call in the project.
      Format: `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1AugmentPromptRequest = _messages.MessageField('GoogleCloudAiplatformV1AugmentPromptRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CancelBatchPredictionJobRequest: A
      GoogleCloudAiplatformV1CancelBatchPredictionJobRequest resource to be
      passed as the request body.
    name: Required. The name of the BatchPredictionJob to cancel. Format: `pro
      jects/{project}/locations/{location}/batchPredictionJobs/{batch_predicti
      on_job}`
  """

  googleCloudAiplatformV1CancelBatchPredictionJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelBatchPredictionJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1BatchPredictionJob: A
      GoogleCloudAiplatformV1BatchPredictionJob resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create the
      BatchPredictionJob in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1BatchPredictionJob = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the BatchPredictionJob resource to be deleted.
      Format: `projects/{project}/locations/{location}/batchPredictionJobs/{ba
      tch_prediction_job}`
  """

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


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

  Fields:
    name: Required. The name of the BatchPredictionJob resource. Format: `proj
      ects/{project}/locations/{location}/batchPredictionJobs/{batch_predictio
      n_job}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name`
      supports `=`, `!=` comparisons. * `state` supports `=`, `!=`
      comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=`
      comparisons. `create_time` must be in RFC 3339 format. * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* - key existence Some examples of using the filter
      are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` *
      `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT
      display_name="my_job"` * `create_time>"2021-05-18T00:00:00Z"` *
      `labels.keyA=valueA` * `labels.keyB:*`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListBatchPredictionJobsResponse.next_page_token of the previous
      JobService.ListBatchPredictionJobs call.
    parent: Required. The resource name of the Location to list the
      BatchPredictionJobs from. Format:
      `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1CachedContent: A
      GoogleCloudAiplatformV1CachedContent resource to be passed as the
      request body.
    parent: Required. The parent resource where the cached content will be
      created
  """

  googleCloudAiplatformV1CachedContent = _messages.MessageField('GoogleCloudAiplatformV1CachedContent', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The resource name referring to the cached content
  """

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


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

  Fields:
    name: Required. The resource name referring to the cached content
  """

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


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

  Fields:
    pageSize: Optional. The maximum number of cached contents to return. The
      service may return fewer than this value. If unspecified, some default
      (under maximum) number of items will be returned. The maximum value is
      1000; values above 1000 will be coerced to 1000.
    pageToken: Optional. A page token, received from a previous
      `ListCachedContents` call. Provide this to retrieve the subsequent page.
      When paginating, all other parameters provided to `ListCachedContents`
      must match the call that provided the page token.
    parent: Required. The parent, which owns this collection of cached
      contents.
  """

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


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

  Fields:
    googleCloudAiplatformV1CachedContent: A
      GoogleCloudAiplatformV1CachedContent resource to be passed as the
      request body.
    name: Immutable. Identifier. The server-generated resource name of the
      cached content Format:
      projects/{project}/locations/{location}/cachedContents/{cached_content}
    updateMask: Required. The list of fields to update.
  """

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


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

  Fields:
    googleCloudAiplatformV1CorroborateContentRequest: A
      GoogleCloudAiplatformV1CorroborateContentRequest resource to be passed
      as the request body.
    parent: Required. The resource name of the Location from which to
      corroborate text. The users must have permission to make a call in the
      project. Format: `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1CorroborateContentRequest = _messages.MessageField('GoogleCloudAiplatformV1CorroborateContentRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CancelCustomJobRequest: A
      GoogleCloudAiplatformV1CancelCustomJobRequest resource to be passed as
      the request body.
    name: Required. The name of the CustomJob to cancel. Format:
      `projects/{project}/locations/{location}/customJobs/{custom_job}`
  """

  googleCloudAiplatformV1CancelCustomJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelCustomJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CustomJob: A GoogleCloudAiplatformV1CustomJob
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the
      CustomJob in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1CustomJob = _messages.MessageField('GoogleCloudAiplatformV1CustomJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the CustomJob resource to be deleted. Format:
      `projects/{project}/locations/{location}/customJobs/{custom_job}`
  """

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


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

  Fields:
    name: Required. The name of the CustomJob resource. Format:
      `projects/{project}/locations/{location}/customJobs/{custom_job}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports
      `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`,
      `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* - key existence Some examples of using the filter
      are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` *
      `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT
      display_name="my_job"` * `create_time>"2021-05-18T00:00:00Z"` *
      `labels.keyA=valueA` * `labels.keyB:*`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListCustomJobsResponse.next_page_token of the previous
      JobService.ListCustomJobs call.
    parent: Required. The resource name of the Location to list the CustomJobs
      from. Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    name: Required. The name of the AnnotationSpec resource. Format: `projects
      /{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{anno
      tation_spec}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1Dataset: A GoogleCloudAiplatformV1Dataset resource
      to be passed as the request body.
    parent: Required. The resource name of the Location to create the Dataset
      in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1Dataset = _messages.MessageField('GoogleCloudAiplatformV1Dataset', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    filter: The standard list filter.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    parent: Required. The resource name of the DataItem to list Annotations
      from. Format: `projects/{project}/locations/{location}/datasets/{dataset
      }/dataItems/{data_item}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    filter: The standard list filter.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    parent: Required. The resource name of the Dataset to list DataItems from.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1DatasetVersion: A
      GoogleCloudAiplatformV1DatasetVersion resource to be passed as the
      request body.
    parent: Required. The name of the Dataset resource. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
  """

  googleCloudAiplatformV1DatasetVersion = _messages.MessageField('GoogleCloudAiplatformV1DatasetVersion', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The resource name of the Dataset version to delete.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}/data
      setVersions/{dataset_version}`
  """

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


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

  Fields:
    name: Required. The resource name of the Dataset version to delete.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}/data
      setVersions/{dataset_version}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    filter: Optional. The standard list filter.
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token.
    parent: Required. The resource name of the Dataset to list DatasetVersions
      from. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
    readMask: Optional. Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1DatasetVersion: A
      GoogleCloudAiplatformV1DatasetVersion resource to be passed as the
      request body.
    name: Output only. Identifier. The resource name of the DatasetVersion.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}/data
      setVersions/{dataset_version}`
    updateMask: Required. The update mask applies to the resource. For the
      `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields:
      * `display_name`
  """

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


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

  Fields:
    name: Required. The name of the DatasetVersion resource. Format: `projects
      /{project}/locations/{location}/datasets/{dataset}/datasetVersions/{data
      set_version}`
  """

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


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

  Fields:
    name: Required. The resource name of the Dataset to delete. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
  """

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


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

  Fields:
    googleCloudAiplatformV1ExportDataRequest: A
      GoogleCloudAiplatformV1ExportDataRequest resource to be passed as the
      request body.
    name: Required. The name of the Dataset resource. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
  """

  googleCloudAiplatformV1ExportDataRequest = _messages.MessageField('GoogleCloudAiplatformV1ExportDataRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Dataset resource.
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1ImportDataRequest: A
      GoogleCloudAiplatformV1ImportDataRequest resource to be passed as the
      request body.
    name: Required. The name of the Dataset resource. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
  """

  googleCloudAiplatformV1ImportDataRequest = _messages.MessageField('GoogleCloudAiplatformV1ImportDataRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    filter: An expression for filtering the results of the request. For field
      names both snake_case and camelCase are supported. * `display_name`:
      supports = and != * `metadata_schema_uri`: supports = and != * `labels`
      supports general map functions that is: * `labels.key=value` - key:value
      equality * `labels.key:* or labels:key - key existence * A key including
      a space must be quoted. `labels."a key"`. Some examples: *
      `displayName="myDisplayName"` * `labels.myKey="myValue"`
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `display_name` * `create_time` * `update_time`
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    parent: Required. The name of the Dataset's parent resource. Format:
      `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1Dataset: A GoogleCloudAiplatformV1Dataset resource
      to be passed as the request body.
    name: Output only. Identifier. The resource name of the Dataset. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
    updateMask: Required. The update mask applies to the resource. For the
      `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields:
      * `display_name` * `description` * `labels`
  """

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


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

  Fields:
    name: Required. The resource name of the SavedQuery to delete. Format: `pr
      ojects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{s
      aved_query}`
  """

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


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

  Fields:
    filter: The standard list filter.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    parent: Required. The resource name of the Dataset to list SavedQueries
      from. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    annotationFilters: An expression that specifies what Annotations will be
      returned per DataItem. Annotations satisfied either of the conditions
      will be returned. * `annotation_spec_id` - for = or !=. Must specify
      `saved_query_id=` - saved query id that annotations should belong to.
    annotationsFilter: An expression for filtering the Annotations that will
      be returned per DataItem. * `annotation_spec_id` - for = or !=.
    annotationsLimit: If set, only up to this many of Annotations will be
      returned per DataItemView. The maximum value is 1000. If not set, the
      maximum value will be used.
    dataItemFilter: An expression for filtering the DataItem that will be
      returned. * `data_item_id` - for = or !=. * `labeled` - for = or !=. *
      `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that have
      at least one annotation with annotation_spec_id = `ANNOTATION_SPEC_ID`
      in the context of SavedQuery or DataLabelingJob. For example: *
      `data_item=1` * `has_annotation(5)`
    dataLabelingJob: The resource name of a DataLabelingJob. Format: `projects
      /{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` If
      this field is set, all of the search will be done in the context of this
      DataLabelingJob.
    dataset: Required. The resource name of the Dataset from which to search
      DataItems. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
    fieldMask: Mask specifying which fields of DataItemView to read.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending.
    orderByAnnotation_orderBy: A comma-separated list of annotation fields to
      order by, sorted in ascending order. Use "desc" after a field name for
      descending. Must also specify saved_query.
    orderByAnnotation_savedQuery: Required. Saved query of the Annotation.
      Only Annotations belong to this saved query will be considered for
      ordering.
    orderByDataItem: A comma-separated list of data item fields to order by,
      sorted in ascending order. Use "desc" after a field name for descending.
    pageSize: Requested page size. Server may return fewer results than
      requested. Default and maximum page size is 100.
    pageToken: A token identifying a page of results for the server to return
      Typically obtained via SearchDataItemsResponse.next_page_token of the
      previous DatasetService.SearchDataItems call.
    savedQuery: The resource name of a SavedQuery(annotation set in UI).
      Format: `projects/{project}/locations/{location}/datasets/{dataset}/save
      dQueries/{saved_query}` All of the search will be done in the context of
      this SavedQuery.
  """

  annotationFilters = _messages.StringField(1, repeated=True)
  annotationsFilter = _messages.StringField(2)
  annotationsLimit = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  dataItemFilter = _messages.StringField(4)
  dataLabelingJob = _messages.StringField(5)
  dataset = _messages.StringField(6, required=True)
  fieldMask = _messages.StringField(7)
  orderBy = _messages.StringField(8)
  orderByAnnotation_orderBy = _messages.StringField(9)
  orderByAnnotation_savedQuery = _messages.StringField(10)
  orderByDataItem = _messages.StringField(11)
  pageSize = _messages.IntegerField(12, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(13)
  savedQuery = _messages.StringField(14)


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

  Fields:
    destination: Required. The resource name of the Location to deploy the
      model in. Format: `projects/{project}/locations/{location}`
    googleCloudAiplatformV1DeployRequest: A
      GoogleCloudAiplatformV1DeployRequest resource to be passed as the
      request body.
  """

  destination = _messages.StringField(1, required=True)
  googleCloudAiplatformV1DeployRequest = _messages.MessageField('GoogleCloudAiplatformV1DeployRequest', 2)


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

  Fields:
    googleCloudAiplatformV1CreateDeploymentResourcePoolRequest: A
      GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest resource to
      be passed as the request body.
    parent: Required. The parent location resource where this
      DeploymentResourcePool will be created. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1CreateDeploymentResourcePoolRequest = _messages.MessageField('GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the DeploymentResourcePool to delete. Format:
      `projects/{project}/locations/{location}/deploymentResourcePools/{deploy
      ment_resource_pool}`
  """

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


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

  Fields:
    name: Required. The name of the DeploymentResourcePool to retrieve.
      Format: `projects/{project}/locations/{location}/deploymentResourcePools
      /{deployment_resource_pool}`
  """

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


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

  Fields:
    pageSize: The maximum number of DeploymentResourcePools to return. The
      service may return fewer than this value.
    pageToken: A page token, received from a previous
      `ListDeploymentResourcePools` call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      `ListDeploymentResourcePools` must match the call that provided the page
      token.
    parent: Required. The parent Location which owns this collection of
      DeploymentResourcePools. Format:
      `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1DeploymentResourcePool: A
      GoogleCloudAiplatformV1DeploymentResourcePool resource to be passed as
      the request body.
    name: Immutable. The resource name of the DeploymentResourcePool. Format:
      `projects/{project}/locations/{location}/deploymentResourcePools/{deploy
      ment_resource_pool}`
    updateMask: Required. The list of fields to update.
  """

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


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

  Fields:
    deploymentResourcePool: Required. The name of the target
      DeploymentResourcePool to query. Format: `projects/{project}/locations/{
      location}/deploymentResourcePools/{deployment_resource_pool}`
    pageSize: The maximum number of DeployedModels to return. The service may
      return fewer than this value.
    pageToken: A page token, received from a previous `QueryDeployedModels`
      call. Provide this to retrieve the subsequent page. When paginating, all
      other parameters provided to `QueryDeployedModels` must match the call
      that provided the page token.
  """

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


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to get lists of
      tokens and token ids.
    googleCloudAiplatformV1ComputeTokensRequest: A
      GoogleCloudAiplatformV1ComputeTokensRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ComputeTokensRequest = _messages.MessageField('GoogleCloudAiplatformV1ComputeTokensRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to perform token
      counting. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1CountTokensRequest: A
      GoogleCloudAiplatformV1CountTokensRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1CountTokensRequest = _messages.MessageField('GoogleCloudAiplatformV1CountTokensRequest', 2)


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

  Fields:
    endpointId: Immutable. The ID to use for endpoint, which will become the
      final component of the endpoint resource name. If not provided, Vertex
      AI will generate a value for this ID. If the first character is a
      letter, this value may be up to 63 characters, and valid characters are
      `[a-z0-9-]`. The last character must be a letter or number. If the first
      character is a number, this value may be up to 9 characters, and valid
      characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this
      field is populated based on a query string argument, such as
      `?endpoint_id=12345`. This is the fallback for fields that are not
      included in either the URI or the body.
    googleCloudAiplatformV1Endpoint: A GoogleCloudAiplatformV1Endpoint
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the Endpoint
      in. Format: `projects/{project}/locations/{location}`
  """

  endpointId = _messages.StringField(1)
  googleCloudAiplatformV1Endpoint = _messages.MessageField('GoogleCloudAiplatformV1Endpoint', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The name of the Endpoint resource to be deleted. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

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


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

  Fields:
    endpoint: Required. The name of the Endpoint resource into which to deploy
      a Model. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1DeployModelRequest: A
      GoogleCloudAiplatformV1DeployModelRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1DeployModelRequest = _messages.MessageField('GoogleCloudAiplatformV1DeployModelRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1DirectPredictRequest: A
      GoogleCloudAiplatformV1DirectPredictRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1DirectPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1DirectPredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1DirectRawPredictRequest: A
      GoogleCloudAiplatformV1DirectRawPredictRequest resource to be passed as
      the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1DirectRawPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1DirectRawPredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      explanation. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1ExplainRequest: A
      GoogleCloudAiplatformV1ExplainRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ExplainRequest = _messages.MessageField('GoogleCloudAiplatformV1ExplainRequest', 2)


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

  Fields:
    googleCloudAiplatformV1GenerateContentRequest: A
      GoogleCloudAiplatformV1GenerateContentRequest resource to be passed as
      the request body.
    model: Required. The fully qualified name of the publisher model or tuned
      model endpoint to use. Publisher model format:
      `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
      model endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

  googleCloudAiplatformV1GenerateContentRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Endpoint resource. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

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


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

  Fields:
    filter: Optional. An expression for filtering the results of the request.
      For field names both snake_case and camelCase are supported. *
      `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint ID,
      i.e. the last segment of the Endpoint's resource name. * `display_name`
      supports `=` and `!=`. * `labels` supports general map functions that
      is: * `labels.key=value` - key:value equality * `labels.key:*` or
      `labels:key` - key existence * A key including a space must be quoted.
      `labels."a key"`. * `base_model_name` only supports `=`. Some examples:
      * `endpoint=1` * `displayName="myDisplayName"` *
      `labels.myKey="myValue"` * `baseModelName="text-bison"`
    gdcZone: Optional. Configures the Google Distributed Cloud (GDC)
      environment for online prediction. Only set this field when the Endpoint
      is to be deployed in a GDC environment.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `display_name` * `create_time` * `update_time` Example: `display_name,
      create_time desc`.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListEndpointsResponse.next_page_token of the previous
      EndpointService.ListEndpoints call.
    parent: Required. The resource name of the Location from which to list the
      Endpoints. Format: `projects/{project}/locations/{location}`
    readMask: Optional. Mask specifying which fields to read.
  """

  filter = _messages.StringField(1)
  gdcZone = _messages.StringField(2)
  orderBy = _messages.StringField(3)
  pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(5)
  parent = _messages.StringField(6, required=True)
  readMask = _messages.StringField(7)


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

  Fields:
    endpoint: Required. The name of the Endpoint resource into which to mutate
      a DeployedModel. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1MutateDeployedModelRequest: A
      GoogleCloudAiplatformV1MutateDeployedModelRequest resource to be passed
      as the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1MutateDeployedModelRequest = _messages.MessageField('GoogleCloudAiplatformV1MutateDeployedModelRequest', 2)


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

  Fields:
    googleCloudAiplatformV1Endpoint: A GoogleCloudAiplatformV1Endpoint
      resource to be passed as the request body.
    name: Identifier. The resource name of the Endpoint.
    updateMask: Required. The update mask applies to the resource. See
      google.protobuf.FieldMask.
  """

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


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

  Fields:
    endpoint: Required. The resource name of the publisher model or endpoint
      requested to serve the prediction. For Google models like Embedding or
      Veo, use the publisher model format. For tuned models or other models
      deployed to an Agent Platform endpoint, use the endpoint format. *
      Publisher model format: `projects/{project}/locations/{location}/publish
      ers/google/models/{model}` * Endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1PredictRequest: A
      GoogleCloudAiplatformV1PredictRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1PredictRequest = _messages.MessageField('GoogleCloudAiplatformV1PredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1RawPredictRequest: A
      GoogleCloudAiplatformV1RawPredictRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1RawPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1RawPredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1StreamingPredictRequest: A
      GoogleCloudAiplatformV1StreamingPredictRequest resource to be passed as
      the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1StreamingPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamingPredictRequest', 2)


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

  Fields:
    googleCloudAiplatformV1GenerateContentRequest: A
      GoogleCloudAiplatformV1GenerateContentRequest resource to be passed as
      the request body.
    model: Required. The fully qualified name of the publisher model or tuned
      model endpoint to use. Publisher model format:
      `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
      model endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

  googleCloudAiplatformV1GenerateContentRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}` or `proje
      cts/{project}/locations/{location}/publishers/{publisher}/models/{model}
      `
    googleCloudAiplatformV1StreamRawPredictRequest: A
      GoogleCloudAiplatformV1StreamRawPredictRequest resource to be passed as
      the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1StreamRawPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamRawPredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint resource from which to
      undeploy a Model. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1UndeployModelRequest: A
      GoogleCloudAiplatformV1UndeployModelRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1UndeployModelRequest = _messages.MessageField('GoogleCloudAiplatformV1UndeployModelRequest', 2)


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

  Fields:
    googleCloudAiplatformV1UpdateEndpointLongRunningRequest: A
      GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest resource to be
      passed as the request body.
    name: Identifier. The resource name of the Endpoint.
  """

  googleCloudAiplatformV1UpdateEndpointLongRunningRequest = _messages.MessageField('GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1EvaluateInstancesRequest: A
      GoogleCloudAiplatformV1EvaluateInstancesRequest resource to be passed as
      the request body.
    location: Required. The resource name of the Location to evaluate the
      instances. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1EvaluateInstancesRequest = _messages.MessageField('GoogleCloudAiplatformV1EvaluateInstancesRequest', 1)
  location = _messages.StringField(2, required=True)


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

  Fields:
    featureGroupId: Required. The ID to use for this FeatureGroup, which will
      become the final component of the FeatureGroup's resource name. This
      value may be up to 128 characters, and valid characters are `[a-z0-9_]`.
      The first character cannot be a number. The value must be unique within
      the project and location.
    googleCloudAiplatformV1FeatureGroup: A GoogleCloudAiplatformV1FeatureGroup
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create
      FeatureGroups. Format: `projects/{project}/locations/{location}`
  """

  featureGroupId = _messages.StringField(1)
  googleCloudAiplatformV1FeatureGroup = _messages.MessageField('GoogleCloudAiplatformV1FeatureGroup', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    force: If set to true, any Features under this FeatureGroup will also be
      deleted. (Otherwise, the request will only work if the FeatureGroup has
      no Features.)
    name: Required. The name of the FeatureGroup to be deleted. Format:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

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


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

  Fields:
    googleCloudAiplatformV1BatchCreateFeaturesRequest: A
      GoogleCloudAiplatformV1BatchCreateFeaturesRequest resource to be passed
      as the request body.
    parent: Required. The resource name of the EntityType/FeatureGroup to
      create the batch of Features under. Format: `projects/{project}/location
      s/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

  googleCloudAiplatformV1BatchCreateFeaturesRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchCreateFeaturesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    featureId: Required. The ID to use for the Feature, which will become the
      final component of the Feature's resource name. This value may be up to
      128 characters, and valid characters are `[a-z0-9_]`. The first
      character cannot be a number. The value must be unique within an
      EntityType/FeatureGroup.
    googleCloudAiplatformV1Feature: A GoogleCloudAiplatformV1Feature resource
      to be passed as the request body.
    parent: Required. The resource name of the EntityType or FeatureGroup to
      create a Feature. Format for entity_type as parent: `projects/{project}/
      locations/{location}/featurestores/{featurestore}/entityTypes/{entity_ty
      pe}` Format for feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

  featureId = _messages.StringField(1)
  googleCloudAiplatformV1Feature = _messages.MessageField('GoogleCloudAiplatformV1Feature', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The name of the Features to be deleted. Format: `projects/
      {project}/locations/{location}/featurestores/{featurestore}/entityTypes/
      {entity_type}/features/{feature}` `projects/{project}/locations/{locatio
      n}/featureGroups/{feature_group}/features/{feature}`
  """

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


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

  Fields:
    name: Required. The name of the Feature resource. Format for entity_type
      as parent: `projects/{project}/locations/{location}/featurestores/{featu
      restore}/entityTypes/{entity_type}` Format for feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

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


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

  Fields:
    filter: Lists the Features that match the filter expression. The following
      filters are supported: * `value_type`: Supports = and != comparisons. *
      `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
      be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <=
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality as well as key presence. Examples: * `value_type =
      DOUBLE` --> Features whose type is DOUBLE. * `create_time >
      \"2020-01-31T15:30:00.000000Z\" OR update_time >
      \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created or updated
      after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env
      = prod` --> Features having both (active: yes) and (env: prod) labels. *
      `labels.env: *` --> Any Feature which has a label with 'env' as the key.
    latestStatsCount: Only applicable for Vertex AI Feature Store (Legacy). If
      set, return the most recent ListFeaturesRequest.latest_stats_count of
      stats for each Feature in response. Valid value is [0, 10]. If number of
      stats exists < ListFeaturesRequest.latest_stats_count, return all
      existing stats.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `feature_id` * `value_type` (Not supported for FeatureRegistry Feature)
      * `create_time` * `update_time`
    pageSize: The maximum number of Features to return. The service may return
      fewer than this value. If unspecified, at most 1000 Features will be
      returned. The maximum value is 1000; any value greater than 1000 will be
      coerced to 1000.
    pageToken: A page token, received from a previous
      FeaturestoreService.ListFeatures call or
      FeatureRegistryService.ListFeatures call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures
      must match the call that provided the page token.
    parent: Required. The resource name of the Location to list Features.
      Format for entity_type as parent: `projects/{project}/locations/{locatio
      n}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for
      feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
    readMask: Mask specifying which fields to read.
  """

  filter = _messages.StringField(1)
  latestStatsCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  orderBy = _messages.StringField(3)
  pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(5)
  parent = _messages.StringField(6, required=True)
  readMask = _messages.StringField(7)


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

  Fields:
    googleCloudAiplatformV1Feature: A GoogleCloudAiplatformV1Feature resource
      to be passed as the request body.
    name: Immutable. Name of the Feature. Format: `projects/{project}/location
      s/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/feat
      ures/{feature}` `projects/{project}/locations/{location}/featureGroups/{
      feature_group}/features/{feature}` The last part feature is assigned by
      the client. The feature can be up to 64 characters long and can consist
      only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits
      0-9 starting with a letter. The value will be unique given an entity
      type.
    updateMask: Field mask is used to specify the fields to be overwritten in
      the Features resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `description` * `labels` * `disable_monitoring` (Not
      supported for FeatureRegistryService Feature) * `point_of_contact` (Not
      supported for FeaturestoreService FeatureStore)
  """

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


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the FeatureGroup resource.
  """

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


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

  Fields:
    filter: Lists the FeatureGroups that match the filter expression. The
      following fields are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format.
      * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=`
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality and key presence. Examples: * `create_time >
      "2020-01-01" OR update_time > "2020-01-01"` FeatureGroups created or
      updated after 2020-01-01. * `labels.env = "prod"` FeatureGroups with
      label "env" set to "prod".
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported Fields: *
      `create_time` * `update_time`
    pageSize: The maximum number of FeatureGroups to return. The service may
      return fewer than this value. If unspecified, at most 100 FeatureGroups
      will be returned. The maximum value is 100; any value greater than 100
      will be coerced to 100.
    pageToken: A page token, received from a previous
      FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve
      the subsequent page. When paginating, all other parameters provided to
      FeatureRegistryService.ListFeatureGroups must match the call that
      provided the page token.
    parent: Required. The resource name of the Location to list FeatureGroups.
      Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1FeatureGroup: A GoogleCloudAiplatformV1FeatureGroup
      resource to be passed as the request body.
    name: Identifier. Name of the FeatureGroup. Format:
      `projects/{project}/locations/{location}/featureGroups/{featureGroup}`
    updateMask: Field mask is used to specify the fields to be overwritten in
      the FeatureGroup resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `labels` * `description` * `big_query` *
      `big_query.entity_id_columns` * `service_agent_type`
  """

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


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    featureOnlineStoreId: Required. The ID to use for this FeatureOnlineStore,
      which will become the final component of the FeatureOnlineStore's
      resource name. This value may be up to 60 characters, and valid
      characters are `[a-z0-9_]`. The first character cannot be a number. The
      value must be unique within the project and location.
    googleCloudAiplatformV1FeatureOnlineStore: A
      GoogleCloudAiplatformV1FeatureOnlineStore resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create
      FeatureOnlineStores. Format: `projects/{project}/locations/{location}`
  """

  featureOnlineStoreId = _messages.StringField(1)
  googleCloudAiplatformV1FeatureOnlineStore = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStore', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    force: If set to true, any FeatureViews and Features for this
      FeatureOnlineStore will also be deleted. (Otherwise, the request will
      only work if the FeatureOnlineStore has no FeatureViews.)
    name: Required. The name of the FeatureOnlineStore to be deleted. Format:
      `projects/{project}/locations/{location}/featureOnlineStores/{feature_on
      line_store}`
  """

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


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

  Fields:
    featureViewId: Required. The ID to use for the FeatureView, which will
      become the final component of the FeatureView's resource name. This
      value may be up to 60 characters, and valid characters are `[a-z0-9_]`.
      The first character cannot be a number. The value must be unique within
      a FeatureOnlineStore.
    googleCloudAiplatformV1FeatureView: A GoogleCloudAiplatformV1FeatureView
      resource to be passed as the request body.
    parent: Required. The resource name of the FeatureOnlineStore to create
      FeatureViews. Format: `projects/{project}/locations/{location}/featureOn
      lineStores/{feature_online_store}`
    runSyncImmediately: Immutable. If set to true, one on demand sync will be
      run immediately, regardless whether the FeatureView.sync_config is
      configured or not.
  """

  featureViewId = _messages.StringField(1)
  googleCloudAiplatformV1FeatureView = _messages.MessageField('GoogleCloudAiplatformV1FeatureView', 2)
  parent = _messages.StringField(3, required=True)
  runSyncImmediately = _messages.BooleanField(4)


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

  Fields:
    name: Required. The name of the FeatureView to be deleted. Format: `projec
      ts/{project}/locations/{location}/featureOnlineStores/{feature_online_st
      ore}/featureViews/{feature_view}`
  """

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


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

  Fields:
    featureView: FeatureView resource format `projects/{project}/locations/{lo
      cation}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureVi
      ew}`
    googleCloudAiplatformV1FeatureViewDirectWriteRequest: A
      GoogleCloudAiplatformV1FeatureViewDirectWriteRequest resource to be
      passed as the request body.
  """

  featureView = _messages.StringField(1, required=True)
  googleCloudAiplatformV1FeatureViewDirectWriteRequest = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDirectWriteRequest', 2)


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsGetRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewS
  yncsGetRequest object.

  Fields:
    name: Required. The name of the FeatureViewSync resource. Format: `project
      s/{project}/locations/{location}/featureOnlineStores/{feature_online_sto
      re}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`
  """

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


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewSyncsListRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFeatureViewS
  yncsListRequest object.

  Fields:
    filter: Lists the FeatureViewSyncs that match the filter expression. The
      following filters are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format.
      Examples: * `create_time > \"2020-01-31T15:30:00.000000Z\"` -->
      FeatureViewSyncs created after 2020-01-31T15:30:00.000000Z.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `create_time`
    pageSize: The maximum number of FeatureViewSyncs to return. The service
      may return fewer than this value. If unspecified, at most 1000
      FeatureViewSyncs will be returned. The maximum value is 1000; any value
      greater than 1000 will be coerced to 1000.
    pageToken: A page token, received from a previous
      FeatureOnlineStoreAdminService.ListFeatureViewSyncs call. Provide this
      to retrieve the subsequent page. When paginating, all other parameters
      provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs must
      match the call that provided the page token.
    parent: Required. The resource name of the FeatureView to list
      FeatureViewSyncs. Format: `projects/{project}/locations/{location}/featu
      reOnlineStores/{feature_online_store}/featureViews/{feature_view}`
  """

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


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeatureValuesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsFetchFeature
  ValuesRequest object.

  Fields:
    featureView: Required. FeatureView resource format `projects/{project}/loc
      ations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/
      {featureView}`
    googleCloudAiplatformV1FetchFeatureValuesRequest: A
      GoogleCloudAiplatformV1FetchFeatureValuesRequest resource to be passed
      as the request body.
  """

  featureView = _messages.StringField(1, required=True)
  googleCloudAiplatformV1FetchFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1FetchFeatureValuesRequest', 2)


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetchAccessTokenRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsGenerateFetc
  hAccessTokenRequest object.

  Fields:
    featureView: FeatureView resource format `projects/{project}/locations/{lo
      cation}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureVi
      ew}`
    googleCloudAiplatformV1GenerateFetchAccessTokenRequest: A
      GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest resource to be
      passed as the request body.
  """

  featureView = _messages.StringField(1, required=True)
  googleCloudAiplatformV1GenerateFetchAccessTokenRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest', 2)


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicy
  Request object.

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the FeatureView resource. Format: `projects/{p
      roject}/locations/{location}/featureOnlineStores/{feature_online_store}/
      featureViews/{feature_view}`
  """

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


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

  Fields:
    filter: Lists the FeatureViews that match the filter expression. The
      following filters are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format.
      * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=`
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality as well as key presence. Examples: * `create_time >
      \"2020-01-31T15:30:00.000000Z\" OR update_time >
      \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews created or updated
      after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env
      = prod` --> FeatureViews having both (active: yes) and (env: prod)
      labels. * `labels.env: *` --> Any FeatureView which has a label with
      'env' as the key.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `feature_view_id` * `create_time` * `update_time`
    pageSize: The maximum number of FeatureViews to return. The service may
      return fewer than this value. If unspecified, at most 1000 FeatureViews
      will be returned. The maximum value is 1000; any value greater than 1000
      will be coerced to 1000.
    pageToken: A page token, received from a previous
      FeatureOnlineStoreAdminService.ListFeatureViews call. Provide this to
      retrieve the subsequent page. When paginating, all other parameters
      provided to FeatureOnlineStoreAdminService.ListFeatureViews must match
      the call that provided the page token.
    parent: Required. The resource name of the FeatureOnlineStore to list
      FeatureViews. Format: `projects/{project}/locations/{location}/featureOn
      lineStores/{feature_online_store}`
  """

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


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

  Fields:
    googleCloudAiplatformV1FeatureView: A GoogleCloudAiplatformV1FeatureView
      resource to be passed as the request body.
    name: Identifier. Name of the FeatureView. Format: `projects/{project}/loc
      ations/{location}/featureOnlineStores/{feature_online_store}/featureView
      s/{feature_view}`
    updateMask: Field mask is used to specify the fields to be overwritten in
      the FeatureView resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `labels` * `service_agent_type` * `big_query_source`
      * `big_query_source.uri` * `big_query_source.entity_id_columns` *
      `feature_registry_source` * `feature_registry_source.feature_groups` *
      `sync_config` * `sync_config.cron` *
      `optimized_config.automatic_resources`
  """

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


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNearestEntitiesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsSearchNeares
  tEntitiesRequest object.

  Fields:
    featureView: Required. FeatureView resource format `projects/{project}/loc
      ations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/
      {featureView}`
    googleCloudAiplatformV1SearchNearestEntitiesRequest: A
      GoogleCloudAiplatformV1SearchNearestEntitiesRequest resource to be
      passed as the request body.
  """

  featureView = _messages.StringField(1, required=True)
  googleCloudAiplatformV1SearchNearestEntitiesRequest = _messages.MessageField('GoogleCloudAiplatformV1SearchNearestEntitiesRequest', 2)


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicyRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsSetIamPolicy
  Request object.

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    featureView: Required. Format: `projects/{project}/locations/{location}/fe
      atureOnlineStores/{feature_online_store}/featureViews/{feature_view}`
    googleCloudAiplatformV1SyncFeatureViewRequest: A
      GoogleCloudAiplatformV1SyncFeatureViewRequest resource to be passed as
      the request body.
  """

  featureView = _messages.StringField(1, required=True)
  googleCloudAiplatformV1SyncFeatureViewRequest = _messages.MessageField('GoogleCloudAiplatformV1SyncFeatureViewRequest', 2)


class AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermissionsRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsTestIamPermi
  ssionsRequest object.

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the FeatureOnlineStore resource.
  """

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


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

  Fields:
    filter: Lists the FeatureOnlineStores that match the filter expression.
      The following fields are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format.
      * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=`
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality and key presence. Examples: * `create_time >
      "2020-01-01" OR update_time > "2020-01-01"` FeatureOnlineStores created
      or updated after 2020-01-01. * `labels.env = "prod"` FeatureOnlineStores
      with label "env" set to "prod".
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported Fields: *
      `create_time` * `update_time`
    pageSize: The maximum number of FeatureOnlineStores to return. The service
      may return fewer than this value. If unspecified, at most 100
      FeatureOnlineStores will be returned. The maximum value is 100; any
      value greater than 100 will be coerced to 100.
    pageToken: A page token, received from a previous
      FeatureOnlineStoreAdminService.ListFeatureOnlineStores call. Provide
      this to retrieve the subsequent page. When paginating, all other
      parameters provided to
      FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the
      call that provided the page token.
    parent: Required. The resource name of the Location to list
      FeatureOnlineStores. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1FeatureOnlineStore: A
      GoogleCloudAiplatformV1FeatureOnlineStore resource to be passed as the
      request body.
    name: Identifier. Name of the FeatureOnlineStore. Format: `projects/{proje
      ct}/locations/{location}/featureOnlineStores/{featureOnlineStore}`
    updateMask: Field mask is used to specify the fields to be overwritten in
      the FeatureOnlineStore resource by the update. The fields specified in
      the update_mask are relative to the resource, not the full request. A
      field will be overwritten if it is in the mask. If the user does not
      provide a mask then only the non-empty fields present in the request
      will be overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `labels` * `description` * `bigtable` *
      `bigtable.auto_scaling` * `bigtable.enable_multi_region_replica`
  """

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


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    featurestore: Required. The resource name of the Featurestore from which
      to query Feature values. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
    googleCloudAiplatformV1BatchReadFeatureValuesRequest: A
      GoogleCloudAiplatformV1BatchReadFeatureValuesRequest resource to be
      passed as the request body.
  """

  featurestore = _messages.StringField(1, required=True)
  googleCloudAiplatformV1BatchReadFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchReadFeatureValuesRequest', 2)


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

  Fields:
    featurestoreId: Required. The ID to use for this Featurestore, which will
      become the final component of the Featurestore's resource name. This
      value may be up to 60 characters, and valid characters are `[a-z0-9_]`.
      The first character cannot be a number. The value must be unique within
      the project and location.
    googleCloudAiplatformV1Featurestore: A GoogleCloudAiplatformV1Featurestore
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create
      Featurestores. Format: `projects/{project}/locations/{location}`
  """

  featurestoreId = _messages.StringField(1)
  googleCloudAiplatformV1Featurestore = _messages.MessageField('GoogleCloudAiplatformV1Featurestore', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    force: If set to true, any EntityTypes and Features for this Featurestore
      will also be deleted. (Otherwise, the request will only work if the
      Featurestore has no EntityTypes.)
    name: Required. The name of the Featurestore to be deleted. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
  """

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


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

  Fields:
    entityTypeId: Required. The ID to use for the EntityType, which will
      become the final component of the EntityType's resource name. This value
      may be up to 60 characters, and valid characters are `[a-z0-9_]`. The
      first character cannot be a number. The value must be unique within a
      featurestore.
    googleCloudAiplatformV1EntityType: A GoogleCloudAiplatformV1EntityType
      resource to be passed as the request body.
    parent: Required. The resource name of the Featurestore to create
      EntityTypes. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
  """

  entityTypeId = _messages.StringField(1)
  googleCloudAiplatformV1EntityType = _messages.MessageField('GoogleCloudAiplatformV1EntityType', 2)
  parent = _messages.StringField(3, required=True)


class AiplatformProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValues
  Request object.

  Fields:
    entityType: Required. The resource name of the EntityType grouping the
      Features for which values are being deleted from. Format: `projects/{pro
      ject}/locations/{location}/featurestores/{featurestore}/entityTypes/{ent
      ityType}`
    googleCloudAiplatformV1DeleteFeatureValuesRequest: A
      GoogleCloudAiplatformV1DeleteFeatureValuesRequest resource to be passed
      as the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1DeleteFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1DeleteFeatureValuesRequest', 2)


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

  Fields:
    force: If set to true, any Features for this EntityType will also be
      deleted. (Otherwise, the request will only work if the EntityType has no
      Features.)
    name: Required. The name of the EntityType to be deleted. Format: `project
      s/{project}/locations/{location}/featurestores/{featurestore}/entityType
      s/{entity_type}`
  """

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


class AiplatformProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeaturestoresEntityTypesExportFeatureValues
  Request object.

  Fields:
    entityType: Required. The resource name of the EntityType from which to
      export Feature values. Format: `projects/{project}/locations/{location}/
      featurestores/{featurestore}/entityTypes/{entity_type}`
    googleCloudAiplatformV1ExportFeatureValuesRequest: A
      GoogleCloudAiplatformV1ExportFeatureValuesRequest resource to be passed
      as the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ExportFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1ExportFeatureValuesRequest', 2)


class AiplatformProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreate
  Request object.

  Fields:
    googleCloudAiplatformV1BatchCreateFeaturesRequest: A
      GoogleCloudAiplatformV1BatchCreateFeaturesRequest resource to be passed
      as the request body.
    parent: Required. The resource name of the EntityType/FeatureGroup to
      create the batch of Features under. Format: `projects/{project}/location
      s/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

  googleCloudAiplatformV1BatchCreateFeaturesRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchCreateFeaturesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    featureId: Required. The ID to use for the Feature, which will become the
      final component of the Feature's resource name. This value may be up to
      128 characters, and valid characters are `[a-z0-9_]`. The first
      character cannot be a number. The value must be unique within an
      EntityType/FeatureGroup.
    googleCloudAiplatformV1Feature: A GoogleCloudAiplatformV1Feature resource
      to be passed as the request body.
    parent: Required. The resource name of the EntityType or FeatureGroup to
      create a Feature. Format for entity_type as parent: `projects/{project}/
      locations/{location}/featurestores/{featurestore}/entityTypes/{entity_ty
      pe}` Format for feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

  featureId = _messages.StringField(1)
  googleCloudAiplatformV1Feature = _messages.MessageField('GoogleCloudAiplatformV1Feature', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The name of the Features to be deleted. Format: `projects/
      {project}/locations/{location}/featurestores/{featurestore}/entityTypes/
      {entity_type}/features/{feature}` `projects/{project}/locations/{locatio
      n}/featureGroups/{feature_group}/features/{feature}`
  """

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


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

  Fields:
    name: Required. The name of the Feature resource. Format for entity_type
      as parent: `projects/{project}/locations/{location}/featurestores/{featu
      restore}/entityTypes/{entity_type}` Format for feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

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


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

  Fields:
    filter: Lists the Features that match the filter expression. The following
      filters are supported: * `value_type`: Supports = and != comparisons. *
      `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
      be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <=
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality as well as key presence. Examples: * `value_type =
      DOUBLE` --> Features whose type is DOUBLE. * `create_time >
      \"2020-01-31T15:30:00.000000Z\" OR update_time >
      \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created or updated
      after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env
      = prod` --> Features having both (active: yes) and (env: prod) labels. *
      `labels.env: *` --> Any Feature which has a label with 'env' as the key.
    latestStatsCount: Only applicable for Vertex AI Feature Store (Legacy). If
      set, return the most recent ListFeaturesRequest.latest_stats_count of
      stats for each Feature in response. Valid value is [0, 10]. If number of
      stats exists < ListFeaturesRequest.latest_stats_count, return all
      existing stats.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `feature_id` * `value_type` (Not supported for FeatureRegistry Feature)
      * `create_time` * `update_time`
    pageSize: The maximum number of Features to return. The service may return
      fewer than this value. If unspecified, at most 1000 Features will be
      returned. The maximum value is 1000; any value greater than 1000 will be
      coerced to 1000.
    pageToken: A page token, received from a previous
      FeaturestoreService.ListFeatures call or
      FeatureRegistryService.ListFeatures call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures
      must match the call that provided the page token.
    parent: Required. The resource name of the Location to list Features.
      Format for entity_type as parent: `projects/{project}/locations/{locatio
      n}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for
      feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
    readMask: Mask specifying which fields to read.
  """

  filter = _messages.StringField(1)
  latestStatsCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  orderBy = _messages.StringField(3)
  pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(5)
  parent = _messages.StringField(6, required=True)
  readMask = _messages.StringField(7)


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

  Fields:
    googleCloudAiplatformV1Feature: A GoogleCloudAiplatformV1Feature resource
      to be passed as the request body.
    name: Immutable. Name of the Feature. Format: `projects/{project}/location
      s/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/feat
      ures/{feature}` `projects/{project}/locations/{location}/featureGroups/{
      feature_group}/features/{feature}` The last part feature is assigned by
      the client. The feature can be up to 64 characters long and can consist
      only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits
      0-9 starting with a letter. The value will be unique given an entity
      type.
    updateMask: Field mask is used to specify the fields to be overwritten in
      the Features resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `description` * `labels` * `disable_monitoring` (Not
      supported for FeatureRegistryService Feature) * `point_of_contact` (Not
      supported for FeaturestoreService FeatureStore)
  """

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


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the EntityType resource. Format: `projects/{pr
      oject}/locations/{location}/featurestores/{featurestore}/entityTypes/{en
      tity_type}`
  """

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


class AiplatformProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeaturestoresEntityTypesImportFeatureValues
  Request object.

  Fields:
    entityType: Required. The resource name of the EntityType grouping the
      Features for which values are being imported. Format: `projects/{project
      }/locations/{location}/featurestores/{featurestore}/entityTypes/{entityT
      ype}`
    googleCloudAiplatformV1ImportFeatureValuesRequest: A
      GoogleCloudAiplatformV1ImportFeatureValuesRequest resource to be passed
      as the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ImportFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1ImportFeatureValuesRequest', 2)


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

  Fields:
    filter: Lists the EntityTypes that match the filter expression. The
      following filters are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format.
      * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=`
      comparisons. Values must be in RFC 3339 format. * `labels`: Supports
      key-value equality as well as key presence. Examples: * `create_time >
      \"2020-01-31T15:30:00.000000Z\" OR update_time >
      \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created or updated
      after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env
      = prod` --> EntityTypes having both (active: yes) and (env: prod)
      labels. * `labels.env: *` --> Any EntityType which has a label with
      'env' as the key.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `entity_type_id` * `create_time` * `update_time`
    pageSize: The maximum number of EntityTypes to return. The service may
      return fewer than this value. If unspecified, at most 1000 EntityTypes
      will be returned. The maximum value is 1000; any value greater than 1000
      will be coerced to 1000.
    pageToken: A page token, received from a previous
      FeaturestoreService.ListEntityTypes call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      FeaturestoreService.ListEntityTypes must match the call that provided
      the page token.
    parent: Required. The resource name of the Featurestore to list
      EntityTypes. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1EntityType: A GoogleCloudAiplatformV1EntityType
      resource to be passed as the request body.
    name: Immutable. Name of the EntityType. Format: `projects/{project}/locat
      ions/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
      The last part entity_type is assigned by the client. The entity_type can
      be up to 64 characters long and can consist only of ASCII Latin letters
      A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a
      letter. The value will be unique given a featurestore.
    updateMask: Field mask is used to specify the fields to be overwritten in
      the EntityType resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `description` * `labels` *
      `monitoring_config.snapshot_analysis.disabled` *
      `monitoring_config.snapshot_analysis.monitoring_interval_days` *
      `monitoring_config.snapshot_analysis.staleness_days` *
      `monitoring_config.import_features_analysis.state` *
      `monitoring_config.import_features_analysis.anomaly_detection_baseline`
      * `monitoring_config.numerical_threshold_config.value` *
      `monitoring_config.categorical_threshold_config.value` *
      `offline_storage_ttl_days`
  """

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


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

  Fields:
    entityType: Required. The resource name of the EntityType for the entity
      being read. Value format: `projects/{project}/locations/{location}/featu
      restores/{featurestore}/entityTypes/{entityType}`. For example, for a
      machine learning model predicting user clicks on a website, an
      EntityType ID could be `user`.
    googleCloudAiplatformV1ReadFeatureValuesRequest: A
      GoogleCloudAiplatformV1ReadFeatureValuesRequest resource to be passed as
      the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ReadFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1ReadFeatureValuesRequest', 2)


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatur
  eValuesRequest object.

  Fields:
    entityType: Required. The resource name of the entities' type. Value
      format: `projects/{project}/locations/{location}/featurestores/{features
      tore}/entityTypes/{entityType}`. For example, for a machine learning
      model predicting user clicks on a website, an EntityType ID could be
      `user`.
    googleCloudAiplatformV1StreamingReadFeatureValuesRequest: A
      GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest resource to be
      passed as the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1StreamingReadFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest', 2)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    entityType: Required. The resource name of the EntityType for the entities
      being written. Value format:
      `projects/{project}/locations/{location}/featurestores/
      {featurestore}/entityTypes/{entityType}`. For example, for a machine
      learning model predicting user clicks on a website, an EntityType ID
      could be `user`.
    googleCloudAiplatformV1WriteFeatureValuesRequest: A
      GoogleCloudAiplatformV1WriteFeatureValuesRequest resource to be passed
      as the request body.
  """

  entityType = _messages.StringField(1, required=True)
  googleCloudAiplatformV1WriteFeatureValuesRequest = _messages.MessageField('GoogleCloudAiplatformV1WriteFeatureValuesRequest', 2)


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Featurestore resource.
  """

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


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

  Fields:
    filter: Lists the featurestores that match the filter expression. The
      following fields are supported: * `create_time`: Supports `=`, `!=`,
      `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format.
      * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=`
      comparisons. Values must be in RFC 3339 format. *
      `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`,
      `<=`, and `>=` comparisons. * `labels`: Supports key-value equality and
      key presence. Examples: * `create_time > "2020-01-01" OR update_time >
      "2020-01-01"` Featurestores created or updated after 2020-01-01. *
      `labels.env = "prod"` Featurestores with label "env" set to "prod".
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported Fields: *
      `create_time` * `update_time` * `online_serving_config.fixed_node_count`
    pageSize: The maximum number of Featurestores to return. The service may
      return fewer than this value. If unspecified, at most 100 Featurestores
      will be returned. The maximum value is 100; any value greater than 100
      will be coerced to 100.
    pageToken: A page token, received from a previous
      FeaturestoreService.ListFeaturestores call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      FeaturestoreService.ListFeaturestores must match the call that provided
      the page token.
    parent: Required. The resource name of the Location to list Featurestores.
      Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1Featurestore: A GoogleCloudAiplatformV1Featurestore
      resource to be passed as the request body.
    name: Output only. Name of the Featurestore. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
    updateMask: Field mask is used to specify the fields to be overwritten in
      the Featurestore resource by the update. The fields specified in the
      update_mask are relative to the resource, not the full request. A field
      will be overwritten if it is in the mask. If the user does not provide a
      mask then only the non-empty fields present in the request will be
      overwritten. Set the update_mask to `*` to override all fields.
      Updatable fields: * `labels` * `online_serving_config.fixed_node_count`
      * `online_serving_config.scaling` * `online_storage_ttl_days`
  """

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


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

  Fields:
    location: Required. The resource name of the Location to search Features.
      Format: `projects/{project}/locations/{location}`
    pageSize: The maximum number of Features to return. The service may return
      fewer than this value. If unspecified, at most 100 Features will be
      returned. The maximum value is 100; any value greater than 100 will be
      coerced to 100.
    pageToken: A page token, received from a previous
      FeaturestoreService.SearchFeatures call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      FeaturestoreService.SearchFeatures, except `page_size`, must match the
      call that provided the page token.
    query: Query string that is a conjunction of field-restricted queries
      and/or field-restricted filters. Field-restricted queries and filters
      can be combined using `AND` to form a conjunction. A field query is in
      the form FIELD:QUERY. This implicitly checks if QUERY exists as a
      substring within Feature's FIELD. The QUERY and the FIELD are converted
      to a sequence of words (i.e. tokens) for comparison. This is done by: *
      Removing leading/trailing whitespace and tokenizing the search value.
      Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore
      `_`, or asterisk `*` are treated as delimiters for tokens. `*` is
      treated as a wildcard that matches characters within a token. * Ignoring
      case. * Prepending an asterisk to the first and appending an asterisk to
      the last token in QUERY. A QUERY must be either a singular token or a
      phrase. A phrase is one or multiple words enclosed in double quotation
      marks ("). With phrases, the order of the words is important. Words in
      the phrase must be matching in order and consecutively. Supported FIELDs
      for field-restricted queries: * `feature_id` * `description` *
      `entity_type_id` Examples: * `feature_id: foo` --> Matches a Feature
      with ID containing the substring `foo` (eg. `foo`, `foofeature`,
      `barfoo`). * `feature_id: foo*feature` --> Matches a Feature with ID
      containing the substring `foo*feature` (eg. `foobarfeature`). *
      `feature_id: foo AND description: bar` --> Matches a Feature with ID
      containing the substring `foo` and description containing the substring
      `bar`. Besides field queries, the following exact-match filters are
      supported. The exact-match filters do not support wildcards. Unlike
      field-restricted queries, exact-match filters are case-sensitive. *
      `feature_id`: Supports = comparisons. * `description`: Supports =
      comparisons. Multi-token filters should be enclosed in quotes. *
      `entity_type_id`: Supports = comparisons. * `value_type`: Supports = and
      != comparisons. * `labels`: Supports key-value equality as well as key
      presence. * `featurestore_id`: Supports = comparisons. Examples: *
      `description = "foo bar"` --> Any Feature with description exactly equal
      to `foo bar` * `value_type = DOUBLE` --> Features whose type is DOUBLE.
      * `labels.active = yes AND labels.env = prod` --> Features having both
      (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature
      which has a label with `env` as the key.
  """

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


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1GenerateSyntheticDataRequest: A
      GoogleCloudAiplatformV1GenerateSyntheticDataRequest resource to be
      passed as the request body.
    location: Required. The geographic location where the synthetic data
      generation request is processed. This should be in the format
      `projects/{project}/locations/{location}`. For example, `projects/my-
      project/locations/us-central1`.
  """

  googleCloudAiplatformV1GenerateSyntheticDataRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateSyntheticDataRequest', 1)
  location = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the RagEngineConfig resource. Format:
      `projects/{project}/locations/{location}/ragEngineConfig`
  """

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


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

  Fields:
    name: Required. The resource name of the SemanticGovernancePolicyEngine to
      retrieve. Format:
      projects/{project}/locations/{location}/semanticGovernancePolicyEngine
  """

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


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

  Fields:
    googleCloudAiplatformV1CancelHyperparameterTuningJobRequest: A
      GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest resource to
      be passed as the request body.
    name: Required. The name of the HyperparameterTuningJob to cancel. Format:
      `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyper
      parameter_tuning_job}`
  """

  googleCloudAiplatformV1CancelHyperparameterTuningJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1HyperparameterTuningJob: A
      GoogleCloudAiplatformV1HyperparameterTuningJob resource to be passed as
      the request body.
    parent: Required. The resource name of the Location to create the
      HyperparameterTuningJob in. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1HyperparameterTuningJob = _messages.MessageField('GoogleCloudAiplatformV1HyperparameterTuningJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the HyperparameterTuningJob resource to be
      deleted. Format: `projects/{project}/locations/{location}/hyperparameter
      TuningJobs/{hyperparameter_tuning_job}`
  """

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


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

  Fields:
    name: Required. The name of the HyperparameterTuningJob resource. Format:
      `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyper
      parameter_tuning_job}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports
      `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`,
      `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* - key existence Some examples of using the filter
      are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` *
      `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT
      display_name="my_job"` * `create_time>"2021-05-18T00:00:00Z"` *
      `labels.keyA=valueA` * `labels.keyB:*`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListHyperparameterTuningJobsResponse.next_page_token of the previous
      JobService.ListHyperparameterTuningJobs call.
    parent: Required. The resource name of the Location to list the
      HyperparameterTuningJobs from. Format:
      `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1IndexEndpoint: A
      GoogleCloudAiplatformV1IndexEndpoint resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create the
      IndexEndpoint in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1IndexEndpoint = _messages.MessageField('GoogleCloudAiplatformV1IndexEndpoint', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the IndexEndpoint resource to be deleted.
      Format: `projects/{project}/locations/{location}/indexEndpoints/{index_e
      ndpoint}`
  """

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


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

  Fields:
    googleCloudAiplatformV1DeployIndexRequest: A
      GoogleCloudAiplatformV1DeployIndexRequest resource to be passed as the
      request body.
    indexEndpoint: Required. The name of the IndexEndpoint resource into which
      to deploy an Index. Format: `projects/{project}/locations/{location}/ind
      exEndpoints/{index_endpoint}`
  """

  googleCloudAiplatformV1DeployIndexRequest = _messages.MessageField('GoogleCloudAiplatformV1DeployIndexRequest', 1)
  indexEndpoint = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the IndexEndpoint resource. Format:
      `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
      `
  """

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


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

  Fields:
    filter: Optional. An expression for filtering the results of the request.
      For field names both snake_case and camelCase are supported. *
      `index_endpoint` supports = and !=. `index_endpoint` represents the
      IndexEndpoint ID, ie. the last segment of the IndexEndpoint's
      resourcename. * `display_name` supports =, != and regex() (uses
      [re2](https://github.com/google/re2/wiki/Syntax) syntax) * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* or labels:key - key existence A key including a
      space must be quoted. `labels."a key"`. Some examples: *
      `index_endpoint="1"` * `display_name="myDisplayName"` *
      `regex(display_name, "^A") -> The display name starts with an A. *
      `labels.myKey="myValue"`
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListIndexEndpointsResponse.next_page_token of the previous
      IndexEndpointService.ListIndexEndpoints call.
    parent: Required. The resource name of the Location from which to list the
      IndexEndpoints. Format: `projects/{project}/locations/{location}`
    readMask: Optional. Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1DeployedIndex: A
      GoogleCloudAiplatformV1DeployedIndex resource to be passed as the
      request body.
    indexEndpoint: Required. The name of the IndexEndpoint resource into which
      to deploy an Index. Format: `projects/{project}/locations/{location}/ind
      exEndpoints/{index_endpoint}`
  """

  googleCloudAiplatformV1DeployedIndex = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndex', 1)
  indexEndpoint = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1IndexEndpoint: A
      GoogleCloudAiplatformV1IndexEndpoint resource to be passed as the
      request body.
    name: Output only. The resource name of the IndexEndpoint.
    updateMask: Required. The update mask applies to the resource. See
      google.protobuf.FieldMask.
  """

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


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

  Fields:
    googleCloudAiplatformV1UndeployIndexRequest: A
      GoogleCloudAiplatformV1UndeployIndexRequest resource to be passed as the
      request body.
    indexEndpoint: Required. The name of the IndexEndpoint resource from which
      to undeploy an Index. Format: `projects/{project}/locations/{location}/i
      ndexEndpoints/{index_endpoint}`
  """

  googleCloudAiplatformV1UndeployIndexRequest = _messages.MessageField('GoogleCloudAiplatformV1UndeployIndexRequest', 1)
  indexEndpoint = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1Index: A GoogleCloudAiplatformV1Index resource to
      be passed as the request body.
    parent: Required. The resource name of the Location to create the Index
      in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1Index = _messages.MessageField('GoogleCloudAiplatformV1Index', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Index resource to be deleted. Format:
      `projects/{project}/locations/{location}/indexes/{index}`
  """

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


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

  Fields:
    name: Required. The name of the Index resource. Format:
      `projects/{project}/locations/{location}/indexes/{index}`
  """

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


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

  Fields:
    filter: The standard list filter.
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListIndexesResponse.next_page_token of the previous
      IndexService.ListIndexes call.
    parent: Required. The resource name of the Location from which to list the
      Indexes. Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1Index: A GoogleCloudAiplatformV1Index resource to
      be passed as the request body.
    name: Output only. The resource name of the Index.
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see google.protobuf.FieldMask.
  """

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


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

  Fields:
    googleCloudAiplatformV1RemoveDatapointsRequest: A
      GoogleCloudAiplatformV1RemoveDatapointsRequest resource to be passed as
      the request body.
    index: Required. The name of the Index resource to be updated. Format:
      `projects/{project}/locations/{location}/indexes/{index}`
  """

  googleCloudAiplatformV1RemoveDatapointsRequest = _messages.MessageField('GoogleCloudAiplatformV1RemoveDatapointsRequest', 1)
  index = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1UpsertDatapointsRequest: A
      GoogleCloudAiplatformV1UpsertDatapointsRequest resource to be passed as
      the request body.
    index: Required. The name of the Index resource to be updated. Format:
      `projects/{project}/locations/{location}/indexes/{index}`
  """

  googleCloudAiplatformV1UpsertDatapointsRequest = _messages.MessageField('GoogleCloudAiplatformV1UpsertDatapointsRequest', 1)
  index = _messages.StringField(2, required=True)


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

  Fields:
    artifactId: The {artifact} portion of the resource name with the format: `
      projects/{project}/locations/{location}/metadataStores/{metadatastore}/a
      rtifacts/{artifact}` If not provided, the Artifact's ID will be a UUID
      generated by the service. Must be 4-128 characters in length. Valid
      characters are `/a-z-/`. Must be unique across all Artifacts in the
      parent MetadataStore. (Otherwise the request will fail with
      ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the
      preexisting Artifact.)
    googleCloudAiplatformV1Artifact: A GoogleCloudAiplatformV1Artifact
      resource to be passed as the request body.
    parent: Required. The resource name of the MetadataStore where the
      Artifact should be created. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  artifactId = _messages.StringField(1)
  googleCloudAiplatformV1Artifact = _messages.MessageField('GoogleCloudAiplatformV1Artifact', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    etag: Optional. The etag of the Artifact to delete. If this is provided,
      it must match the server's etag. Otherwise, the request will fail with a
      FAILED_PRECONDITION.
    name: Required. The resource name of the Artifact to delete. Format: `proj
      ects/{project}/locations/{location}/metadataStores/{metadatastore}/artif
      acts/{artifact}`
  """

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


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

  Fields:
    name: Required. The resource name of the Artifact to retrieve. Format: `pr
      ojects/{project}/locations/{location}/metadataStores/{metadatastore}/art
      ifacts/{artifact}`
  """

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


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

  Fields:
    filter: Filter specifying the boolean condition for the Artifacts to
      satisfy in order to be part of the result set. The syntax to define
      filter query is based on https://google.aip.dev/160. The supported set
      of filters include the following: * **Attribute filtering**: For
      example: `display_name = "test"`. Supported fields include: `name`,
      `display_name`, `uri`, `state`, `schema_title`, `create_time`, and
      `update_time`. Time fields, such as `create_time` and `update_time`,
      require values specified in RFC-3339 format. For example: `create_time =
      "2020-11-19T11:30:00-04:00"` * **Metadata field**: To filter on metadata
      fields use traversal operation as follows: `metadata..`. For example:
      `metadata.field_1.number_value = 10.0` In case the field name contains
      special characters (such as colon), one can embed it inside double
      quote. For example: `metadata."field:1".number_value = 10.0` * **Context
      based filtering**: To filter Artifacts based on the contexts to which
      they belong, use the function operator with the full resource name
      `in_context()`. For example:
      `in_context("projects//locations//metadataStores//contexts/")` Each of
      the above supported filter types can be combined together using logical
      operators (`AND` & `OR`). Maximum nested expression depth allowed is 5.
      For example: `display_name = "test" AND metadata.field1.bool_value =
      true`.
    orderBy: How the list of messages is ordered. Specify the values to order
      by and an ordering operation. The default sorting order is ascending. To
      specify descending order for a field, users append a " desc" suffix; for
      example: "foo desc, bar". Subfields are specified with a `.` character,
      such as foo.bar. see https://google.aip.dev/132#ordering for more
      details.
    pageSize: The maximum number of Artifacts to return. The service may
      return fewer. Must be in range 1-100, inclusive. Defaults to 100.
    pageToken: A page token, received from a previous
      MetadataService.ListArtifacts call. Provide this to retrieve the
      subsequent page. When paginating, all other provided parameters must
      match the call that provided the page token. (Otherwise the request will
      fail with INVALID_ARGUMENT error.)
    parent: Required. The MetadataStore whose Artifacts should be listed.
      Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    allowMissing: If set to true, and the Artifact is not found, a new
      Artifact is created.
    googleCloudAiplatformV1Artifact: A GoogleCloudAiplatformV1Artifact
      resource to be passed as the request body.
    name: Output only. The resource name of the Artifact.
    updateMask: Optional. A FieldMask indicating which fields should be
      updated.
  """

  allowMissing = _messages.BooleanField(1)
  googleCloudAiplatformV1Artifact = _messages.MessageField('GoogleCloudAiplatformV1Artifact', 2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


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

  Fields:
    googleCloudAiplatformV1PurgeArtifactsRequest: A
      GoogleCloudAiplatformV1PurgeArtifactsRequest resource to be passed as
      the request body.
    parent: Required. The metadata store to purge Artifacts from. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  googleCloudAiplatformV1PurgeArtifactsRequest = _messages.MessageField('GoogleCloudAiplatformV1PurgeArtifactsRequest', 1)
  parent = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsMetadataStoresArtifactsQueryArtifactLineage
  SubgraphRequest object.

  Fields:
    artifact: Required. The resource name of the Artifact whose Lineage needs
      to be retrieved as a LineageSubgraph. Format: `projects/{project}/locati
      ons/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The
      request may error with FAILED_PRECONDITION if the number of Artifacts,
      the number of Executions, or the number of Events that would be returned
      for the Context exceeds 1000.
    filter: Filter specifying the boolean condition for the Artifacts to
      satisfy in order to be part of the Lineage Subgraph. The syntax to
      define filter query is based on https://google.aip.dev/160. The
      supported set of filters include the following: * **Attribute
      filtering**: For example: `display_name = "test"` Supported fields
      include: `name`, `display_name`, `uri`, `state`, `schema_title`,
      `create_time`, and `update_time`. Time fields, such as `create_time` and
      `update_time`, require values specified in RFC-3339 format. For example:
      `create_time = "2020-11-19T11:30:00-04:00"` * **Metadata field**: To
      filter on metadata fields use traversal operation as follows:
      `metadata..`. For example: `metadata.field_1.number_value = 10.0` In
      case the field name contains special characters (such as colon), one can
      embed it inside double quote. For example:
      `metadata."field:1".number_value = 10.0` Each of the above supported
      filter types can be combined together using logical operators (`AND` &
      `OR`). Maximum nested expression depth allowed is 5. For example:
      `display_name = "test" AND metadata.field1.bool_value = true`.
    maxHops: Specifies the size of the lineage graph in terms of number of
      hops from the specified artifact. Negative Value: INVALID_ARGUMENT error
      is returned 0: Only input artifact is returned. No value: Transitive
      closure is performed to return the complete graph.
  """

  artifact = _messages.StringField(1, required=True)
  filter = _messages.StringField(2)
  maxHops = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class AiplatformProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsMetadataStoresContextsAddContextArtifactsAn
  dExecutionsRequest object.

  Fields:
    context: Required. The resource name of the Context that the Artifacts and
      Executions belong to. Format: `projects/{project}/locations/{location}/m
      etadataStores/{metadatastore}/contexts/{context}`
    googleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest: A
      GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest resource
      to be passed as the request body.
  """

  context = _messages.StringField(1, required=True)
  googleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest = _messages.MessageField('GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest', 2)


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

  Fields:
    context: Required. The resource name of the parent Context. Format: `proje
      cts/{project}/locations/{location}/metadataStores/{metadatastore}/contex
      ts/{context}`
    googleCloudAiplatformV1AddContextChildrenRequest: A
      GoogleCloudAiplatformV1AddContextChildrenRequest resource to be passed
      as the request body.
  """

  context = _messages.StringField(1, required=True)
  googleCloudAiplatformV1AddContextChildrenRequest = _messages.MessageField('GoogleCloudAiplatformV1AddContextChildrenRequest', 2)


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

  Fields:
    contextId: The {context} portion of the resource name with the format: `pr
      ojects/{project}/locations/{location}/metadataStores/{metadatastore}/con
      texts/{context}`. If not provided, the Context's ID will be a UUID
      generated by the service. Must be 4-128 characters in length. Valid
      characters are `/a-z-/`. Must be unique across all Contexts in the
      parent MetadataStore. (Otherwise the request will fail with
      ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the
      preexisting Context.)
    googleCloudAiplatformV1Context: A GoogleCloudAiplatformV1Context resource
      to be passed as the request body.
    parent: Required. The resource name of the MetadataStore where the Context
      should be created. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  contextId = _messages.StringField(1)
  googleCloudAiplatformV1Context = _messages.MessageField('GoogleCloudAiplatformV1Context', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    etag: Optional. The etag of the Context to delete. If this is provided, it
      must match the server's etag. Otherwise, the request will fail with a
      FAILED_PRECONDITION.
    force: The force deletion semantics is still undefined. Users should not
      use this field.
    name: Required. The resource name of the Context to delete. Format: `proje
      cts/{project}/locations/{location}/metadataStores/{metadatastore}/contex
      ts/{context}`
  """

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


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

  Fields:
    name: Required. The resource name of the Context to retrieve. Format: `pro
      jects/{project}/locations/{location}/metadataStores/{metadatastore}/cont
      exts/{context}`
  """

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


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

  Fields:
    filter: Filter specifying the boolean condition for the Contexts to
      satisfy in order to be part of the result set. The syntax to define
      filter query is based on https://google.aip.dev/160. Following are the
      supported set of filters: * **Attribute filtering**: For example:
      `display_name = "test"`. Supported fields include: `name`,
      `display_name`, `schema_title`, `create_time`, and `update_time`. Time
      fields, such as `create_time` and `update_time`, require values
      specified in RFC-3339 format. For example: `create_time =
      "2020-11-19T11:30:00-04:00"`. * **Metadata field**: To filter on
      metadata fields use traversal operation as follows: `metadata..`. For
      example: `metadata.field_1.number_value = 10.0`. In case the field name
      contains special characters (such as colon), one can embed it inside
      double quote. For example: `metadata."field:1".number_value = 10.0` *
      **Parent Child filtering**: To filter Contexts based on parent-child
      relationship use the HAS operator as follows: ``` parent_contexts:
      "projects//locations//metadataStores//contexts/" child_contexts:
      "projects//locations//metadataStores//contexts/" ``` Each of the above
      supported filters can be combined together using logical operators
      (`AND` & `OR`). Maximum nested expression depth allowed is 5. For
      example: `display_name = "test" AND metadata.field1.bool_value = true`.
    orderBy: How the list of messages is ordered. Specify the values to order
      by and an ordering operation. The default sorting order is ascending. To
      specify descending order for a field, users append a " desc" suffix; for
      example: "foo desc, bar". Subfields are specified with a `.` character,
      such as foo.bar. see https://google.aip.dev/132#ordering for more
      details.
    pageSize: The maximum number of Contexts to return. The service may return
      fewer. Must be in range 1-100, inclusive. Defaults to 100.
    pageToken: A page token, received from a previous
      MetadataService.ListContexts call. Provide this to retrieve the
      subsequent page. When paginating, all other provided parameters must
      match the call that provided the page token. (Otherwise the request will
      fail with INVALID_ARGUMENT error.)
    parent: Required. The MetadataStore whose Contexts should be listed.
      Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    allowMissing: If set to true, and the Context is not found, a new Context
      is created.
    googleCloudAiplatformV1Context: A GoogleCloudAiplatformV1Context resource
      to be passed as the request body.
    name: Immutable. The resource name of the Context.
    updateMask: Optional. A FieldMask indicating which fields should be
      updated.
  """

  allowMissing = _messages.BooleanField(1)
  googleCloudAiplatformV1Context = _messages.MessageField('GoogleCloudAiplatformV1Context', 2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


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

  Fields:
    googleCloudAiplatformV1PurgeContextsRequest: A
      GoogleCloudAiplatformV1PurgeContextsRequest resource to be passed as the
      request body.
    parent: Required. The metadata store to purge Contexts from. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  googleCloudAiplatformV1PurgeContextsRequest = _messages.MessageField('GoogleCloudAiplatformV1PurgeContextsRequest', 1)
  parent = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsMetadataStoresContextsQueryContextLineageSu
  bgraphRequest object.

  Fields:
    context: Required. The resource name of the Context whose Artifacts and
      Executions should be retrieved as a LineageSubgraph. Format: `projects/{
      project}/locations/{location}/metadataStores/{metadatastore}/contexts/{c
      ontext}` The request may error with FAILED_PRECONDITION if the number of
      Artifacts, the number of Executions, or the number of Events that would
      be returned for the Context exceeds 1000.
  """

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


class AiplatformProjectsLocationsMetadataStoresContextsRemoveContextChildrenRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsMetadataStoresContextsRemoveContextChildren
  Request object.

  Fields:
    context: Required. The resource name of the parent Context. Format: `proje
      cts/{project}/locations/{location}/metadataStores/{metadatastore}/contex
      ts/{context}`
    googleCloudAiplatformV1RemoveContextChildrenRequest: A
      GoogleCloudAiplatformV1RemoveContextChildrenRequest resource to be
      passed as the request body.
  """

  context = _messages.StringField(1, required=True)
  googleCloudAiplatformV1RemoveContextChildrenRequest = _messages.MessageField('GoogleCloudAiplatformV1RemoveContextChildrenRequest', 2)


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

  Fields:
    googleCloudAiplatformV1MetadataStore: A
      GoogleCloudAiplatformV1MetadataStore resource to be passed as the
      request body.
    metadataStoreId: The {metadatastore} portion of the resource name with the
      format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
      If not provided, the MetadataStore's ID will be a UUID generated by the
      service. Must be 4-128 characters in length. Valid characters are
      `/a-z-/`. Must be unique across all MetadataStores in the parent
      Location. (Otherwise the request will fail with ALREADY_EXISTS, or
      PERMISSION_DENIED if the caller can't view the preexisting
      MetadataStore.)
    parent: Required. The resource name of the Location where the
      MetadataStore should be created. Format:
      `projects/{project}/locations/{location}/`
  """

  googleCloudAiplatformV1MetadataStore = _messages.MessageField('GoogleCloudAiplatformV1MetadataStore', 1)
  metadataStoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    force: Deprecated: Field is no longer supported.
    name: Required. The resource name of the MetadataStore to delete. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    execution: Required. The resource name of the Execution that the Events
      connect Artifacts with. Format: `projects/{project}/locations/{location}
      /metadataStores/{metadatastore}/executions/{execution}`
    googleCloudAiplatformV1AddExecutionEventsRequest: A
      GoogleCloudAiplatformV1AddExecutionEventsRequest resource to be passed
      as the request body.
  """

  execution = _messages.StringField(1, required=True)
  googleCloudAiplatformV1AddExecutionEventsRequest = _messages.MessageField('GoogleCloudAiplatformV1AddExecutionEventsRequest', 2)


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

  Fields:
    executionId: The {execution} portion of the resource name with the format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}/
      executions/{execution}` If not provided, the Execution's ID will be a
      UUID generated by the service. Must be 4-128 characters in length. Valid
      characters are `/a-z-/`. Must be unique across all Executions in the
      parent MetadataStore. (Otherwise the request will fail with
      ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the
      preexisting Execution.)
    googleCloudAiplatformV1Execution: A GoogleCloudAiplatformV1Execution
      resource to be passed as the request body.
    parent: Required. The resource name of the MetadataStore where the
      Execution should be created. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  executionId = _messages.StringField(1)
  googleCloudAiplatformV1Execution = _messages.MessageField('GoogleCloudAiplatformV1Execution', 2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    etag: Optional. The etag of the Execution to delete. If this is provided,
      it must match the server's etag. Otherwise, the request will fail with a
      FAILED_PRECONDITION.
    name: Required. The resource name of the Execution to delete. Format: `pro
      jects/{project}/locations/{location}/metadataStores/{metadatastore}/exec
      utions/{execution}`
  """

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


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

  Fields:
    name: Required. The resource name of the Execution to retrieve. Format: `p
      rojects/{project}/locations/{location}/metadataStores/{metadatastore}/ex
      ecutions/{execution}`
  """

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


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

  Fields:
    filter: Filter specifying the boolean condition for the Executions to
      satisfy in order to be part of the result set. The syntax to define
      filter query is based on https://google.aip.dev/160. Following are the
      supported set of filters: * **Attribute filtering**: For example:
      `display_name = "test"`. Supported fields include: `name`,
      `display_name`, `state`, `schema_title`, `create_time`, and
      `update_time`. Time fields, such as `create_time` and `update_time`,
      require values specified in RFC-3339 format. For example: `create_time =
      "2020-11-19T11:30:00-04:00"`. * **Metadata field**: To filter on
      metadata fields use traversal operation as follows: `metadata..` For
      example: `metadata.field_1.number_value = 10.0` In case the field name
      contains special characters (such as colon), one can embed it inside
      double quote. For example: `metadata."field:1".number_value = 10.0` *
      **Context based filtering**: To filter Executions based on the contexts
      to which they belong use the function operator with the full resource
      name: `in_context()`. For example:
      `in_context("projects//locations//metadataStores//contexts/")` Each of
      the above supported filters can be combined together using logical
      operators (`AND` & `OR`). Maximum nested expression depth allowed is 5.
      For example: `display_name = "test" AND metadata.field1.bool_value =
      true`.
    orderBy: How the list of messages is ordered. Specify the values to order
      by and an ordering operation. The default sorting order is ascending. To
      specify descending order for a field, users append a " desc" suffix; for
      example: "foo desc, bar". Subfields are specified with a `.` character,
      such as foo.bar. see https://google.aip.dev/132#ordering for more
      details.
    pageSize: The maximum number of Executions to return. The service may
      return fewer. Must be in range 1-100, inclusive. Defaults to 100.
    pageToken: A page token, received from a previous
      MetadataService.ListExecutions call. Provide this to retrieve the
      subsequent page. When paginating, all other provided parameters must
      match the call that provided the page token. (Otherwise the request will
      fail with an INVALID_ARGUMENT error.)
    parent: Required. The MetadataStore whose Executions should be listed.
      Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    allowMissing: If set to true, and the Execution is not found, a new
      Execution is created.
    googleCloudAiplatformV1Execution: A GoogleCloudAiplatformV1Execution
      resource to be passed as the request body.
    name: Output only. The resource name of the Execution.
    updateMask: Optional. A FieldMask indicating which fields should be
      updated.
  """

  allowMissing = _messages.BooleanField(1)
  googleCloudAiplatformV1Execution = _messages.MessageField('GoogleCloudAiplatformV1Execution', 2)
  name = _messages.StringField(3, required=True)
  updateMask = _messages.StringField(4)


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

  Fields:
    googleCloudAiplatformV1PurgeExecutionsRequest: A
      GoogleCloudAiplatformV1PurgeExecutionsRequest resource to be passed as
      the request body.
    parent: Required. The metadata store to purge Executions from. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  googleCloudAiplatformV1PurgeExecutionsRequest = _messages.MessageField('GoogleCloudAiplatformV1PurgeExecutionsRequest', 1)
  parent = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsMetadataStoresExecutionsQueryExecutionInput
  sAndOutputsRequest object.

  Fields:
    execution: Required. The resource name of the Execution whose input and
      output Artifacts should be retrieved as a LineageSubgraph. Format: `proj
      ects/{project}/locations/{location}/metadataStores/{metadatastore}/execu
      tions/{execution}`
  """

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


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

  Fields:
    name: Required. The resource name of the MetadataStore to retrieve.
      Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    pageSize: The maximum number of Metadata Stores to return. The service may
      return fewer. Must be in range 1-100, inclusive. Defaults to 100.
    pageToken: A page token, received from a previous
      MetadataService.ListMetadataStores call. Provide this to retrieve the
      subsequent page. When paginating, all other provided parameters must
      match the call that provided the page token. (Otherwise the request will
      fail with INVALID_ARGUMENT error.)
    parent: Required. The Location whose MetadataStores should be listed.
      Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1MetadataSchema: A
      GoogleCloudAiplatformV1MetadataSchema resource to be passed as the
      request body.
    metadataSchemaId: The {metadata_schema} portion of the resource name with
      the format: `projects/{project}/locations/{location}/metadataStores/{met
      adatastore}/metadataSchemas/{metadataschema}` If not provided, the
      MetadataStore's ID will be a UUID generated by the service. Must be
      4-128 characters in length. Valid characters are `/a-z-/`. Must be
      unique across all MetadataSchemas in the parent Location. (Otherwise the
      request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the
      caller can't view the preexisting MetadataSchema.)
    parent: Required. The resource name of the MetadataStore where the
      MetadataSchema should be created. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

  googleCloudAiplatformV1MetadataSchema = _messages.MessageField('GoogleCloudAiplatformV1MetadataSchema', 1)
  metadataSchemaId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The resource name of the MetadataSchema to retrieve.
      Format: `projects/{project}/locations/{location}/metadataStores/{metadat
      astore}/metadataSchemas/{metadataschema}`
  """

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


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

  Fields:
    filter: A query to filter available MetadataSchemas for matching results.
    pageSize: The maximum number of MetadataSchemas to return. The service may
      return fewer. Must be in range 1-100, inclusive. Defaults to 100.
    pageToken: A page token, received from a previous
      MetadataService.ListMetadataSchemas call. Provide this to retrieve the
      next page. When paginating, all other provided parameters must match the
      call that provided the page token. (Otherwise the request will fail with
      INVALID_ARGUMENT error.)
    parent: Required. The MetadataStore whose MetadataSchemas should be
      listed. Format:
      `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  """

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


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

  Fields:
    googleCloudAiplatformV1BatchMigrateResourcesRequest: A
      GoogleCloudAiplatformV1BatchMigrateResourcesRequest resource to be
      passed as the request body.
    parent: Required. The location of the migrated resource will live in.
      Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1BatchMigrateResourcesRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchMigrateResourcesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1SearchMigratableResourcesRequest: A
      GoogleCloudAiplatformV1SearchMigratableResourcesRequest resource to be
      passed as the request body.
    parent: Required. The location that the migratable resources should be
      searched from. It's the Vertex AI location that the resources can be
      migrated to, not the resources' original location. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1SearchMigratableResourcesRequest = _messages.MessageField('GoogleCloudAiplatformV1SearchMigratableResourcesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1ModelDeploymentMonitoringJob: A
      GoogleCloudAiplatformV1ModelDeploymentMonitoringJob resource to be
      passed as the request body.
    parent: Required. The parent of the ModelDeploymentMonitoringJob. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1ModelDeploymentMonitoringJob = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The resource name of the model monitoring job to delete.
      Format: `projects/{project}/locations/{location}/modelDeploymentMonitori
      ngJobs/{model_deployment_monitoring_job}`
  """

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


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

  Fields:
    name: Required. The resource name of the ModelDeploymentMonitoringJob.
      Format: `projects/{project}/locations/{location}/modelDeploymentMonitori
      ngJobs/{model_deployment_monitoring_job}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports
      `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`,
      `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* - key existence Some examples of using the filter
      are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` *
      `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT
      display_name="my_job"` * `create_time>"2021-05-18T00:00:00Z"` *
      `labels.keyA=valueA` * `labels.keyB:*`
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    parent: Required. The parent of the ModelDeploymentMonitoringJob. Format:
      `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read
  """

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


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

  Fields:
    googleCloudAiplatformV1ModelDeploymentMonitoringJob: A
      GoogleCloudAiplatformV1ModelDeploymentMonitoringJob resource to be
      passed as the request body.
    name: Output only. Resource name of a ModelDeploymentMonitoringJob.
    updateMask: Required. The update mask is used to specify the fields to be
      overwritten in the ModelDeploymentMonitoringJob resource by the update.
      The fields specified in the update_mask are relative to the resource,
      not the full request. A field will be overwritten if it is in the mask.
      If the user does not provide a mask then only the non-empty fields
      present in the request will be overwritten. Set the update_mask to `*`
      to override all fields. For the objective config, the user can either
      provide the update mask for
      model_deployment_monitoring_objective_configs or any combination of its
      nested fields, such as: model_deployment_monitoring_objective_configs.ob
      jective_config.training_dataset. Updatable fields: * `display_name` *
      `model_deployment_monitoring_schedule_config` *
      `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels`
      * `log_ttl` * `enable_monitoring_pipeline_logs` . and *
      `model_deployment_monitoring_objective_configs` . or * `model_deployment
      _monitoring_objective_configs.objective_config.training_dataset` * `mode
      l_deployment_monitoring_objective_configs.objective_config.training_pred
      iction_skew_detection_config` * `model_deployment_monitoring_objective_c
      onfigs.objective_config.prediction_drift_detection_config`
  """

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


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

  Fields:
    googleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest: A
      GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest resource
      to be passed as the request body.
    name: Required. The resource name of the ModelDeploymentMonitoringJob to
      pause. Format: `projects/{project}/locations/{location}/modelDeploymentM
      onitoringJobs/{model_deployment_monitoring_job}`
  """

  googleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest = _messages.MessageField('GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest: A
      GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest
      resource to be passed as the request body.
    name: Required. The resource name of the ModelDeploymentMonitoringJob to
      resume. Format: `projects/{project}/locations/{location}/modelDeployment
      MonitoringJobs/{model_deployment_monitoring_job}`
  """

  googleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest = _messages.MessageField('GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest', 1)
  name = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsModelDeploymentMonitoringJobsSearchModelDep
  loymentMonitoringStatsAnomaliesRequest object.

  Fields:
    googleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesReques
      t: A GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomalie
      sRequest resource to be passed as the request body.
    modelDeploymentMonitoringJob: Required. ModelDeploymentMonitoring Job
      resource name. Format: `projects/{project}/locations/{location}/modelDep
      loymentMonitoringJobs/{model_deployment_monitoring_job}`
  """

  googleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest = _messages.MessageField('GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest', 1)
  modelDeploymentMonitoringJob = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CopyModelRequest: A
      GoogleCloudAiplatformV1CopyModelRequest resource to be passed as the
      request body.
    parent: Required. The resource name of the Location into which to copy the
      Model. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1CopyModelRequest = _messages.MessageField('GoogleCloudAiplatformV1CopyModelRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Model resource to be deleted. Format:
      `projects/{project}/locations/{location}/models/{model}`
  """

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


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

  Fields:
    name: Required. The name of the model version to be deleted, with a
      version ID explicitly included. Example:
      `projects/{project}/locations/{location}/models/{model}@1234`
  """

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


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

  Fields:
    name: Required. The name of the ModelEvaluation resource. Format: `project
      s/{project}/locations/{location}/models/{model}/evaluations/{evaluation}
      `
  """

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


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

  Fields:
    googleCloudAiplatformV1ImportModelEvaluationRequest: A
      GoogleCloudAiplatformV1ImportModelEvaluationRequest resource to be
      passed as the request body.
    parent: Required. The name of the parent model resource. Format:
      `projects/{project}/locations/{location}/models/{model}`
  """

  googleCloudAiplatformV1ImportModelEvaluationRequest = _messages.MessageField('GoogleCloudAiplatformV1ImportModelEvaluationRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    filter: The standard list filter.
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListModelEvaluationsResponse.next_page_token of the previous
      ModelService.ListModelEvaluations call.
    parent: Required. The resource name of the Model to list the
      ModelEvaluations from. Format:
      `projects/{project}/locations/{location}/models/{model}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest: A
      GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest resource
      to be passed as the request body.
    parent: Required. The name of the parent ModelEvaluationSlice resource.
      Format: `projects/{project}/locations/{location}/models/{model}/evaluati
      ons/{evaluation}/slices/{slice}`
  """

  googleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the ModelEvaluationSlice resource. Format: `pr
      ojects/{project}/locations/{location}/models/{model}/evaluations/{evalua
      tion}/slices/{slice}`
  """

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


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

  Fields:
    filter: The standard list filter. * `slice.dimension` - for =.
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListModelEvaluationSlicesResponse.next_page_token of the previous
      ModelService.ListModelEvaluationSlices call.
    parent: Required. The resource name of the ModelEvaluation to list the
      ModelEvaluationSlices from. Format: `projects/{project}/locations/{locat
      ion}/models/{model}/evaluations/{evaluation}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1ExportModelRequest: A
      GoogleCloudAiplatformV1ExportModelRequest resource to be passed as the
      request body.
    name: Required. The resource name of the Model to export. The resource
      name may contain version id or version alias to specify the version, if
      no version is specified, the default version will be exported.
  """

  googleCloudAiplatformV1ExportModelRequest = _messages.MessageField('GoogleCloudAiplatformV1ExportModelRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Model resource. Format:
      `projects/{project}/locations/{location}/models/{model}` In order to
      retrieve a specific version of the model, also provide the version ID or
      version alias. Example:
      `projects/{project}/locations/{location}/models/{model}@2` or
      `projects/{project}/locations/{location}/models/{model}@golden` If no
      version ID or alias is specified, the "default" version will be
      returned. The "default" version alias is created for the first version
      of the model, and can be moved to other versions later on. There will be
      exactly one default version.
  """

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


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

  Fields:
    name: Required. The name of the model version to list checkpoints for.
      `projects/{project}/locations/{location}/models/{model}@{version}`
      Example: `projects/{project}/locations/{location}/models/{model}@2` or
      `projects/{project}/locations/{location}/models/{model}@golden` If no
      version ID or alias is specified, the latest version will be used.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      next_page_token of the previous ListModelVersionCheckpoints call.
  """

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


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

  Fields:
    filter: An expression for filtering the results of the request. For field
      names both snake_case and camelCase are supported. * `model` supports =
      and !=. `model` represents the Model ID, i.e. the last segment of the
      Model's resource name. * `display_name` supports = and != * `labels`
      supports general map functions that is: * `labels.key=value` - key:value
      equality * `labels.key:* or labels:key - key existence * A key including
      a space must be quoted. `labels."a key"`. * `base_model_name` only
      supports = Some examples: * `model=1234` * `displayName="myDisplayName"`
      * `labels.myKey="myValue"` * `baseModelName="text-bison"`
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `display_name` * `create_time` * `update_time` Example: `display_name,
      create_time desc`.
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListModelsResponse.next_page_token of the previous
      ModelService.ListModels call.
    parent: Required. The resource name of the Location to list the Models
      from. Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    filter: An expression for filtering the results of the request. For field
      names both snake_case and camelCase are supported. * `labels` supports
      general map functions that is: * `labels.key=value` - key:value equality
      * `labels.key:* or labels:key - key existence * A key including a space
      must be quoted. `labels."a key"`. Some examples: *
      `labels.myKey="myValue"`
    name: Required. The name of the model to list versions for.
    orderBy: A comma-separated list of fields to order by, sorted in ascending
      order. Use "desc" after a field name for descending. Supported fields: *
      `create_time` * `update_time` Example: `update_time asc, create_time
      desc`.
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      next_page_token of the previous ListModelVersions call.
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1MergeVersionAliasesRequest: A
      GoogleCloudAiplatformV1MergeVersionAliasesRequest resource to be passed
      as the request body.
    name: Required. The name of the model version to merge aliases, with a
      version ID explicitly included. Example:
      `projects/{project}/locations/{location}/models/{model}@1234`
  """

  googleCloudAiplatformV1MergeVersionAliasesRequest = _messages.MessageField('GoogleCloudAiplatformV1MergeVersionAliasesRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1Model: A GoogleCloudAiplatformV1Model resource to
      be passed as the request body.
    name: Identifier. The resource name of the Model.
    updateMask: Required. The update mask applies to the resource. For the
      `FieldMask` definition, see google.protobuf.FieldMask.
  """

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


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1UpdateExplanationDatasetRequest: A
      GoogleCloudAiplatformV1UpdateExplanationDatasetRequest resource to be
      passed as the request body.
    model: Required. The resource name of the Model to update. Format:
      `projects/{project}/locations/{location}/models/{model}`
  """

  googleCloudAiplatformV1UpdateExplanationDatasetRequest = _messages.MessageField('GoogleCloudAiplatformV1UpdateExplanationDatasetRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1UploadModelRequest: A
      GoogleCloudAiplatformV1UploadModelRequest resource to be passed as the
      request body.
    parent: Required. The resource name of the Location into which to upload
      the Model. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1UploadModelRequest = _messages.MessageField('GoogleCloudAiplatformV1UploadModelRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CancelNasJobRequest: A
      GoogleCloudAiplatformV1CancelNasJobRequest resource to be passed as the
      request body.
    name: Required. The name of the NasJob to cancel. Format:
      `projects/{project}/locations/{location}/nasJobs/{nas_job}`
  """

  googleCloudAiplatformV1CancelNasJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelNasJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1NasJob: A GoogleCloudAiplatformV1NasJob resource to
      be passed as the request body.
    parent: Required. The resource name of the Location to create the NasJob
      in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1NasJob = _messages.MessageField('GoogleCloudAiplatformV1NasJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the NasJob resource to be deleted. Format:
      `projects/{project}/locations/{location}/nasJobs/{nas_job}`
  """

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


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

  Fields:
    name: Required. The name of the NasJob resource. Format:
      `projects/{project}/locations/{location}/nasJobs/{nas_job}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports
      `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`,
      `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels`
      supports general map functions that is: `labels.key=value` - key:value
      equality `labels.key:* - key existence Some examples of using the filter
      are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` *
      `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT
      display_name="my_job"` * `create_time>"2021-05-18T00:00:00Z"` *
      `labels.keyA=valueA` * `labels.keyB:*`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListNasJobsResponse.next_page_token of the previous
      JobService.ListNasJobs call.
    parent: Required. The resource name of the Location to list the NasJobs
      from. Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    name: Required. The name of the NasTrialDetail resource. Format: `projects
      /{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_t
      rial_detail}`
  """

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


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

  Fields:
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListNasTrialDetailsResponse.next_page_token of the previous
      JobService.ListNasTrialDetails call.
    parent: Required. The name of the NasJob resource. Format:
      `projects/{project}/locations/{location}/nasJobs/{nas_job}`
  """

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


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

  Fields:
    googleCloudAiplatformV1NotebookExecutionJob: A
      GoogleCloudAiplatformV1NotebookExecutionJob resource to be passed as the
      request body.
    notebookExecutionJobId: Optional. User specified ID for the
      NotebookExecutionJob.
    parent: Required. The resource name of the Location to create the
      NotebookExecutionJob. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1NotebookExecutionJob = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJob', 1)
  notebookExecutionJobId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The name of the NotebookExecutionJob resource to be
      deleted.
  """

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


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

  Enums:
    ViewValueValuesEnum: Optional. The NotebookExecutionJob view. Defaults to
      BASIC.

  Fields:
    name: Required. The name of the NotebookExecutionJob resource.
    view: Optional. The NotebookExecutionJob view. Defaults to BASIC.
  """

  class ViewValueValuesEnum(_messages.Enum):
    r"""Optional. The NotebookExecutionJob view. Defaults to BASIC.

    Values:
      NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED: When unspecified, the API
        defaults to the BASIC view.
      NOTEBOOK_EXECUTION_JOB_VIEW_BASIC: Includes all fields except for direct
        notebook inputs.
      NOTEBOOK_EXECUTION_JOB_VIEW_FULL: Includes all fields.
    """
    NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED = 0
    NOTEBOOK_EXECUTION_JOB_VIEW_BASIC = 1
    NOTEBOOK_EXECUTION_JOB_VIEW_FULL = 2

  name = _messages.StringField(1, required=True)
  view = _messages.EnumField('ViewValueValuesEnum', 2)


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

  Enums:
    ViewValueValuesEnum: Optional. The NotebookExecutionJob view. Defaults to
      BASIC.

  Fields:
    filter: Optional. An expression for filtering the results of the request.
      For field names both snake_case and camelCase are supported. *
      `notebookExecutionJob` supports = and !=. `notebookExecutionJob`
      represents the NotebookExecutionJob ID. * `displayName` supports = and
      != and regex. * `schedule` supports = and != and regex. Some examples: *
      `notebookExecutionJob="123"` * `notebookExecutionJob="my-execution-job"`
      * `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"`
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending. Supported
      fields: * `display_name` * `create_time` * `update_time` Example:
      `display_name, create_time desc`.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListNotebookExecutionJobsResponse.next_page_token of the previous
      NotebookService.ListNotebookExecutionJobs call.
    parent: Required. The resource name of the Location from which to list the
      NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`
    view: Optional. The NotebookExecutionJob view. Defaults to BASIC.
  """

  class ViewValueValuesEnum(_messages.Enum):
    r"""Optional. The NotebookExecutionJob view. Defaults to BASIC.

    Values:
      NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED: When unspecified, the API
        defaults to the BASIC view.
      NOTEBOOK_EXECUTION_JOB_VIEW_BASIC: Includes all fields except for direct
        notebook inputs.
      NOTEBOOK_EXECUTION_JOB_VIEW_FULL: Includes all fields.
    """
    NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED = 0
    NOTEBOOK_EXECUTION_JOB_VIEW_BASIC = 1
    NOTEBOOK_EXECUTION_JOB_VIEW_FULL = 2

  filter = _messages.StringField(1)
  orderBy = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  parent = _messages.StringField(5, required=True)
  view = _messages.EnumField('ViewValueValuesEnum', 6)


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

  Fields:
    googleCloudAiplatformV1NotebookRuntimeTemplate: A
      GoogleCloudAiplatformV1NotebookRuntimeTemplate resource to be passed as
      the request body.
    notebookRuntimeTemplateId: Optional. User specified ID for the notebook
      runtime template.
    parent: Required. The resource name of the Location to create the
      NotebookRuntimeTemplate. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1NotebookRuntimeTemplate = _messages.MessageField('GoogleCloudAiplatformV1NotebookRuntimeTemplate', 1)
  notebookRuntimeTemplateId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


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

  Fields:
    name: Required. The name of the NotebookRuntimeTemplate resource to be
      deleted. Format: `projects/{project}/locations/{location}/notebookRuntim
      eTemplates/{notebook_runtime_template}`
  """

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


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

  Fields:
    options_requestedPolicyVersion: Optional. The maximum policy version that
      will be used to format the policy. Valid values are 0, 1, and 3.
      Requests specifying an invalid value will be rejected. Requests for
      policies with any conditional role bindings must specify version 3.
      Policies with no conditional role bindings may specify any valid value
      or leave the field unset. The policy in the response might use the
      policy version that you specified, or it might use a lower policy
      version. For example, if you specify version 3, but the policy has no
      conditional role bindings, the response uses version 1. To learn which
      resources support conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    resource: REQUIRED: The resource for which the policy is being requested.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the NotebookRuntimeTemplate resource. Format:
      `projects/{project}/locations/{location}/notebookRuntimeTemplates/{noteb
      ook_runtime_template}`
  """

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


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

  Fields:
    filter: Optional. An expression for filtering the results of the request.
      For field names both snake_case and camelCase are supported. *
      `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate`
      represents the NotebookRuntimeTemplate ID, i.e. the last segment of the
      NotebookRuntimeTemplate's resource name. * `display_name` supports = and
      != * `labels` supports general map functions that is: *
      `labels.key=value` - key:value equality * `labels.key:* or labels:key -
      key existence * A key including a space must be quoted. `labels."a
      key"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType
      enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. *
      `acceleratorType` supports = and !=. Some examples: *
      `notebookRuntimeTemplate=notebookRuntimeTemplate123` *
      `displayName="myDisplayName"` * `labels.myKey="myValue"` *
      `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` *
      `acceleratorType=NVIDIA_TESLA_T4`
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending. Supported
      fields: * `display_name` * `create_time` * `update_time` Example:
      `display_name, create_time desc`.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListNotebookRuntimeTemplatesResponse.next_page_token of the previous
      NotebookService.ListNotebookRuntimeTemplates call.
    parent: Required. The resource name of the Location from which to list the
      NotebookRuntimeTemplates. Format:
      `projects/{project}/locations/{location}`
    readMask: Optional. Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1NotebookRuntimeTemplate: A
      GoogleCloudAiplatformV1NotebookRuntimeTemplate resource to be passed as
      the request body.
    name: The resource name of the NotebookRuntimeTemplate.
    updateMask: Required. The update mask applies to the resource. For the
      `FieldMask` definition, see google.protobuf.FieldMask. Input format:
      `{paths: "${updated_field}"}` Updatable fields: *
      `encryption_spec.kms_key_name` * `display_name` *
      `software_config.post_startup_script_config.post_startup_script` *
      `software_config.post_startup_script_config.post_startup_script_url` * `
      software_config.post_startup_script_config.post_startup_script_behavior`
      * `software_config.env` * `software_config.colab_image.release_name` *
      `software_config.custom_container_config.image_uri`
  """

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


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

  Fields:
    googleIamV1SetIamPolicyRequest: A GoogleIamV1SetIamPolicyRequest resource
      to be passed as the request body.
    resource: REQUIRED: The resource for which the policy is being specified.
      See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  googleIamV1SetIamPolicyRequest = _messages.MessageField('GoogleIamV1SetIamPolicyRequest', 1)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as `*` or `storage.*`) are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See [Resource
      names](https://cloud.google.com/apis/design/resource_names) for the
      appropriate value for this field.
  """

  permissions = _messages.StringField(1, repeated=True)
  resource = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1AssignNotebookRuntimeRequest: A
      GoogleCloudAiplatformV1AssignNotebookRuntimeRequest resource to be
      passed as the request body.
    parent: Required. The resource name of the Location to get the
      NotebookRuntime assignment. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1AssignNotebookRuntimeRequest = _messages.MessageField('GoogleCloudAiplatformV1AssignNotebookRuntimeRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the NotebookRuntime resource to be deleted.
      Instead of checking whether the name is in valid NotebookRuntime
      resource name format, directly throw NotFound exception if there is no
      such NotebookRuntime in spanner.
  """

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


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

  Fields:
    name: Required. The name of the NotebookRuntime resource. Instead of
      checking whether the name is in valid NotebookRuntime resource name
      format, directly throw NotFound exception if there is no such
      NotebookRuntime in spanner.
  """

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


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

  Fields:
    filter: Optional. An expression for filtering the results of the request.
      For field names both snake_case and camelCase are supported. *
      `notebookRuntime` supports = and !=. `notebookRuntime` represents the
      NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's
      resource name. * `displayName` supports = and != and regex. *
      `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate`
      represents the NotebookRuntimeTemplate ID, i.e. the last segment of the
      NotebookRuntimeTemplate's resource name. * `healthState` supports = and
      !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. *
      `runtimeState` supports = and !=. runtimeState enum:
      [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED,
      STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and
      !=. * API version is UI only: `uiState` supports = and !=. uiState enum:
      [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED,
      UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED,
      UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports =
      and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. *
      `machineType` supports = and !=. * `acceleratorType` supports = and !=.
      Some examples: * `notebookRuntime="notebookRuntime123"` *
      `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` *
      `notebookRuntimeTemplate="notebookRuntimeTemplate321"` *
      `healthState=HEALTHY` * `runtimeState=RUNNING` *
      `runtimeUser="test@google.com"` *
      `uiState=UI_RESOURCE_STATE_BEING_DELETED` *
      `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` *
      `acceleratorType=NVIDIA_TESLA_T4`
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending. Supported
      fields: * `display_name` * `create_time` * `update_time` Example:
      `display_name, create_time desc`.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListNotebookRuntimesResponse.next_page_token of the previous
      NotebookService.ListNotebookRuntimes call.
    parent: Required. The resource name of the Location from which to list the
      NotebookRuntimes. Format: `projects/{project}/locations/{location}`
    readMask: Optional. Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1StartNotebookRuntimeRequest: A
      GoogleCloudAiplatformV1StartNotebookRuntimeRequest resource to be passed
      as the request body.
    name: Required. The name of the NotebookRuntime resource to be started.
      Instead of checking whether the name is in valid NotebookRuntime
      resource name format, directly throw NotFound exception if there is no
      such NotebookRuntime in spanner.
  """

  googleCloudAiplatformV1StartNotebookRuntimeRequest = _messages.MessageField('GoogleCloudAiplatformV1StartNotebookRuntimeRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1StopNotebookRuntimeRequest: A
      GoogleCloudAiplatformV1StopNotebookRuntimeRequest resource to be passed
      as the request body.
    name: Required. The name of the NotebookRuntime resource to be stopped.
      Instead of checking whether the name is in valid NotebookRuntime
      resource name format, directly throw NotFound exception if there is no
      such NotebookRuntime in spanner.
  """

  googleCloudAiplatformV1StopNotebookRuntimeRequest = _messages.MessageField('GoogleCloudAiplatformV1StopNotebookRuntimeRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1UpgradeNotebookRuntimeRequest: A
      GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest resource to be
      passed as the request body.
    name: Required. The name of the NotebookRuntime resource to be upgrade.
      Instead of checking whether the name is in valid NotebookRuntime
      resource name format, directly throw NotFound exception if there is no
      such NotebookRuntime in spanner.
  """

  googleCloudAiplatformV1UpgradeNotebookRuntimeRequest = _messages.MessageField('GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest', 1)
  name = _messages.StringField(2, required=True)


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

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

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


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

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

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


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

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

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


class AiplatformProjectsLocationsOperationsListRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsOperationsListRequest 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.
    returnPartialSuccess: When set to `true`, operations that are reachable
      are returned as normal, and those that are unreachable are returned in
      the ListOperationsResponse.unreachable field. This can only be `true`
      when reading across collections. For example, when `parent` is set to
      `"projects/example/locations/-"`. This field is not supported by default
      and will result in an `UNIMPLEMENTED` error if set unless explicitly
      documented otherwise in service or product specific documentation.
  """

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


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

  Fields:
    name: The name of the operation resource to wait on.
    timeout: The maximum duration to wait before timing out. If left blank,
      the wait will be at most the time permitted by the underlying HTTP/RPC
      protocol. If RPC context deadline is also specified, the shorter one
      will be used.
  """

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


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

  Fields:
    googleCloudAiplatformV1PersistentResource: A
      GoogleCloudAiplatformV1PersistentResource resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create the
      PersistentResource in. Format: `projects/{project}/locations/{location}`
    persistentResourceId: Required. The ID to use for the PersistentResource,
      which become the final component of the PersistentResource's resource
      name. The maximum length is 63 characters, and valid characters are
      `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.
  """

  googleCloudAiplatformV1PersistentResource = _messages.MessageField('GoogleCloudAiplatformV1PersistentResource', 1)
  parent = _messages.StringField(2, required=True)
  persistentResourceId = _messages.StringField(3)


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

  Fields:
    name: Required. The name of the PersistentResource to be deleted. Format:
      `projects/{project}/locations/{location}/persistentResources/{persistent
      _resource}`
  """

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


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

  Fields:
    name: Required. The name of the PersistentResource resource. Format: `proj
      ects/{project_id_or_number}/locations/{location_id}/persistentResources/
      {persistent_resource_id}`
  """

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


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

  Fields:
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListPersistentResourcesResponse.next_page_token of the previous
      PersistentResourceService.ListPersistentResource call.
    parent: Required. The resource name of the Location to list the
      PersistentResources from. Format:
      `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1PersistentResource: A
      GoogleCloudAiplatformV1PersistentResource resource to be passed as the
      request body.
    name: Immutable. Resource name of a PersistentResource.
    updateMask: Required. Specify the fields to be overwritten in the
      PersistentResource by the update method.
  """

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


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

  Fields:
    googleCloudAiplatformV1RebootPersistentResourceRequest: A
      GoogleCloudAiplatformV1RebootPersistentResourceRequest resource to be
      passed as the request body.
    name: Required. The name of the PersistentResource resource. Format: `proj
      ects/{project_id_or_number}/locations/{location_id}/persistentResources/
      {persistent_resource_id}`
  """

  googleCloudAiplatformV1RebootPersistentResourceRequest = _messages.MessageField('GoogleCloudAiplatformV1RebootPersistentResourceRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1BatchCancelPipelineJobsRequest: A
      GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest resource to be
      passed as the request body.
    parent: Required. The name of the PipelineJobs' parent resource. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1BatchCancelPipelineJobsRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1BatchDeletePipelineJobsRequest: A
      GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest resource to be
      passed as the request body.
    parent: Required. The name of the PipelineJobs' parent resource. Format:
      `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1BatchDeletePipelineJobsRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CancelPipelineJobRequest: A
      GoogleCloudAiplatformV1CancelPipelineJobRequest resource to be passed as
      the request body.
    name: Required. The name of the PipelineJob to cancel. Format:
      `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`
  """

  googleCloudAiplatformV1CancelPipelineJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelPipelineJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1PipelineJob: A GoogleCloudAiplatformV1PipelineJob
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the
      PipelineJob in. Format: `projects/{project}/locations/{location}`
    pipelineJobId: The ID to use for the PipelineJob, which will become the
      final component of the PipelineJob name. If not provided, an ID will be
      automatically generated. This value should be less than 128 characters,
      and valid characters are `/a-z-/`.
  """

  googleCloudAiplatformV1PipelineJob = _messages.MessageField('GoogleCloudAiplatformV1PipelineJob', 1)
  parent = _messages.StringField(2, required=True)
  pipelineJobId = _messages.StringField(3)


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

  Fields:
    name: Required. The name of the PipelineJob resource to be deleted.
      Format:
      `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`
  """

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


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

  Fields:
    name: Required. The name of the PipelineJob resource. Format:
      `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`
  """

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


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

  Fields:
    filter: Lists the PipelineJobs that match the filter expression. The
      following fields are supported: * `pipeline_name`: Supports `=` and `!=`
      comparisons. * `display_name`: Supports `=`, `!=` comparisons, and `:`
      wildcard. * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and
      `:` wildcard. for example, can check if pipeline's display_name contains
      *step* by doing display_name:\"*step*\" * `state`: Supports `=` and `!=`
      comparisons. * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and
      `>=` comparisons. Values must be in RFC 3339 format. * `update_time`:
      Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be
      in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`,
      and `>=` comparisons. Values must be in RFC 3339 format. * `labels`:
      Supports key-value equality and key presence. * `template_uri`: Supports
      `=`, `!=` comparisons, and `:` wildcard. * `template_metadata.version`:
      Supports `=`, `!=` comparisons, and `:` wildcard. Filter expressions can
      be combined together using logical operators (`AND` & `OR`). For
      example: `pipeline_name="test" AND create_time>"2020-05-18T13:30:00Z"`.
      The syntax to define filter expression is based on
      https://google.aip.dev/160. Examples: *
      `create_time>"2021-05-18T00:00:00Z" OR
      update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated
      after 2020-05-18 00:00:00 UTC. * `labels.env = "prod"` PipelineJobs with
      label "env" set to "prod".
    orderBy: A comma-separated list of fields to order by. The default sort
      order is in ascending order. Use "desc" after a field name for
      descending. You can have multiple order_by fields provided e.g.
      "create_time desc, end_time", "end_time, start_time, update_time" For
      example, using "create_time desc, end_time" will order results by create
      time in descending order, and if there are multiple jobs having the same
      create time, order them by the end time in ascending order. if order_by
      is not specified, it will order by default order is create time in
      descending order. Supported fields: * `create_time` * `update_time` *
      `end_time` * `start_time`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListPipelineJobsResponse.next_page_token of the previous
      PipelineService.ListPipelineJobs call.
    parent: Required. The resource name of the Location to list the
      PipelineJobs from. Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to get lists of
      tokens and token ids.
    googleCloudAiplatformV1ComputeTokensRequest: A
      GoogleCloudAiplatformV1ComputeTokensRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1ComputeTokensRequest = _messages.MessageField('GoogleCloudAiplatformV1ComputeTokensRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to perform token
      counting. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1CountTokensRequest: A
      GoogleCloudAiplatformV1CountTokensRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1CountTokensRequest = _messages.MessageField('GoogleCloudAiplatformV1CountTokensRequest', 2)


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

  Fields:
    googleCloudAiplatformV1EmbedContentRequest: A
      GoogleCloudAiplatformV1EmbedContentRequest resource to be passed as the
      request body.
    model: Required. The name of the publisher model requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/publishers/*/models/*`
  """

  googleCloudAiplatformV1EmbedContentRequest = _messages.MessageField('GoogleCloudAiplatformV1EmbedContentRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1GenerateContentRequest: A
      GoogleCloudAiplatformV1GenerateContentRequest resource to be passed as
      the request body.
    model: Required. The fully qualified name of the publisher model or tuned
      model endpoint to use. Publisher model format:
      `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
      model endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

  googleCloudAiplatformV1GenerateContentRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    endpoint: Required. The resource name of the publisher model or endpoint
      requested to serve the prediction. For Google models like Embedding or
      Veo, use the publisher model format. For tuned models or other models
      deployed to an Agent Platform endpoint, use the endpoint format. *
      Publisher model format: `projects/{project}/locations/{location}/publish
      ers/google/models/{model}` * Endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1PredictRequest: A
      GoogleCloudAiplatformV1PredictRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1PredictRequest = _messages.MessageField('GoogleCloudAiplatformV1PredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1RawPredictRequest: A
      GoogleCloudAiplatformV1RawPredictRequest resource to be passed as the
      request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1RawPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1RawPredictRequest', 2)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    googleCloudAiplatformV1StreamingPredictRequest: A
      GoogleCloudAiplatformV1StreamingPredictRequest resource to be passed as
      the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1StreamingPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamingPredictRequest', 2)


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

  Fields:
    googleCloudAiplatformV1GenerateContentRequest: A
      GoogleCloudAiplatformV1GenerateContentRequest resource to be passed as
      the request body.
    model: Required. The fully qualified name of the publisher model or tuned
      model endpoint to use. Publisher model format:
      `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
      model endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
  """

  googleCloudAiplatformV1GenerateContentRequest = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentRequest', 1)
  model = _messages.StringField(2, required=True)


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

  Fields:
    endpoint: Required. The name of the Endpoint requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}` or `proje
      cts/{project}/locations/{location}/publishers/{publisher}/models/{model}
      `
    googleCloudAiplatformV1StreamRawPredictRequest: A
      GoogleCloudAiplatformV1StreamRawPredictRequest resource to be passed as
      the request body.
  """

  endpoint = _messages.StringField(1, required=True)
  googleCloudAiplatformV1StreamRawPredictRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamRawPredictRequest', 2)


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

  Fields:
    googleCloudAiplatformV1RagCorpus: A GoogleCloudAiplatformV1RagCorpus
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the
      RagCorpus in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1RagCorpus = _messages.MessageField('GoogleCloudAiplatformV1RagCorpus', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    force: Optional. If set to true, any RagFiles in this RagCorpus will also
      be deleted. Otherwise, the request will only work if the RagCorpus has
      no RagFiles.
    name: Required. The name of the RagCorpus resource to be deleted. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  """

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


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

  Fields:
    name: Required. The name of the RagCorpus resource. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  """

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


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

  Fields:
    pageSize: Optional. The standard list page size. The maximum value is 100.
      If not specified, a default value of 100 will be used.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListRagCorporaResponse.next_page_token of the previous
      VertexRagDataService.ListRagCorpora call.
    parent: Required. The resource name of the Location from which to list the
      RagCorpora. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    forceDelete: Optional. If set to true, any errors generated by external
      vector database during the deletion will be ignored. The default value
      is false.
    name: Required. The name of the RagFile resource to be deleted. Format: `p
      rojects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/
      {rag_file}`
  """

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


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

  Fields:
    name: Required. The name of the RagFile resource. Format: `projects/{proje
      ct}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`
  """

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


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

  Fields:
    googleCloudAiplatformV1ImportRagFilesRequest: A
      GoogleCloudAiplatformV1ImportRagFilesRequest resource to be passed as
      the request body.
    parent: Required. The name of the RagCorpus resource into which to import
      files. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  """

  googleCloudAiplatformV1ImportRagFilesRequest = _messages.MessageField('GoogleCloudAiplatformV1ImportRagFilesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    pageSize: Optional. The standard list page size. The maximum value is 100.
      If not specified, a default value of 100 will be used.
    pageToken: Optional. The standard list page token. Typically obtained via
      ListRagFilesResponse.next_page_token of the previous
      VertexRagDataService.ListRagFiles call.
    parent: Required. The resource name of the RagCorpus from which to list
      the RagFiles. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  """

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


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

  Fields:
    googleCloudAiplatformV1AsyncQueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest resource to be
      passed as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1AsyncQueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CancelAsyncQueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1CancelAsyncQueryReasoningEngineRequest resource
      to be passed as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1CancelAsyncQueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelAsyncQueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1ReasoningEngine: A
      GoogleCloudAiplatformV1ReasoningEngine resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create the
      ReasoningEngine in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1ReasoningEngine = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngine', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    force: Optional. If set to true, child resources of this reasoning engine
      will also be deleted. Otherwise, the request will fail with
      FAILED_PRECONDITION error when the reasoning engine has undeleted child
      resources.
    name: Required. The name of the ReasoningEngine resource to be deleted.
      Format: `projects/{project}/locations/{location}/reasoningEngines/{reaso
      ning_engine}`
  """

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


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

  Fields:
    name: Required. The name of the ReasoningEngine resource. Format: `project
      s/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`
  """

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


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

  Fields:
    filter: Optional. The standard list filter. More detail in
      [AIP-160](https://google.aip.dev/160).
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token.
    parent: Required. The resource name of the Location to list the
      ReasoningEngines from. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1ReasoningEngine: A
      GoogleCloudAiplatformV1ReasoningEngine resource to be passed as the
      request body.
    name: Identifier. The resource name of the ReasoningEngine. Format: `proje
      cts/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`
    updateMask: Optional. Mask specifying which fields to update.
  """

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


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

  Fields:
    googleCloudAiplatformV1QueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1QueryReasoningEngineRequest resource to be passed
      as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1QueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1QueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1QueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1QueryReasoningEngineRequest resource to be passed
      as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1QueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1QueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


class AiplatformProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQueryRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsReasoningEnginesRuntimeRevisionsStreamQuery
  Request object.

  Fields:
    googleCloudAiplatformV1StreamQueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest resource to be
      passed as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1StreamQueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1Session: A GoogleCloudAiplatformV1Session resource
      to be passed as the request body.
    parent: Required. The resource name of the location to create the session
      in. Format: `projects/{project}/locations/{location}/reasoningEngines/{r
      easoning_engine}`
    sessionId: Optional. The user defined ID to use for session, which will
      become the final component of the session resource name. If not
      provided, Vertex AI will generate a value for this ID. This value may be
      up to 63 characters, and valid characters are `[a-z0-9-]`. The first and
      last characters must be a letter or number.
  """

  googleCloudAiplatformV1Session = _messages.MessageField('GoogleCloudAiplatformV1Session', 1)
  parent = _messages.StringField(2, required=True)
  sessionId = _messages.StringField(3)


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

  Fields:
    name: Required. The resource name of the session. Format: `projects/{proje
      ct}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{s
      ession}`
  """

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


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

  Fields:
    filter: Optional. The standard list filter. Supported fields: *
      `timestamp` range (i.e. `timestamp>="2025-01-31T11:30:00-04:00"` where
      the timestamp is in RFC 3339 format) More detail in
      [AIP-160](https://google.aip.dev/160).
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending. Supported
      fields: * `timestamp` Example: `timestamp desc`.
    pageSize: Optional. The maximum number of events to return. The service
      may return fewer than this value. If unspecified, at most 100 events
      will be returned. These events are ordered by timestamp in ascending
      order.
    pageToken: Optional. The next_page_token value returned from a previous
      list SessionService.ListEvents call.
    parent: Required. The resource name of the session to list events from.
      Format: `projects/{project}/locations/{location}/reasoningEngines/{reaso
      ning_engine}/sessions/{session}`
  """

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


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

  Fields:
    name: Required. The resource name of the session. Format: `projects/{proje
      ct}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{s
      ession}`
  """

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


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

  Fields:
    filter: Optional. The standard list filter. Supported fields: *
      `display_name` * `user_id` * `labels` Example: `display_name="abc"`,
      `user_id="123"`, `labels.key="value"`.
    orderBy: Optional. A comma-separated list of fields to order by, sorted in
      ascending order. Use "desc" after a field name for descending. Supported
      fields: * `create_time` * `update_time` Example: `create_time desc`.
    pageSize: Optional. The maximum number of sessions to return. The service
      may return fewer than this value. If unspecified, the default page size
      is 100. Values greater than 100 will be capped at 100.
    pageToken: Optional. The next_page_token value returned from a previous
      list SessionService.ListSessions call.
    parent: Required. The resource name of the location to list sessions from.
      Format: `projects/{project}/locations/{location}/reasoningEngines/{reaso
      ning_engine}`
  """

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


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

  Fields:
    googleCloudAiplatformV1Session: A GoogleCloudAiplatformV1Session resource
      to be passed as the request body.
    name: Identifier. The resource name of the session. Format: 'projects/{pro
      ject}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/
      {session}'.
    updateMask: Optional. Field mask is used to control which fields get
      updated. If the mask is not present, all fields will be updated.
  """

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


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

  Fields:
    googleCloudAiplatformV1StreamQueryReasoningEngineRequest: A
      GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest resource to be
      passed as the request body.
    name: Required. The name of the ReasoningEngine resource to use. Format: `
      projects/{project}/locations/{location}/reasoningEngines/{reasoning_engi
      ne}`
  """

  googleCloudAiplatformV1StreamQueryReasoningEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1RetrieveContextsRequest: A
      GoogleCloudAiplatformV1RetrieveContextsRequest resource to be passed as
      the request body.
    parent: Required. The resource name of the Location from which to retrieve
      RagContexts. The users must have permission to make a call in the
      project. Format: `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1RetrieveContextsRequest = _messages.MessageField('GoogleCloudAiplatformV1RetrieveContextsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1Schedule: A GoogleCloudAiplatformV1Schedule
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the Schedule
      in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1Schedule = _messages.MessageField('GoogleCloudAiplatformV1Schedule', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Schedule resource to be deleted. Format:
      `projects/{project}/locations/{location}/schedules/{schedule}`
  """

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


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

  Fields:
    name: Required. The name of the Schedule resource. Format:
      `projects/{project}/locations/{location}/schedules/{schedule}`
  """

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


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

  Fields:
    filter: Lists the Schedules that match the filter expression. The
      following fields are supported: * `display_name`: Supports `=`, `!=`
      comparisons, and `:` wildcard. * `state`: Supports `=` and `!=`
      comparisons. * `request`: Supports existence of the check. (e.g.
      `create_pipeline_job_request:*` --> Schedule has
      create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`,
      `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. *
      `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
      Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`,
      `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must
      be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`,
      `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter
      expressions can be combined together using logical operators (`NOT`,
      `AND` & `OR`). The syntax to define filter expression is based on
      https://google.aip.dev/160. Examples: * `state="ACTIVE" AND
      display_name:"my_schedule_*"` * `NOT display_name="my_schedule"` *
      `create_time>"2021-05-18T00:00:00Z"` * `end_time>"2021-05-18T00:00:00Z"
      OR NOT end_time:*` * `create_pipeline_job_request:*`
    orderBy: A comma-separated list of fields to order by. The default sort
      order is in ascending order. Use "desc" after a field name for
      descending. You can have multiple order_by fields provided. For example,
      using "create_time desc, end_time" will order results by create time in
      descending order, and if there are multiple schedules having the same
      create time, order them by the end time in ascending order. If order_by
      is not specified, it will order by default with create_time in
      descending order. Supported fields: * `create_time` * `start_time` *
      `end_time` * `next_run_time`
    pageSize: The standard list page size. Default to 100 if not specified.
    pageToken: The standard list page token. Typically obtained via
      ListSchedulesResponse.next_page_token of the previous
      ScheduleService.ListSchedules call.
    parent: Required. The resource name of the Location to list the Schedules
      from. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1Schedule: A GoogleCloudAiplatformV1Schedule
      resource to be passed as the request body.
    name: Immutable. The resource name of the Schedule.
    updateMask: Required. The update mask applies to the resource. See
      google.protobuf.FieldMask.
  """

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


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

  Fields:
    googleCloudAiplatformV1PauseScheduleRequest: A
      GoogleCloudAiplatformV1PauseScheduleRequest resource to be passed as the
      request body.
    name: Required. The name of the Schedule resource to be paused. Format:
      `projects/{project}/locations/{location}/schedules/{schedule}`
  """

  googleCloudAiplatformV1PauseScheduleRequest = _messages.MessageField('GoogleCloudAiplatformV1PauseScheduleRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1ResumeScheduleRequest: A
      GoogleCloudAiplatformV1ResumeScheduleRequest resource to be passed as
      the request body.
    name: Required. The name of the Schedule resource to be resumed. Format:
      `projects/{project}/locations/{location}/schedules/{schedule}`
  """

  googleCloudAiplatformV1ResumeScheduleRequest = _messages.MessageField('GoogleCloudAiplatformV1ResumeScheduleRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1SemanticGovernancePolicy: A
      GoogleCloudAiplatformV1SemanticGovernancePolicy resource to be passed as
      the request body.
    parent: Required. The resource name of the Location into which to create
      the SemanticGovernancePolicy. Format:
      `projects/{project}/locations/{location}`
    semanticGovernancePolicyId: Required. The ID to use for the
      SemanticGovernancePolicy, which will become the final component of the
      SemanticGovernancePolicy's resource name. This value may be up to 63
      characters, and valid characters are `[a-z0-9-]`. The first character
      cannot be a number or hyphen. The last character must be a letter or a
      number.
  """

  googleCloudAiplatformV1SemanticGovernancePolicy = _messages.MessageField('GoogleCloudAiplatformV1SemanticGovernancePolicy', 1)
  parent = _messages.StringField(2, required=True)
  semanticGovernancePolicyId = _messages.StringField(3)


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

  Fields:
    etag: Optional. The etag of the SemanticGovernancePolicy. If an etag is
      provided and does not match the current etag of the
      SemanticGovernancePolicy, deletion will be blocked and an ABORTED error
      will be returned.
    name: Required. The name of the SemanticGovernancePolicy resource to be
      deleted. Format: `projects/{project}/locations/{location}/semanticGovern
      ancePolicies/{semantic_governance_policy}`
  """

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


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

  Fields:
    name: Required. The name of the SemanticGovernancePolicy resource. Format:
      `projects/{project}/locations/{location}/semanticGovernancePolicies/{sem
      antic_governance_policy}`
  """

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


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

  Fields:
    pageSize: Optional. The list page size. If zero, a default page size of 10
      is used.
    pageToken: Optional. The standard list page token.
    parent: Required. The resource name of the Location from which to list the
      SemanticGovernancePolicies. Format:
      `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1SemanticGovernancePolicy: A
      GoogleCloudAiplatformV1SemanticGovernancePolicy resource to be passed as
      the request body.
    name: Identifier. Resource name of the SemanticGovernancePolicy.
    updateMask: Optional. `update_mask` is used to specify the fields to be
      overwritten in the SemanticGovernancePolicy resource by the update. The
      fields specified in the `update_mask` are relative to the resource, not
      the full request. A field will be overwritten if it is in the mask. If
      the mask is not present, then all fields that are populated in the
      request message will be overwritten. Set the `update_mask` to `*` to
      override all fields.
  """

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


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

  Fields:
    googleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest: A
      GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest
      resource to be passed as the request body.
    name: Required. The resource name of the SemanticGovernancePolicyEngine to
      deprovision. Format:
      projects/{project}/locations/{location}/semanticGovernancePolicyEngine
  """

  googleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest = _messages.MessageField('GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1SpecialistPool: A
      GoogleCloudAiplatformV1SpecialistPool resource to be passed as the
      request body.
    parent: Required. The parent Project name for the new SpecialistPool. The
      form is `projects/{project}/locations/{location}`.
  """

  googleCloudAiplatformV1SpecialistPool = _messages.MessageField('GoogleCloudAiplatformV1SpecialistPool', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    force: If set to true, any specialist managers in this SpecialistPool will
      also be deleted. (Otherwise, the request will only work if the
      SpecialistPool has no specialist managers.)
    name: Required. The resource name of the SpecialistPool to delete. Format:
      `projects/{project}/locations/{location}/specialistPools/{specialist_poo
      l}`
  """

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


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

  Fields:
    name: Required. The name of the SpecialistPool resource. The form is `proj
      ects/{project}/locations/{location}/specialistPools/{specialist_pool}`.
  """

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


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

  Fields:
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained by
      ListSpecialistPoolsResponse.next_page_token of the previous
      SpecialistPoolService.ListSpecialistPools call. Return first page if
      empty.
    parent: Required. The name of the SpecialistPool's parent resource.
      Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read. FieldMask represents a set
      of
  """

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


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

  Fields:
    googleCloudAiplatformV1SpecialistPool: A
      GoogleCloudAiplatformV1SpecialistPool resource to be passed as the
      request body.
    name: Required. The resource name of the SpecialistPool.
    updateMask: Required. The update mask applies to the resource.
  """

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


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

  Fields:
    googleCloudAiplatformV1Study: A GoogleCloudAiplatformV1Study resource to
      be passed as the request body.
    parent: Required. The resource name of the Location to create the
      CustomJob in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1Study = _messages.MessageField('GoogleCloudAiplatformV1Study', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Study resource to be deleted. Format:
      `projects/{project}/locations/{location}/studies/{study}`
  """

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


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

  Fields:
    name: Required. The name of the Study resource. Format:
      `projects/{project}/locations/{location}/studies/{study}`
  """

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


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

  Fields:
    pageSize: Optional. The maximum number of studies to return per "page" of
      results. If unspecified, service will pick an appropriate default.
    pageToken: Optional. A page token to request the next page of results. If
      unspecified, there are no subsequent pages.
    parent: Required. The resource name of the Location to list the Study
      from. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1LookupStudyRequest: A
      GoogleCloudAiplatformV1LookupStudyRequest resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to get the Study from.
      Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1LookupStudyRequest = _messages.MessageField('GoogleCloudAiplatformV1LookupStudyRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1AddTrialMeasurementRequest: A
      GoogleCloudAiplatformV1AddTrialMeasurementRequest resource to be passed
      as the request body.
    trialName: Required. The name of the trial to add measurement. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

  googleCloudAiplatformV1AddTrialMeasurementRequest = _messages.MessageField('GoogleCloudAiplatformV1AddTrialMeasurementRequest', 1)
  trialName = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest: A
      GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest resource to
      be passed as the request body.
    trialName: Required. The Trial's name. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

  googleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest = _messages.MessageField('GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest', 1)
  trialName = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1CompleteTrialRequest: A
      GoogleCloudAiplatformV1CompleteTrialRequest resource to be passed as the
      request body.
    name: Required. The Trial's name. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

  googleCloudAiplatformV1CompleteTrialRequest = _messages.MessageField('GoogleCloudAiplatformV1CompleteTrialRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1Trial: A GoogleCloudAiplatformV1Trial resource to
      be passed as the request body.
    parent: Required. The resource name of the Study to create the Trial in.
      Format: `projects/{project}/locations/{location}/studies/{study}`
  """

  googleCloudAiplatformV1Trial = _messages.MessageField('GoogleCloudAiplatformV1Trial', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The Trial's name. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

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


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

  Fields:
    name: Required. The name of the Trial resource. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

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


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

  Fields:
    googleCloudAiplatformV1ListOptimalTrialsRequest: A
      GoogleCloudAiplatformV1ListOptimalTrialsRequest resource to be passed as
      the request body.
    parent: Required. The name of the Study that the optimal Trial belongs to.
  """

  googleCloudAiplatformV1ListOptimalTrialsRequest = _messages.MessageField('GoogleCloudAiplatformV1ListOptimalTrialsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    pageSize: Optional. The number of Trials to retrieve per "page" of
      results. If unspecified, the service will pick an appropriate default.
    pageToken: Optional. A page token to request the next page of results. If
      unspecified, there are no subsequent pages.
    parent: Required. The resource name of the Study to list the Trial from.
      Format: `projects/{project}/locations/{location}/studies/{study}`
  """

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


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

  Fields:
    googleCloudAiplatformV1StopTrialRequest: A
      GoogleCloudAiplatformV1StopTrialRequest resource to be passed as the
      request body.
    name: Required. The Trial's name. Format:
      `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
  """

  googleCloudAiplatformV1StopTrialRequest = _messages.MessageField('GoogleCloudAiplatformV1StopTrialRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1SuggestTrialsRequest: A
      GoogleCloudAiplatformV1SuggestTrialsRequest resource to be passed as the
      request body.
    parent: Required. The project and location that the Study belongs to.
      Format: `projects/{project}/locations/{location}/studies/{study}`
  """

  googleCloudAiplatformV1SuggestTrialsRequest = _messages.MessageField('GoogleCloudAiplatformV1SuggestTrialsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    tensorboard: Required. The resource name of the Tensorboard containing
      TensorboardTimeSeries to read data from. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`.
      The TensorboardTimeSeries referenced by time_series must be sub
      resources of this Tensorboard.
    timeSeries: Required. The resource names of the TensorboardTimeSeries to
      read data from. Format: `projects/{project}/locations/{location}/tensorb
      oards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time
      _series}`
  """

  tensorboard = _messages.StringField(1, required=True)
  timeSeries = _messages.StringField(2, repeated=True)


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

  Fields:
    googleCloudAiplatformV1Tensorboard: A GoogleCloudAiplatformV1Tensorboard
      resource to be passed as the request body.
    parent: Required. The resource name of the Location to create the
      Tensorboard in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1Tensorboard = _messages.MessageField('GoogleCloudAiplatformV1Tensorboard', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Tensorboard to be deleted. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
  """

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


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

  Fields:
    googleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest: A
      GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest resource
      to be passed as the request body.
    parent: Required. The resource name of the TensorboardExperiment to create
      the TensorboardTimeSeries in. Format: `projects/{project}/locations/{loc
      ation}/tensorboards/{tensorboard}/experiments/{experiment}` The
      TensorboardRuns referenced by the parent fields in the
      CreateTensorboardTimeSeriesRequest messages must be sub resources of
      this TensorboardExperiment.
  """

  googleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1TensorboardExperiment: A
      GoogleCloudAiplatformV1TensorboardExperiment resource to be passed as
      the request body.
    parent: Required. The resource name of the Tensorboard to create the
      TensorboardExperiment in. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
    tensorboardExperimentId: Required. The ID to use for the Tensorboard
      experiment, which becomes the final component of the Tensorboard
      experiment's resource name. This value should be 1-128 characters, and
      valid characters are `/a-z-/`.
  """

  googleCloudAiplatformV1TensorboardExperiment = _messages.MessageField('GoogleCloudAiplatformV1TensorboardExperiment', 1)
  parent = _messages.StringField(2, required=True)
  tensorboardExperimentId = _messages.StringField(3)


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

  Fields:
    name: Required. The name of the TensorboardExperiment to be deleted.
      Format: `projects/{project}/locations/{location}/tensorboards/{tensorboa
      rd}/experiments/{experiment}`
  """

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


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

  Fields:
    name: Required. The name of the TensorboardExperiment resource. Format: `p
      rojects/{project}/locations/{location}/tensorboards/{tensorboard}/experi
      ments/{experiment}`
  """

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


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

  Fields:
    filter: Lists the TensorboardExperiments that match the filter expression.
    orderBy: Field to use to sort the list.
    pageSize: The maximum number of TensorboardExperiments to return. The
      service may return fewer than this value. If unspecified, at most 50
      TensorboardExperiments are returned. The maximum value is 1000; values
      above 1000 are coerced to 1000.
    pageToken: A page token, received from a previous
      TensorboardService.ListTensorboardExperiments call. Provide this to
      retrieve the subsequent page. When paginating, all other parameters
      provided to TensorboardService.ListTensorboardExperiments must match the
      call that provided the page token.
    parent: Required. The resource name of the Tensorboard to list
      TensorboardExperiments. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1TensorboardExperiment: A
      GoogleCloudAiplatformV1TensorboardExperiment resource to be passed as
      the request body.
    name: Output only. Name of the TensorboardExperiment. Format: `projects/{p
      roject}/locations/{location}/tensorboards/{tensorboard}/experiments/{exp
      eriment}`
    updateMask: Required. Field mask is used to specify the fields to be
      overwritten in the TensorboardExperiment resource by the update. The
      fields specified in the update_mask are relative to the resource, not
      the full request. A field is overwritten if it's in the mask. If the
      user does not provide a mask then all fields are overwritten if new
      values are specified.
  """

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


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

  Fields:
    googleCloudAiplatformV1BatchCreateTensorboardRunsRequest: A
      GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest resource to be
      passed as the request body.
    parent: Required. The resource name of the TensorboardExperiment to create
      the TensorboardRuns in. Format: `projects/{project}/locations/{location}
      /tensorboards/{tensorboard}/experiments/{experiment}` The parent field
      in the CreateTensorboardRunRequest messages must match this field.
  """

  googleCloudAiplatformV1BatchCreateTensorboardRunsRequest = _messages.MessageField('GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1TensorboardRun: A
      GoogleCloudAiplatformV1TensorboardRun resource to be passed as the
      request body.
    parent: Required. The resource name of the TensorboardExperiment to create
      the TensorboardRun in. Format: `projects/{project}/locations/{location}/
      tensorboards/{tensorboard}/experiments/{experiment}`
    tensorboardRunId: Required. The ID to use for the Tensorboard run, which
      becomes the final component of the Tensorboard run's resource name. This
      value should be 1-128 characters, and valid characters are `/a-z-/`.
  """

  googleCloudAiplatformV1TensorboardRun = _messages.MessageField('GoogleCloudAiplatformV1TensorboardRun', 1)
  parent = _messages.StringField(2, required=True)
  tensorboardRunId = _messages.StringField(3)


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

  Fields:
    name: Required. The name of the TensorboardRun to be deleted. Format: `pro
      jects/{project}/locations/{location}/tensorboards/{tensorboard}/experime
      nts/{experiment}/runs/{run}`
  """

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


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

  Fields:
    name: Required. The name of the TensorboardRun resource. Format: `projects
      /{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{
      experiment}/runs/{run}`
  """

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


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

  Fields:
    filter: Lists the TensorboardRuns that match the filter expression.
    orderBy: Field to use to sort the list.
    pageSize: The maximum number of TensorboardRuns to return. The service may
      return fewer than this value. If unspecified, at most 50 TensorboardRuns
      are returned. The maximum value is 1000; values above 1000 are coerced
      to 1000.
    pageToken: A page token, received from a previous
      TensorboardService.ListTensorboardRuns call. Provide this to retrieve
      the subsequent page. When paginating, all other parameters provided to
      TensorboardService.ListTensorboardRuns must match the call that provided
      the page token.
    parent: Required. The resource name of the TensorboardExperiment to list
      TensorboardRuns. Format: `projects/{project}/locations/{location}/tensor
      boards/{tensorboard}/experiments/{experiment}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1TensorboardRun: A
      GoogleCloudAiplatformV1TensorboardRun resource to be passed as the
      request body.
    name: Output only. Name of the TensorboardRun. Format: `projects/{project}
      /locations/{location}/tensorboards/{tensorboard}/experiments/{experiment
      }/runs/{run}`
    updateMask: Required. Field mask is used to specify the fields to be
      overwritten in the TensorboardRun resource by the update. The fields
      specified in the update_mask are relative to the resource, not the full
      request. A field is overwritten if it's in the mask. If the user does
      not provide a mask then all fields are overwritten if new values are
      specified.
  """

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


class AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreate
  Request object.

  Fields:
    googleCloudAiplatformV1TensorboardTimeSeries: A
      GoogleCloudAiplatformV1TensorboardTimeSeries resource to be passed as
      the request body.
    parent: Required. The resource name of the TensorboardRun to create the
      TensorboardTimeSeries in. Format: `projects/{project}/locations/{locatio
      n}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`
    tensorboardTimeSeriesId: Optional. The user specified unique ID to use for
      the TensorboardTimeSeries, which becomes the final component of the
      TensorboardTimeSeries's resource name. This value should match
      "a-z0-9{0, 127}"
  """

  googleCloudAiplatformV1TensorboardTimeSeries = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTimeSeries', 1)
  parent = _messages.StringField(2, required=True)
  tensorboardTimeSeriesId = _messages.StringField(3)


class AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDelete
  Request object.

  Fields:
    name: Required. The name of the TensorboardTimeSeries to be deleted.
      Format: `projects/{project}/locations/{location}/tensorboards/{tensorboa
      rd}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`
  """

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


class AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExport
  TensorboardTimeSeriesRequest object.

  Fields:
    googleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest: A
      GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest resource
      to be passed as the request body.
    tensorboardTimeSeries: Required. The resource name of the
      TensorboardTimeSeries to export data from. Format: `projects/{project}/l
      ocations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/
      runs/{run}/timeSeries/{time_series}`
  """

  googleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest = _messages.MessageField('GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest', 1)
  tensorboardTimeSeries = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the TensorboardTimeSeries resource. Format: `p
      rojects/{project}/locations/{location}/tensorboards/{tensorboard}/experi
      ments/{experiment}/runs/{run}/timeSeries/{time_series}`
  """

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


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

  Fields:
    filter: Lists the TensorboardTimeSeries that match the filter expression.
    orderBy: Field to use to sort the list.
    pageSize: The maximum number of TensorboardTimeSeries to return. The
      service may return fewer than this value. If unspecified, at most 50
      TensorboardTimeSeries are returned. The maximum value is 1000; values
      above 1000 are coerced to 1000.
    pageToken: A page token, received from a previous
      TensorboardService.ListTensorboardTimeSeries call. Provide this to
      retrieve the subsequent page. When paginating, all other parameters
      provided to TensorboardService.ListTensorboardTimeSeries must match the
      call that provided the page token.
    parent: Required. The resource name of the TensorboardRun to list
      TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/
      tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1TensorboardTimeSeries: A
      GoogleCloudAiplatformV1TensorboardTimeSeries resource to be passed as
      the request body.
    name: Output only. Name of the TensorboardTimeSeries.
    updateMask: Required. Field mask is used to specify the fields to be
      overwritten in the TensorboardTimeSeries resource by the update. The
      fields specified in the update_mask are relative to the resource, not
      the full request. A field is overwritten if it's in the mask. If the
      user does not provide a mask then all fields are overwritten if new
      values are specified.
  """

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


class AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataRequest(_messages.Message):
  r"""A AiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBl
  obDataRequest object.

  Fields:
    blobIds: IDs of the blobs to read.
    timeSeries: Required. The resource name of the TensorboardTimeSeries to
      list Blobs. Format: `projects/{project}/locations/{location}/tensorboard
      s/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_ser
      ies}`
  """

  blobIds = _messages.StringField(1, repeated=True)
  timeSeries = _messages.StringField(2, required=True)


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

  Fields:
    filter: Reads the TensorboardTimeSeries' data that match the filter
      expression.
    maxDataPoints: The maximum number of TensorboardTimeSeries' data to
      return. This value should be a positive integer. This value can be set
      to -1 to return all data.
    tensorboardTimeSeries: Required. The resource name of the
      TensorboardTimeSeries to read data from. Format: `projects/{project}/loc
      ations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/ru
      ns/{run}/timeSeries/{time_series}`
  """

  filter = _messages.StringField(1)
  maxDataPoints = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  tensorboardTimeSeries = _messages.StringField(3, required=True)


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

  Fields:
    googleCloudAiplatformV1WriteTensorboardExperimentDataRequest: A
      GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest resource to
      be passed as the request body.
    tensorboardExperiment: Required. The resource name of the
      TensorboardExperiment to write data to. Format: `projects/{project}/loca
      tions/{location}/tensorboards/{tensorboard}/experiments/{experiment}`
  """

  googleCloudAiplatformV1WriteTensorboardExperimentDataRequest = _messages.MessageField('GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest', 1)
  tensorboardExperiment = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the Tensorboard resource. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
  """

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


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

  Fields:
    filter: Lists the Tensorboards that match the filter expression.
    orderBy: Field to use to sort the list.
    pageSize: The maximum number of Tensorboards to return. The service may
      return fewer than this value. If unspecified, at most 100 Tensorboards
      are returned. The maximum value is 100; values above 100 are coerced to
      100.
    pageToken: A page token, received from a previous
      TensorboardService.ListTensorboards call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      TensorboardService.ListTensorboards must match the call that provided
      the page token.
    parent: Required. The resource name of the Location to list Tensorboards.
      Format: `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1Tensorboard: A GoogleCloudAiplatformV1Tensorboard
      resource to be passed as the request body.
    name: Output only. Name of the Tensorboard. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
    updateMask: Required. Field mask is used to specify the fields to be
      overwritten in the Tensorboard resource by the update. The fields
      specified in the update_mask are relative to the resource, not the full
      request. A field is overwritten if it's in the mask. If the user does
      not provide a mask then all fields are overwritten if new values are
      specified.
  """

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


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

  Fields:
    tensorboard: Required. The name of the Tensorboard resource. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
  """

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


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

  Fields:
    tensorboard: Required. The name of the Tensorboard resource. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
  """

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


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

  Fields:
    googleCloudAiplatformV1CancelTrainingPipelineRequest: A
      GoogleCloudAiplatformV1CancelTrainingPipelineRequest resource to be
      passed as the request body.
    name: Required. The name of the TrainingPipeline to cancel. Format: `proje
      cts/{project}/locations/{location}/trainingPipelines/{training_pipeline}
      `
  """

  googleCloudAiplatformV1CancelTrainingPipelineRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelTrainingPipelineRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1TrainingPipeline: A
      GoogleCloudAiplatformV1TrainingPipeline resource to be passed as the
      request body.
    parent: Required. The resource name of the Location to create the
      TrainingPipeline in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1TrainingPipeline = _messages.MessageField('GoogleCloudAiplatformV1TrainingPipeline', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the TrainingPipeline resource to be deleted.
      Format: `projects/{project}/locations/{location}/trainingPipelines/{trai
      ning_pipeline}`
  """

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


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

  Fields:
    name: Required. The name of the TrainingPipeline resource. Format: `projec
      ts/{project}/locations/{location}/trainingPipelines/{training_pipeline}`
  """

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


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

  Fields:
    filter: The standard list filter. Supported fields: * `display_name`
      supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports
      `=`, `!=` comparisons. * `training_task_definition` `=`, `!=`
      comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`<`,
      `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. *
      `labels` supports general map functions that is: `labels.key=value` -
      key:value equality `labels.key:* - key existence Some examples of using
      the filter are: * `state="PIPELINE_STATE_SUCCEEDED" AND
      display_name:"my_pipeline_*"` * `state!="PIPELINE_STATE_FAILED" OR
      display_name="my_pipeline"` * `NOT display_name="my_pipeline"` *
      `create_time>"2021-05-18T00:00:00Z"` *
      `training_task_definition:"*automl_text_classification*"`
    pageSize: The standard list page size.
    pageToken: The standard list page token. Typically obtained via
      ListTrainingPipelinesResponse.next_page_token of the previous
      PipelineService.ListTrainingPipelines call.
    parent: Required. The resource name of the Location to list the
      TrainingPipelines from. Format:
      `projects/{project}/locations/{location}`
    readMask: Mask specifying which fields to read.
  """

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


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

  Fields:
    googleCloudAiplatformV1CancelTuningJobRequest: A
      GoogleCloudAiplatformV1CancelTuningJobRequest resource to be passed as
      the request body.
    name: Required. The name of the tuning job to cancel. Format:
      `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
  """

  googleCloudAiplatformV1CancelTuningJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CancelTuningJobRequest', 1)
  name = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1TuningJob: A GoogleCloudAiplatformV1TuningJob
      resource to be passed as the request body.
    parent: Required. The resource name of the location to create the tuning
      job in. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1TuningJob = _messages.MessageField('GoogleCloudAiplatformV1TuningJob', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    name: Required. The name of the tuning job to retrieve. Format:
      `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
  """

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


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

  Fields:
    filter: Optional. The standard list filter.
    pageSize: Optional. The standard list page size.
    pageToken: Optional. The standard list page token. Typically obtained from
      ListTuningJobsResponse.next_page_token of the previous
      GenAiTuningService.ListTuningJobs call.
    parent: Required. The resource name of the location to list the tuning
      jobs from. Format: `projects/{project}/locations/{location}`
  """

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


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

  Fields:
    googleCloudAiplatformV1RebaseTunedModelRequest: A
      GoogleCloudAiplatformV1RebaseTunedModelRequest resource to be passed as
      the request body.
    parent: Required. The resource name of the location in which to rebase the
      Model. Format: `projects/{project}/locations/{location}`
  """

  googleCloudAiplatformV1RebaseTunedModelRequest = _messages.MessageField('GoogleCloudAiplatformV1RebaseTunedModelRequest', 1)
  parent = _messages.StringField(2, required=True)


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

  Fields:
    googleCloudAiplatformV1SemanticGovernancePolicyEngine: A
      GoogleCloudAiplatformV1SemanticGovernancePolicyEngine resource to be
      passed as the request body.
    name: Identifier. The resource name of the SemanticGovernancePolicyEngine.
      Format:
      projects/{project}/locations/{location}/semanticGovernancePolicyEngine
    updateMask: Optional. Specifies the fields to be overwritten in the
      SemanticGovernancePolicyEngine resource by the update. The fields
      specified in the update_mask are relative to the resource itself. If no
      update_mask is provided, all fields are overwritten.
  """

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


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

  Enums:
    ViewValueValuesEnum: Optional. PublisherModel view specifying which fields
      to read.

  Fields:
    huggingFaceToken: Optional. Token used to access Hugging Face gated
      models.
    isHuggingFaceModel: Optional. Boolean indicates whether the requested
      model is a Hugging Face model.
    languageCode: Optional. The IETF BCP-47 language code representing the
      language in which the publisher model's text information should be
      written in.
    name: Required. The name of the PublisherModel resource. Format:
      `publishers/{publisher}/models/{publisher_model}`
    view: Optional. PublisherModel view specifying which fields to read.
  """

  class ViewValueValuesEnum(_messages.Enum):
    r"""Optional. PublisherModel view specifying which fields to read.

    Values:
      PUBLISHER_MODEL_VIEW_UNSPECIFIED: The default / unset value. The API
        will default to the BASIC view.
      PUBLISHER_MODEL_VIEW_BASIC: Include basic metadata about the publisher
        model, but not the full contents.
      PUBLISHER_MODEL_VIEW_FULL: Include everything.
      PUBLISHER_MODEL_VERSION_VIEW_BASIC: Include: VersionId,
        ModelVersionExternalName, and SupportedActions.
    """
    PUBLISHER_MODEL_VIEW_UNSPECIFIED = 0
    PUBLISHER_MODEL_VIEW_BASIC = 1
    PUBLISHER_MODEL_VIEW_FULL = 2
    PUBLISHER_MODEL_VERSION_VIEW_BASIC = 3

  huggingFaceToken = _messages.StringField(1)
  isHuggingFaceModel = _messages.BooleanField(2)
  languageCode = _messages.StringField(3)
  name = _messages.StringField(4, required=True)
  view = _messages.EnumField('ViewValueValuesEnum', 5)


class CloudAiLargeModelsVisionGenerateVideoResponse(_messages.Message):
  r"""Generate video response.

  Fields:
    generatedSamples: The generates samples.
    raiMediaFilteredCount: Returns if any videos were filtered due to RAI
      policies.
    raiMediaFilteredReasons: Returns rai failure reasons if any.
  """

  generatedSamples = _messages.MessageField('CloudAiLargeModelsVisionMedia', 1, repeated=True)
  raiMediaFilteredCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  raiMediaFilteredReasons = _messages.StringField(3, repeated=True)


class CloudAiLargeModelsVisionImage(_messages.Message):
  r"""Image.

  Fields:
    encoding: Image encoding, encoded as "image/png" or "image/jpg".
    image: Raw bytes.
    imageRaiScores: RAI scores for generated image.
    imageSize: Image size. The size of the image. Can be self reported, or
      computed from the image bytes.
    raiInfo: RAI info for image.
    semanticFilterResponse: Semantic filter info for image.
    text: Text/Expanded text input for imagen.
    uri: Path to another storage (typically Google Cloud Storage).
  """

  encoding = _messages.StringField(1)
  image = _messages.BytesField(2)
  imageRaiScores = _messages.MessageField('CloudAiLargeModelsVisionImageRAIScores', 3)
  imageSize = _messages.MessageField('CloudAiLargeModelsVisionImageImageSize', 4)
  raiInfo = _messages.MessageField('CloudAiLargeModelsVisionRaiInfo', 5)
  semanticFilterResponse = _messages.MessageField('CloudAiLargeModelsVisionSemanticFilterResponse', 6)
  text = _messages.StringField(7)
  uri = _messages.StringField(8)


class CloudAiLargeModelsVisionImageImageSize(_messages.Message):
  r"""Image size.

  Fields:
    channels: A integer attribute.
    height: A integer attribute.
    width: A integer attribute.
  """

  channels = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  height = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  width = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class CloudAiLargeModelsVisionImageRAIScores(_messages.Message):
  r"""RAI scores for generated image returned.

  Fields:
    agileWatermarkDetectionScore: Agile watermark score for image.
  """

  agileWatermarkDetectionScore = _messages.FloatField(1)


class CloudAiLargeModelsVisionMedia(_messages.Message):
  r"""Media.

  Fields:
    image: Image.
    video: Video
  """

  image = _messages.MessageField('CloudAiLargeModelsVisionImage', 1)
  video = _messages.MessageField('CloudAiLargeModelsVisionVideo', 2)


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

  Fields:
    classes: A string attribute.
    entities: A string attribute.
    scores: A number attribute.
    x1: A number attribute.
    x2: A number attribute.
    y1: A number attribute.
    y2: A number attribute.
  """

  classes = _messages.StringField(1, repeated=True)
  entities = _messages.StringField(2, repeated=True)
  scores = _messages.FloatField(3, repeated=True, variant=_messages.Variant.FLOAT)
  x1 = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  x2 = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  y1 = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  y2 = _messages.FloatField(7, variant=_messages.Variant.FLOAT)


class CloudAiLargeModelsVisionRaiInfo(_messages.Message):
  r"""Next ID: 6

  Fields:
    blockedEntities: List of blocked entities from the blocklist if it is
      detected.
    modelName: The model name used to indexing into the RaiFilterConfig map.
      Would either be one of imagegeneration@002-006, imagen-3.0-... api
      endpoint names, or internal names used for mapping to different filter
      configs (genselfie, ai_watermark) than its api endpoint.
    raiCategories: List of rai categories' information to return
    scores: List of rai scores mapping to the rai categories. Rounded to 1
      decimal place.
  """

  blockedEntities = _messages.StringField(1, repeated=True)
  modelName = _messages.StringField(2)
  raiCategories = _messages.StringField(3, repeated=True)
  scores = _messages.FloatField(4, repeated=True, variant=_messages.Variant.FLOAT)


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

  Fields:
    namedBoundingBoxes: Class labels of the bounding boxes that failed the
      semantic filtering. Bounding box coordinates.
    passedSemanticFilter: This response is added when semantic filter config
      is turned on in EditConfig. It reports if this image is passed semantic
      filter response. If passed_semantic_filter is false, the bounding box
      information will be populated for user to check what caused the semantic
      filter to fail.
  """

  namedBoundingBoxes = _messages.MessageField('CloudAiLargeModelsVisionNamedBoundingBox', 1, repeated=True)
  passedSemanticFilter = _messages.BooleanField(2)


class CloudAiLargeModelsVisionVideo(_messages.Message):
  r"""Video

  Fields:
    encodedVideo: Base 64 encoded video bytes.
    encoding: Video encoding, for example "video/mp4".
    text: Text/Expanded text input for Help Me Write.
    uri: Path to another storage (typically Google Cloud Storage).
    video: Raw bytes.
  """

  encodedVideo = _messages.StringField(1)
  encoding = _messages.StringField(2)
  text = _messages.StringField(3)
  uri = _messages.StringField(4)
  video = _messages.BytesField(5)


class GoogleApiHttpBody(_messages.Message):
  r"""Message that represents an arbitrary HTTP body. It should only be used
  for payload formats that can't be represented as JSON, such as raw binary or
  an HTML page. This message can be used both in streaming and non-streaming
  API methods in the request as well as the response. It can be used as a top-
  level request field, which is convenient if one wants to extract parameters
  from either the URL or HTTP template into the request fields and also want
  access to the raw HTTP body. Example: message GetResourceRequest { // A
  unique request id. string request_id = 1; // The raw HTTP body is bound to
  this field. google.api.HttpBody http_body = 2; } service ResourceService {
  rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc
  UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); }
  Example with streaming methods: service CaldavService { rpc
  GetCalendar(stream google.api.HttpBody) returns (stream
  google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns
  (stream google.api.HttpBody); } Use of this type only changes how the
  request and response bodies are handled, all other features will continue to
  work unchanged.

  Messages:
    ExtensionsValueListEntry: A ExtensionsValueListEntry object.

  Fields:
    contentType: The HTTP Content-Type header value specifying the content
      type of the body.
    data: The HTTP request/response body as raw binary.
    extensions: Application specific response metadata. Must be set in the
      first response for streaming APIs.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ExtensionsValueListEntry(_messages.Message):
    r"""A ExtensionsValueListEntry object.

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

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ExtensionsValueListEntry 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)

  contentType = _messages.StringField(1)
  data = _messages.BytesField(2)
  extensions = _messages.MessageField('ExtensionsValueListEntry', 3, repeated=True)


class GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest(_messages.Message):
  r"""Request message for MetadataService.AddContextArtifactsAndExecutions.

  Fields:
    artifacts: The resource names of the Artifacts to attribute to the
      Context. Format: `projects/{project}/locations/{location}/metadataStores
      /{metadatastore}/artifacts/{artifact}`
    executions: The resource names of the Executions to associate with the
      Context. Format: `projects/{project}/locations/{location}/metadataStores
      /{metadatastore}/executions/{execution}`
  """

  artifacts = _messages.StringField(1, repeated=True)
  executions = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse(_messages.Message):
  r"""Response message for MetadataService.AddContextArtifactsAndExecutions.
  """



class GoogleCloudAiplatformV1AddContextChildrenRequest(_messages.Message):
  r"""Request message for MetadataService.AddContextChildren.

  Fields:
    childContexts: The resource names of the child Contexts.
  """

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


class GoogleCloudAiplatformV1AddContextChildrenResponse(_messages.Message):
  r"""Response message for MetadataService.AddContextChildren."""


class GoogleCloudAiplatformV1AddExecutionEventsRequest(_messages.Message):
  r"""Request message for MetadataService.AddExecutionEvents.

  Fields:
    events: The Events to create and add.
  """

  events = _messages.MessageField('GoogleCloudAiplatformV1Event', 1, repeated=True)


class GoogleCloudAiplatformV1AddExecutionEventsResponse(_messages.Message):
  r"""Response message for MetadataService.AddExecutionEvents."""


class GoogleCloudAiplatformV1AddTrialMeasurementRequest(_messages.Message):
  r"""Request message for VizierService.AddTrialMeasurement.

  Fields:
    measurement: Required. The measurement to be added to a Trial.
  """

  measurement = _messages.MessageField('GoogleCloudAiplatformV1Measurement', 1)


class GoogleCloudAiplatformV1AggregationOutput(_messages.Message):
  r"""The aggregation result for the entire dataset and all metrics.

  Fields:
    aggregationResults: One AggregationResult per metric.
    dataset: The dataset used for evaluation & aggregation.
  """

  aggregationResults = _messages.MessageField('GoogleCloudAiplatformV1AggregationResult', 1, repeated=True)
  dataset = _messages.MessageField('GoogleCloudAiplatformV1EvaluationDataset', 2)


class GoogleCloudAiplatformV1AggregationResult(_messages.Message):
  r"""The aggregation result for a single metric.

  Fields:
    bleuMetricValue: Results for bleu metric.
    exactMatchMetricValue: Results for exact match metric.
    pairwiseMetricResult: Result for pairwise metric.
    pointwiseMetricResult: Result for pointwise metric.
    rougeMetricValue: Results for rouge metric.
  """

  bleuMetricValue = _messages.MessageField('GoogleCloudAiplatformV1BleuMetricValue', 1)
  exactMatchMetricValue = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchMetricValue', 2)
  pairwiseMetricResult = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricResult', 3)
  pointwiseMetricResult = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricResult', 4)
  rougeMetricValue = _messages.MessageField('GoogleCloudAiplatformV1RougeMetricValue', 5)


class GoogleCloudAiplatformV1Annotation(_messages.Message):
  r"""Used to assign specific AnnotationSpec to a particular area of a
  DataItem or the whole part of the DataItem.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your Annotations. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      Annotation(System labels are excluded). See https://goo.gl/xmQnxf for
      more information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable. Following
      system labels exist for each Annotation: *
      "aiplatform.googleapis.com/annotation_set_name": optional, name of the
      UI's annotation set this Annotation belongs to. If not set, the
      Annotation is not visible in the UI. *
      "aiplatform.googleapis.com/payload_schema": output only, its value is
      the payload_schema's title.

  Fields:
    annotationSource: Output only. The source of the Annotation.
    createTime: Output only. Timestamp when this Annotation was created.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      Annotations. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      Annotation(System labels are excluded). See https://goo.gl/xmQnxf for
      more information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable. Following
      system labels exist for each Annotation: *
      "aiplatform.googleapis.com/annotation_set_name": optional, name of the
      UI's annotation set this Annotation belongs to. If not set, the
      Annotation is not visible in the UI. *
      "aiplatform.googleapis.com/payload_schema": output only, its value is
      the payload_schema's title.
    name: Output only. Resource name of the Annotation.
    payload: Required. The schema of the payload can be found in
      payload_schema.
    payloadSchemaUri: Required. Google Cloud Storage URI points to a YAML file
      describing payload. The schema is defined as an [OpenAPI 3.0.2 Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). The schema
      files that can be used here are found in gs://google-cloud-
      aiplatform/schema/dataset/annotation/, note that the chosen schema must
      be consistent with the parent Dataset's metadata.
    updateTime: Output only. Timestamp when this Annotation was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    Annotations. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    No more than 64 user labels can be associated with one Annotation(System
    labels are excluded). See https://goo.gl/xmQnxf for more information and
    examples of labels. System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable. Following system labels
    exist for each Annotation: *
    "aiplatform.googleapis.com/annotation_set_name": optional, name of the
    UI's annotation set this Annotation belongs to. If not set, the Annotation
    is not visible in the UI. * "aiplatform.googleapis.com/payload_schema":
    output only, its value is the payload_schema's title.

    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)

  annotationSource = _messages.MessageField('GoogleCloudAiplatformV1UserActionReference', 1)
  createTime = _messages.StringField(2)
  etag = _messages.StringField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  payload = _messages.MessageField('extra_types.JsonValue', 6)
  payloadSchemaUri = _messages.StringField(7)
  updateTime = _messages.StringField(8)


class GoogleCloudAiplatformV1AnnotationSpec(_messages.Message):
  r"""Identifies a concept with which DataItems may be annotated with.

  Fields:
    createTime: Output only. Timestamp when this AnnotationSpec was created.
    displayName: Required. The user-defined name of the AnnotationSpec. The
      name can be up to 128 characters long and can consist of any UTF-8
      characters.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    name: Output only. Resource name of the AnnotationSpec.
    updateTime: Output only. Timestamp when AnnotationSpec was last updated.
  """

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  etag = _messages.StringField(3)
  name = _messages.StringField(4)
  updateTime = _messages.StringField(5)


class GoogleCloudAiplatformV1ApiAuth(_messages.Message):
  r"""The generic reusable api auth config. Deprecated. Please use AuthConfig
  (google/cloud/aiplatform/master/auth.proto) instead.

  Fields:
    apiKeyConfig: The API secret.
  """

  apiKeyConfig = _messages.MessageField('GoogleCloudAiplatformV1ApiAuthApiKeyConfig', 1)


class GoogleCloudAiplatformV1ApiAuthApiKeyConfig(_messages.Message):
  r"""The API secret.

  Fields:
    apiKeySecretVersion: Required. The SecretManager secret version resource
      name storing API key. e.g.
      projects/{project}/secrets/{secret}/versions/{version}
    apiKeyString: The API key string. Either this or `api_key_secret_version`
      must be set.
  """

  apiKeySecretVersion = _messages.StringField(1)
  apiKeyString = _messages.StringField(2)


class GoogleCloudAiplatformV1AppendEventResponse(_messages.Message):
  r"""Response message for SessionService.AppendEvent."""


class GoogleCloudAiplatformV1Artifact(_messages.Message):
  r"""Instance of a general artifact.

  Enums:
    StateValueValuesEnum: The state of this Artifact. This is a property of
      the Artifact, and does not imply or capture any ongoing process. This
      property is managed by clients (such as Vertex AI Pipelines), and the
      system does not prescribe or check the validity of state transitions.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Artifacts. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one Artifact
      (System labels are excluded).
    MetadataValue: Properties of the Artifact. Top level metadata keys'
      heading and trailing spaces will be trimmed. The size of this field
      should not exceed 200KB.

  Fields:
    createTime: Output only. Timestamp when this Artifact was created.
    description: Description of the Artifact
    displayName: User provided display name of the Artifact. May be up to 128
      Unicode characters.
    etag: An eTag used to perform consistent read-modify-write updates. If not
      set, a blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your Artifacts.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Artifact (System labels
      are excluded).
    metadata: Properties of the Artifact. Top level metadata keys' heading and
      trailing spaces will be trimmed. The size of this field should not
      exceed 200KB.
    name: Output only. The resource name of the Artifact.
    schemaTitle: The title of the schema describing the metadata. Schema title
      and version is expected to be registered in earlier Create Schema calls.
      And both are used together as unique identifiers to identify schemas
      within the local metadata store.
    schemaVersion: The version of the schema in schema_name to use. Schema
      title and version is expected to be registered in earlier Create Schema
      calls. And both are used together as unique identifiers to identify
      schemas within the local metadata store.
    state: The state of this Artifact. This is a property of the Artifact, and
      does not imply or capture any ongoing process. This property is managed
      by clients (such as Vertex AI Pipelines), and the system does not
      prescribe or check the validity of state transitions.
    updateTime: Output only. Timestamp when this Artifact was last updated.
    uri: The uniform resource identifier of the artifact file. May be empty if
      there is no actual artifact file.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""The state of this Artifact. This is a property of the Artifact, and
    does not imply or capture any ongoing process. This property is managed by
    clients (such as Vertex AI Pipelines), and the system does not prescribe
    or check the validity of state transitions.

    Values:
      STATE_UNSPECIFIED: Unspecified state for the Artifact.
      PENDING: A state used by systems like Vertex AI Pipelines to indicate
        that the underlying data item represented by this Artifact is being
        created.
      LIVE: A state indicating that the Artifact should exist, unless
        something external to the system deletes it.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    LIVE = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Artifacts.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. No more than
    64 user labels can be associated with one Artifact (System labels are
    excluded).

    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"""Properties of the Artifact. Top level metadata keys' heading and
    trailing spaces will be trimmed. The size of this field should not exceed
    200KB.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  metadata = _messages.MessageField('MetadataValue', 6)
  name = _messages.StringField(7)
  schemaTitle = _messages.StringField(8)
  schemaVersion = _messages.StringField(9)
  state = _messages.EnumField('StateValueValuesEnum', 10)
  updateTime = _messages.StringField(11)
  uri = _messages.StringField(12)


class GoogleCloudAiplatformV1AskContextsRequest(_messages.Message):
  r"""Agentic Retrieval Ask API for RAG. Request message for
  VertexRagService.AskContexts.

  Fields:
    query: Required. Single RAG retrieve query.
    tools: Optional. The tools to use for AskContexts.
  """

  query = _messages.MessageField('GoogleCloudAiplatformV1RagQuery', 1)
  tools = _messages.MessageField('GoogleCloudAiplatformV1Tool', 2, repeated=True)


class GoogleCloudAiplatformV1AskContextsResponse(_messages.Message):
  r"""Response message for VertexRagService.AskContexts.

  Fields:
    contexts: The contexts of the query.
    response: The Retrieval Response.
  """

  contexts = _messages.MessageField('GoogleCloudAiplatformV1RagContexts', 1)
  response = _messages.StringField(2)


class GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata(_messages.Message):
  r"""Metadata information for NotebookService.AssignNotebookRuntime.

  Fields:
    genericMetadata: The operation generic information.
    progressMessage: A human-readable message that shows the intermediate
      progress details of NotebookRuntime.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1AssignNotebookRuntimeRequest(_messages.Message):
  r"""Request message for NotebookService.AssignNotebookRuntime.

  Fields:
    notebookRuntime: Required. Provide runtime specific information (e.g.
      runtime owner, notebook id) used for NotebookRuntime assignment.
    notebookRuntimeId: Optional. User specified ID for the notebook runtime.
    notebookRuntimeTemplate: Required. The resource name of the
      NotebookRuntimeTemplate based on which a NotebookRuntime will be
      assigned (reuse or create a new one).
  """

  notebookRuntime = _messages.MessageField('GoogleCloudAiplatformV1NotebookRuntime', 1)
  notebookRuntimeId = _messages.StringField(2)
  notebookRuntimeTemplate = _messages.StringField(3)


class GoogleCloudAiplatformV1AsyncQueryReasoningEngineRequest(_messages.Message):
  r"""Request message for
  ReasoningEngineExecutionService.AsyncQueryReasoningEngine.

  Fields:
    inputGcsUri: Optional. Input Cloud Storage URI for the Async query. If you
      are not bringing your own container (BYOC), the content of the file
      should be a JSON object with an `input` field matching the `input` field
      of `QueryReasoningEngineRequest` (e.g. `{ "input": { "user_id": "hello",
      "message":"$QUERY"} }`). For BYOC, the content of the file depends on
      the the agent application.
    outputGcsUri: Optional. Output Cloud Storage URI for the Async query. This
      contains the final response of the query.
  """

  inputGcsUri = _messages.StringField(1)
  outputGcsUri = _messages.StringField(2)


class GoogleCloudAiplatformV1AsyncRetrieveContextsRequest(_messages.Message):
  r"""Request message for VertexRagService.AsyncRetrieveContexts.

  Fields:
    query: Required. Single RAG retrieve query.
    tools: Optional. The tools to use for AskContexts.
  """

  query = _messages.MessageField('GoogleCloudAiplatformV1RagQuery', 1)
  tools = _messages.MessageField('GoogleCloudAiplatformV1Tool', 2, repeated=True)


class GoogleCloudAiplatformV1Attribution(_messages.Message):
  r"""Attribution that explains a particular prediction output.

  Fields:
    approximationError: Output only. Error of feature_attributions caused by
      approximation used in the explanation method. Lower value means more
      precise attributions. * For Sampled Shapley attribution, increasing
      path_count might reduce the error. * For Integrated Gradients
      attribution, increasing step_count might reduce the error. * For XRAI
      attribution, increasing step_count might reduce the error. See [this
      introduction](/vertex-ai/docs/explainable-ai/overview) for more
      information.
    baselineOutputValue: Output only. Model predicted output if the input
      instance is constructed from the baselines of all the features defined
      in ExplanationMetadata.inputs. The field name of the output is
      determined by the key in ExplanationMetadata.outputs. If the Model's
      predicted output has multiple dimensions (rank > 1), this is the value
      in the output located by output_index. If there are multiple baselines,
      their output values are averaged.
    featureAttributions: Output only. Attributions of each explained feature.
      Features are extracted from the prediction instances according to
      explanation metadata for inputs. The value is a struct, whose keys are
      the name of the feature. The values are how much the feature in the
      instance contributed to the predicted result. The format of the value is
      determined by the feature's input format: * If the feature is a scalar
      value, the attribution value is a floating number. * If the feature is
      an array of scalar values, the attribution value is an array. * If the
      feature is a struct, the attribution value is a struct. The keys in the
      attribution value struct are the same as the keys in the feature struct.
      The formats of the values in the attribution struct are determined by
      the formats of the values in the feature struct. The
      ExplanationMetadata.feature_attributions_schema_uri field, pointed to by
      the ExplanationSpec field of the Endpoint.deployed_models object, points
      to the schema file that describes the features and their attribution
      values (if it is populated).
    instanceOutputValue: Output only. Model predicted output on the
      corresponding explanation instance. The field name of the output is
      determined by the key in ExplanationMetadata.outputs. If the Model
      predicted output has multiple dimensions, this is the value in the
      output located by output_index.
    outputDisplayName: Output only. The display name of the output identified
      by output_index. For example, the predicted class name by a multi-
      classification Model. This field is only populated iff the Model
      predicts display names as a separate field along with the explained
      output. The predicted display name must has the same shape of the
      explained output, and can be located using output_index.
    outputIndex: Output only. The index that locates the explained prediction
      output. If the prediction output is a scalar value, output_index is not
      populated. If the prediction output has multiple dimensions, the length
      of the output_index list is the same as the number of dimensions of the
      output. The i-th element in output_index is the element index of the
      i-th dimension of the output vector. Indices start from 0.
    outputName: Output only. Name of the explain output. Specified as the key
      in ExplanationMetadata.outputs.
  """

  approximationError = _messages.FloatField(1)
  baselineOutputValue = _messages.FloatField(2)
  featureAttributions = _messages.MessageField('extra_types.JsonValue', 3)
  instanceOutputValue = _messages.FloatField(4)
  outputDisplayName = _messages.StringField(5)
  outputIndex = _messages.IntegerField(6, repeated=True, variant=_messages.Variant.INT32)
  outputName = _messages.StringField(7)


class GoogleCloudAiplatformV1AugmentPromptRequest(_messages.Message):
  r"""Request message for AugmentPrompt.

  Fields:
    contents: Optional. Input content to augment, only text format is
      supported for now.
    model: Optional. Metadata of the backend deployed model.
    vertexRagStore: Optional. Retrieves contexts from the Vertex RagStore.
  """

  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)
  model = _messages.MessageField('GoogleCloudAiplatformV1AugmentPromptRequestModel', 2)
  vertexRagStore = _messages.MessageField('GoogleCloudAiplatformV1VertexRagStore', 3)


class GoogleCloudAiplatformV1AugmentPromptRequestModel(_messages.Message):
  r"""Metadata of the backend deployed model.

  Fields:
    model: Optional. The model that the user will send the augmented prompt
      for content generation.
    modelVersion: Optional. The model version of the backend deployed model.
  """

  model = _messages.StringField(1)
  modelVersion = _messages.StringField(2)


class GoogleCloudAiplatformV1AugmentPromptResponse(_messages.Message):
  r"""Response message for AugmentPrompt.

  Fields:
    augmentedPrompt: Augmented prompt, only text format is supported for now.
    facts: Retrieved facts from RAG data sources.
  """

  augmentedPrompt = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)
  facts = _messages.MessageField('GoogleCloudAiplatformV1Fact', 2, repeated=True)


class GoogleCloudAiplatformV1AutomaticResources(_messages.Message):
  r"""A description of resources that to large degree are decided by Agent
  Platform, and require only a modest additional configuration. Each Model
  supporting these resources documents its specific guidelines.

  Fields:
    maxReplicaCount: Immutable. The maximum number of replicas that may be
      deployed on when the traffic against it increases. If the requested
      value is too large, the deployment will error, but if deployment
      succeeds then the ability to scale to that many replicas is guaranteed
      (barring service outages). If traffic increases beyond what its replicas
      at maximum may handle, a portion of the traffic will be dropped. If this
      value is not provided, a no upper bound for scaling under heavy traffic
      will be assume, though Agent Platform may be unable to scale beyond
      certain replica number.
    minReplicaCount: Immutable. The minimum number of replicas that will be
      always deployed on. If traffic against it increases, it may dynamically
      be deployed onto more replicas up to max_replica_count, and as traffic
      decreases, some of these extra replicas may be freed. If the requested
      value is too large, the deployment will error.
  """

  maxReplicaCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  minReplicaCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1AutoraterConfig(_messages.Message):
  r"""The configs for autorater. This is applicable to both EvaluateInstances
  and EvaluateDataset.

  Fields:
    autoraterModel: Optional. The fully qualified name of the publisher model
      or tuned autorater endpoint to use. Publisher model format:
      `projects/{project}/locations/{location}/publishers/*/models/*` Tuned
      model endpoint format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    flipEnabled: Optional. Default is true. Whether to flip the candidate and
      baseline responses. This is only applicable to the pairwise metric. If
      enabled, also provide PairwiseMetricSpec.candidate_response_field_name
      and PairwiseMetricSpec.baseline_response_field_name. When rendering
      PairwiseMetricSpec.metric_prompt_template, the candidate and baseline
      fields will be flipped for half of the samples to reduce bias.
    generationConfig: Optional. Configuration options for model generation and
      outputs.
    samplingCount: Optional. Number of samples for each instance in the
      dataset. If not specified, the default is 4. Minimum value is 1, maximum
      value is 32.
  """

  autoraterModel = _messages.StringField(1)
  flipEnabled = _messages.BooleanField(2)
  generationConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfig', 3)
  samplingCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1AutoscalingMetricSpec(_messages.Message):
  r"""The metric specification that defines the target resource utilization
  (CPU utilization, accelerator's duty cycle, and so on) for calculating the
  desired replica count.

  Fields:
    metricName: Required. The resource metric name. Supported metrics: * For
      Online Prediction: *
      `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` *
      `aiplatform.googleapis.com/prediction/online/cpu/utilization` *
      `aiplatform.googleapis.com/prediction/online/request_count` *
      `pubsub.googleapis.com/subscription/num_undelivered_messages` *
      `prometheus.googleapis.com/vertex_dcgm_fi_dev_gpu_util` *
      `prometheus.googleapis.com/vertex_vllm_gpu_cache_usage_perc` *
      `prometheus.googleapis.com/vertex_vllm_num_requests_waiting`
    target: The target resource utilization in percentage (1% - 100%) for the
      given metric; once the real usage deviates from the target by a certain
      percentage, the machine replicas change. The default value is 60
      (representing 60%) if not provided.
  """

  metricName = _messages.StringField(1)
  target = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1AvroSource(_messages.Message):
  r"""The storage details for Avro input content.

  Fields:
    gcsSource: Required. Google Cloud Storage location.
  """

  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 1)


class GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest(_messages.Message):
  r"""Request message for PipelineService.BatchCancelPipelineJobs.

  Fields:
    names: Required. The names of the PipelineJobs to cancel. A maximum of 32
      PipelineJobs can be cancelled in a batch. Format:
      `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`
  """

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


class GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata(_messages.Message):
  r"""Details of operations that perform batch create Features.

  Fields:
    genericMetadata: Operation metadata for Feature.
  """

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


class GoogleCloudAiplatformV1BatchCreateFeaturesRequest(_messages.Message):
  r"""Request message for FeaturestoreService.BatchCreateFeatures. Request
  message for FeatureRegistryService.BatchCreateFeatures.

  Fields:
    requests: Required. The request message specifying the Features to create.
      All Features must be created under the same parent EntityType /
      FeatureGroup. The `parent` field in each child request message can be
      omitted. If `parent` is set in a child request, then the value must
      match the `parent` value in this request message.
  """

  requests = _messages.MessageField('GoogleCloudAiplatformV1CreateFeatureRequest', 1, repeated=True)


class GoogleCloudAiplatformV1BatchCreateFeaturesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.BatchCreateFeatures.

  Fields:
    features: The Features created.
  """

  features = _messages.MessageField('GoogleCloudAiplatformV1Feature', 1, repeated=True)


class GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest(_messages.Message):
  r"""Request message for TensorboardService.BatchCreateTensorboardRuns.

  Fields:
    requests: Required. The request message specifying the TensorboardRuns to
      create. A maximum of 1000 TensorboardRuns can be created in a batch.
  """

  requests = _messages.MessageField('GoogleCloudAiplatformV1CreateTensorboardRunRequest', 1, repeated=True)


class GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse(_messages.Message):
  r"""Response message for TensorboardService.BatchCreateTensorboardRuns.

  Fields:
    tensorboardRuns: The created TensorboardRuns.
  """

  tensorboardRuns = _messages.MessageField('GoogleCloudAiplatformV1TensorboardRun', 1, repeated=True)


class GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest(_messages.Message):
  r"""Request message for TensorboardService.BatchCreateTensorboardTimeSeries.

  Fields:
    requests: Required. The request message specifying the
      TensorboardTimeSeries to create. A maximum of 1000 TensorboardTimeSeries
      can be created in a batch.
  """

  requests = _messages.MessageField('GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest', 1, repeated=True)


class GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse(_messages.Message):
  r"""Response message for
  TensorboardService.BatchCreateTensorboardTimeSeries.

  Fields:
    tensorboardTimeSeries: The created TensorboardTimeSeries.
  """

  tensorboardTimeSeries = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTimeSeries', 1, repeated=True)


class GoogleCloudAiplatformV1BatchDedicatedResources(_messages.Message):
  r"""A description of resources that are used for performing batch
  operations, are dedicated to a Model, and need manual configuration.

  Fields:
    machineSpec: Required. Immutable. The specification of a single machine.
    maxReplicaCount: Immutable. The maximum number of machine replicas the
      batch operation may be scaled to. The default value is 10.
    startingReplicaCount: Immutable. The number of machine replicas used at
      the start of the batch operation. If not set, Agent Platform decides
      starting number, not greater than max_replica_count
  """

  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 1)
  maxReplicaCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  startingReplicaCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest(_messages.Message):
  r"""Request message for PipelineService.BatchDeletePipelineJobs.

  Fields:
    names: Required. The names of the PipelineJobs to delete. A maximum of 32
      PipelineJobs can be deleted in a batch. Format:
      `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`
  """

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


class GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest(_messages.Message):
  r"""Request message for ModelService.BatchImportEvaluatedAnnotations

  Fields:
    evaluatedAnnotations: Required. Evaluated annotations resource to be
      imported.
  """

  evaluatedAnnotations = _messages.MessageField('GoogleCloudAiplatformV1EvaluatedAnnotation', 1, repeated=True)


class GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse(_messages.Message):
  r"""Response message for ModelService.BatchImportEvaluatedAnnotations

  Fields:
    importedEvaluatedAnnotationsCount: Output only. Number of
      EvaluatedAnnotations imported.
  """

  importedEvaluatedAnnotationsCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest(_messages.Message):
  r"""Request message for ModelService.BatchImportModelEvaluationSlices

  Fields:
    modelEvaluationSlices: Required. Model evaluation slice resource to be
      imported.
  """

  modelEvaluationSlices = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSlice', 1, repeated=True)


class GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse(_messages.Message):
  r"""Response message for ModelService.BatchImportModelEvaluationSlices

  Fields:
    importedModelEvaluationSlices: Output only. List of imported
      ModelEvaluationSlice.name.
  """

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


class GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata(_messages.Message):
  r"""Runtime operation information for
  MigrationService.BatchMigrateResources.

  Fields:
    genericMetadata: The common part of the operation metadata.
    partialResults: Partial results that reflect the latest migration
      operation progress.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  partialResults = _messages.MessageField('GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult', 2, repeated=True)


class GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult(_messages.Message):
  r"""Represents a partial result in batch migration operation for one
  MigrateResourceRequest.

  Fields:
    dataset: Migrated dataset resource name.
    error: The error result of the migration request in case of failure.
    model: Migrated model resource name.
    request: It's the same as the value in
      BatchMigrateResourcesRequest.migrate_resource_requests.
  """

  dataset = _messages.StringField(1)
  error = _messages.MessageField('GoogleRpcStatus', 2)
  model = _messages.StringField(3)
  request = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequest', 4)


class GoogleCloudAiplatformV1BatchMigrateResourcesRequest(_messages.Message):
  r"""Request message for MigrationService.BatchMigrateResources.

  Fields:
    migrateResourceRequests: Required. The request messages specifying the
      resources to migrate. They must be in the same location as the
      destination. Up to 50 resources can be migrated in one batch.
  """

  migrateResourceRequests = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequest', 1, repeated=True)


class GoogleCloudAiplatformV1BatchMigrateResourcesResponse(_messages.Message):
  r"""Response message for MigrationService.BatchMigrateResources.

  Fields:
    migrateResourceResponses: Successfully migrated resources.
  """

  migrateResourceResponses = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceResponse', 1, repeated=True)


class GoogleCloudAiplatformV1BatchPredictionJob(_messages.Message):
  r"""A job that uses a Model to produce predictions on multiple input
  instances. If predictions for significant portion of the instances fail, the
  job may finish without attempting predictions for all remaining instances.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize
      BatchPredictionJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    completionStats: Output only. Statistics on completed and failed
      prediction instances.
    createTime: Output only. Time when the BatchPredictionJob was created.
    dedicatedResources: The config of resources used by the Model during the
      batch prediction. If the Model supports DEDICATED_RESOURCES this config
      may be provided (and the job will use these resources), if the Model
      doesn't support AUTOMATIC_RESOURCES, this config must be provided.
    disableContainerLogging: For custom-trained Models and AutoML Tabular
      Models, the container of the DeployedModel instances will send `stderr`
      and `stdout` streams to Cloud Logging by default. Please note that the
      logs incur cost, which are subject to [Cloud Logging
      pricing](https://cloud.google.com/logging/pricing). User can disable
      container logging by setting this flag to true.
    displayName: Required. The user-defined name of this BatchPredictionJob.
    encryptionSpec: Customer-managed encryption key options for a
      BatchPredictionJob. If this is set, then all resources created by the
      BatchPredictionJob will be encrypted with the provided encryption key.
    endTime: Output only. Time when the BatchPredictionJob entered any of the
      following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
      `JOB_STATE_CANCELLED`.
    error: Output only. Only populated when the job's state is
      JOB_STATE_FAILED or JOB_STATE_CANCELLED.
    explanationSpec: Explanation configuration for this BatchPredictionJob.
      Can be specified only if generate_explanation is set to `true`. This
      value overrides the value of Model.explanation_spec. All fields of
      explanation_spec are optional in the request. If a field of the
      explanation_spec object is not populated, the corresponding field of the
      Model.explanation_spec object is inherited.
    generateExplanation: Generate explanation with the batch prediction
      results. When set to `true`, the batch prediction output changes based
      on the `predictions_format` field of the
      BatchPredictionJob.output_config object: * `bigquery`: output includes a
      column named `explanation`. The value is a struct that conforms to the
      Explanation object. * `jsonl`: The JSON objects on each line include an
      additional entry keyed `explanation`. The value of the entry is a JSON
      object that conforms to the Explanation object. * `csv`: Generating
      explanations for CSV format is not supported. If this field is set to
      true, either the Model.explanation_spec or explanation_spec must be
      populated.
    inputConfig: Required. Input configuration of the instances on which
      predictions are performed. The schema of any single instance may be
      specified via the Model's PredictSchemata's instance_schema_uri.
    instanceConfig: Configuration for how to convert batch prediction input
      instances to the prediction instances that are sent to the Model.
    labels: The labels with user-defined metadata to organize
      BatchPredictionJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    manualBatchTuningParameters: Immutable. Parameters configuring the batch
      behavior. Currently only applicable when dedicated_resources are used
      (in other cases Vertex AI does the tuning itself).
    model: The name of the Model resource that produces the predictions via
      this job, must share the same ancestor Location. Starting this job has
      no impact on any existing deployments of the Model and their resources.
      Exactly one of model, unmanaged_container_model, or endpoint must be
      set. The model resource name may contain version id or version alias to
      specify the version. Example:
      `projects/{project}/locations/{location}/models/{model}@2` or
      `projects/{project}/locations/{location}/models/{model}@golden` if no
      version is specified, the default version will be deployed. The model
      resource could also be a publisher model. Example:
      `publishers/{publisher}/models/{model}` or `projects/{project}/locations
      /{location}/publishers/{publisher}/models/{model}`
    modelParameters: The parameters that govern the predictions. The schema of
      the parameters may be specified via the Model's PredictSchemata's
      parameters_schema_uri.
    modelVersionId: Output only. The version ID of the Model that produces the
      predictions via this job.
    name: Output only. Resource name of the BatchPredictionJob.
    outputConfig: Required. The Configuration specifying where output
      predictions should be written. The schema of any single prediction may
      be specified as a concatenation of Model's PredictSchemata's
      instance_schema_uri and prediction_schema_uri.
    outputInfo: Output only. Information further describing the output of this
      job.
    partialFailures: Output only. Partial failures encountered. For example,
      single files that can't be read. This field never exceeds 20 entries.
      Status details fields contain standard Google Cloud error details.
    resourcesConsumed: Output only. Information about resources that had been
      consumed by this job. Provided in real time at best effort basis, as
      well as a final value once the job completes. Note: This field currently
      may be not populated for batch predictions that use AutoML Models.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    serviceAccount: The service account that the DeployedModel's container
      runs as. If not specified, a system generated one will be used, which
      has minimal permissions and the custom container, if used, may not have
      enough permission to access other Google Cloud resources. Users
      deploying the Model must have the `iam.serviceAccounts.actAs` permission
      on this service account.
    startTime: Output only. Time when the BatchPredictionJob for the first
      time entered the `JOB_STATE_RUNNING` state.
    state: Output only. The detailed state of the job.
    unmanagedContainerModel: Contains model information necessary to perform
      batch prediction without requiring uploading to model registry. Exactly
      one of model, unmanaged_container_model, or endpoint must be set.
    updateTime: Output only. Time when the BatchPredictionJob was most
      recently updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize BatchPredictionJobs.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. See
    https://goo.gl/xmQnxf for more information and examples of labels.

    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)

  completionStats = _messages.MessageField('GoogleCloudAiplatformV1CompletionStats', 1)
  createTime = _messages.StringField(2)
  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1BatchDedicatedResources', 3)
  disableContainerLogging = _messages.BooleanField(4)
  displayName = _messages.StringField(5)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 6)
  endTime = _messages.StringField(7)
  error = _messages.MessageField('GoogleRpcStatus', 8)
  explanationSpec = _messages.MessageField('GoogleCloudAiplatformV1ExplanationSpec', 9)
  generateExplanation = _messages.BooleanField(10)
  inputConfig = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJobInputConfig', 11)
  instanceConfig = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig', 12)
  labels = _messages.MessageField('LabelsValue', 13)
  manualBatchTuningParameters = _messages.MessageField('GoogleCloudAiplatformV1ManualBatchTuningParameters', 14)
  model = _messages.StringField(15)
  modelParameters = _messages.MessageField('extra_types.JsonValue', 16)
  modelVersionId = _messages.StringField(17)
  name = _messages.StringField(18)
  outputConfig = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJobOutputConfig', 19)
  outputInfo = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJobOutputInfo', 20)
  partialFailures = _messages.MessageField('GoogleRpcStatus', 21, repeated=True)
  resourcesConsumed = _messages.MessageField('GoogleCloudAiplatformV1ResourcesConsumed', 22)
  satisfiesPzi = _messages.BooleanField(23)
  satisfiesPzs = _messages.BooleanField(24)
  serviceAccount = _messages.StringField(25)
  startTime = _messages.StringField(26)
  state = _messages.EnumField('StateValueValuesEnum', 27)
  unmanagedContainerModel = _messages.MessageField('GoogleCloudAiplatformV1UnmanagedContainerModel', 28)
  updateTime = _messages.StringField(29)


class GoogleCloudAiplatformV1BatchPredictionJobInputConfig(_messages.Message):
  r"""Configures the input to BatchPredictionJob. See
  Model.supported_input_storage_formats for Model's supported input formats,
  and how instances should be expressed via any of them.

  Fields:
    bigquerySource: The BigQuery location of the input table. The schema of
      the table should be in the format described by the given context OpenAPI
      Schema, if one is provided. The table may contain additional columns
      that are not described by the schema, and they will be ignored.
    gcsSource: The Cloud Storage location for the input instances.
    instancesFormat: Required. The format in which instances are given, must
      be one of the Model's supported_input_storage_formats.
    vertexMultimodalDatasetSource: A Vertex Managed Dataset. Currently, only
      datasets of type Multimodal are supported.
  """

  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 1)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 2)
  instancesFormat = _messages.StringField(3)
  vertexMultimodalDatasetSource = _messages.MessageField('GoogleCloudAiplatformV1VertexMultimodalDatasetSource', 4)


class GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig(_messages.Message):
  r"""Configuration defining how to transform batch prediction input instances
  to the instances that the Model accepts.

  Fields:
    excludedFields: Fields that will be excluded in the prediction instance
      that is sent to the Model. Excluded will be attached to the batch
      prediction output if key_field is not specified. When excluded_fields is
      populated, included_fields must be empty. The input must be JSONL with
      objects at each line, BigQuery or TfRecord.
    includedFields: Fields that will be included in the prediction instance
      that is sent to the Model. If instance_type is `array`, the order of
      field names in included_fields also determines the order of the values
      in the array. When included_fields is populated, excluded_fields must be
      empty. The input must be JSONL with objects at each line, BigQuery or
      TfRecord.
    instanceType: The format of the instance that the Model accepts. Vertex AI
      will convert compatible batch prediction input instance formats to the
      specified format. Supported values are: * `object`: Each input is
      converted to JSON object format. * For `bigquery`, each row is converted
      to an object. * For `jsonl`, each line of the JSONL input must be an
      object. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-
      record-gzip`. * `array`: Each input is converted to JSON array format. *
      For `bigquery`, each row is converted to an array. The order of columns
      is determined by the BigQuery column order, unless included_fields is
      populated. included_fields must be populated for specifying field
      orders. * For `jsonl`, if each line of the JSONL input is an object,
      included_fields must be populated for specifying field orders. * Does
      not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. If
      not specified, Vertex AI converts the batch prediction input as follows:
      * For `bigquery` and `csv`, the behavior is the same as `array`. The
      order of columns is the same as defined in the file or table, unless
      included_fields is populated. * For `jsonl`, the prediction instance
      format is determined by each line of the input. * For `tf-record`/`tf-
      record-gzip`, each record will be converted to an object in the format
      of `{"b64": }`, where `` is the Base64-encoded string of the content of
      the record. * For `file-list`, each file in the list will be converted
      to an object in the format of `{"b64": }`, where `` is the
      Base64-encoded string of the content of the file.
    keyField: The name of the field that is considered as a key. The values
      identified by the key field is not included in the transformed instances
      that is sent to the Model. This is similar to specifying this name of
      the field in excluded_fields. In addition, the batch prediction output
      will not include the instances. Instead the output will only include the
      value of the key field, in a field named `key` in the output: * For
      `jsonl` output format, the output will have a `key` field instead of the
      `instance` field. * For `csv`/`bigquery` output format, the output will
      have have a `key` column instead of the instance feature columns. The
      input must be JSONL with objects at each line, CSV, BigQuery or
      TfRecord.
  """

  excludedFields = _messages.StringField(1, repeated=True)
  includedFields = _messages.StringField(2, repeated=True)
  instanceType = _messages.StringField(3)
  keyField = _messages.StringField(4)


class GoogleCloudAiplatformV1BatchPredictionJobOutputConfig(_messages.Message):
  r"""Configures the output of BatchPredictionJob. See
  Model.supported_output_storage_formats for supported output formats, and how
  predictions are expressed via any of them.

  Fields:
    bigqueryDestination: The BigQuery project or dataset location where the
      output is to be written to. If project is provided, a new dataset is
      created with name `prediction__` where is made BigQuery-dataset-name
      compatible (for example, most special characters become underscores),
      and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format.
      In the dataset two tables will be created, `predictions`, and `errors`.
      If the Model has both instance and prediction schemata defined then the
      tables have columns as follows: The `predictions` table contains
      instances for which the prediction succeeded, it has columns as per a
      concatenation of the Model's instance and prediction schemata. The
      `errors` table contains rows for which the prediction has failed, it has
      instance columns, as per the instance schema, followed by a single
      "errors" column, which as values has google.rpc.Status represented as a
      STRUCT, and containing only `code` and `message`.
    gcsDestination: The Cloud Storage location of the directory where the
      output is to be written to. In the given directory a new directory is
      created. Its name is `prediction--`, where timestamp is in YYYY-MM-
      DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files
      `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are
      created where `` depends on chosen predictions_format, and N may equal
      0001 and depends on the total number of successfully predicted
      instances. If the Model has both instance and prediction schemata
      defined then each such file contains predictions as per the
      predictions_format. If prediction for any instance failed (partially or
      completely), then an additional `errors_0001.`, `errors_0002.`,...,
      `errors_N.` files are created (N depends on total number of failed
      predictions). These files contain the failed instances, as per their
      schema, followed by an additional `error` field which as value has
      google.rpc.Status containing only `code` and `message` fields.
    predictionsFormat: Required. The format in which Vertex AI gives the
      predictions, must be one of the Model's
      supported_output_storage_formats.
    vertexMultimodalDatasetDestination: The details for a Vertex Multimodal
      Dataset that will be created for the output.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 1)
  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 2)
  predictionsFormat = _messages.StringField(3)
  vertexMultimodalDatasetDestination = _messages.MessageField('GoogleCloudAiplatformV1VertexMultimodalDatasetDestination', 4)


class GoogleCloudAiplatformV1BatchPredictionJobOutputInfo(_messages.Message):
  r"""Further describes this job's output. Supplements output_config.

  Fields:
    bigqueryOutputDataset: Output only. The path of the BigQuery dataset
      created, in `bq://projectId.bqDatasetId` format, into which the
      prediction output is written.
    bigqueryOutputTable: Output only. The name of the BigQuery table created,
      in `predictions_` format, into which the prediction output is written.
      Can be used by UI to generate the BigQuery output path, for example.
    gcsOutputDirectory: Output only. The full path of the Cloud Storage
      directory created, into which the prediction output is written.
    vertexMultimodalDatasetName: Output only. The resource name of the Vertex
      Managed Dataset created, into which the prediction output is written.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}`
  """

  bigqueryOutputDataset = _messages.StringField(1)
  bigqueryOutputTable = _messages.StringField(2)
  gcsOutputDirectory = _messages.StringField(3)
  vertexMultimodalDatasetName = _messages.StringField(4)


class GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata(_messages.Message):
  r"""Details of operations that batch reads Feature values.

  Fields:
    genericMetadata: Operation metadata for Featurestore batch read Features
      values.
  """

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


class GoogleCloudAiplatformV1BatchReadFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreService.BatchReadFeatureValues.

  Fields:
    bigqueryReadInstances: Similar to csv_read_instances, but from BigQuery
      source.
    csvReadInstances: Each read instance consists of exactly one read
      timestamp and one or more entity IDs identifying entities of the
      corresponding EntityTypes whose Features are requested. Each output
      instance contains Feature values of requested entities concatenated
      together as of the read time. An example read instance may be
      `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z`. An example
      output instance may be `foo_entity_id, bar_entity_id,
      2020-01-01T10:00:00.123Z, foo_entity_feature1_value,
      bar_entity_feature2_value`. Timestamp in each read instance must be
      millisecond-aligned. `csv_read_instances` are read instances stored in a
      plain-text CSV file. The header should be: [ENTITY_TYPE_ID1],
      [ENTITY_TYPE_ID2], ..., timestamp The columns can be in any order.
      Values in the timestamp column must use the RFC 3339 format, e.g.
      `2012-07-30T10:43:17.123Z`.
    destination: Required. Specifies output location and format.
    entityTypeSpecs: Required. Specifies EntityType grouping Features to read
      values of and settings.
    passThroughFields: When not empty, the specified fields in the
      *_read_instances source will be joined as-is in the output, in addition
      to those fields from the Featurestore Entity. For BigQuery source, the
      type of the pass-through values will be automatically inferred. For CSV
      source, the pass-through values will be passed as opaque bytes.
    startTime: Optional. Excludes Feature values with feature generation
      timestamp before this timestamp. If not set, retrieve oldest values kept
      in Feature Store. Timestamp, if present, must not have higher than
      millisecond precision.
  """

  bigqueryReadInstances = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 1)
  csvReadInstances = _messages.MessageField('GoogleCloudAiplatformV1CsvSource', 2)
  destination = _messages.MessageField('GoogleCloudAiplatformV1FeatureValueDestination', 3)
  entityTypeSpecs = _messages.MessageField('GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec', 4, repeated=True)
  passThroughFields = _messages.MessageField('GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField', 5, repeated=True)
  startTime = _messages.StringField(6)


class GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec(_messages.Message):
  r"""Selects Features of an EntityType to read values of and specifies read
  settings.

  Fields:
    entityTypeId: Required. ID of the EntityType to select Features. The
      EntityType id is the entity_type_id specified during EntityType
      creation.
    featureSelector: Required. Selectors choosing which Feature values to read
      from the EntityType.
    settings: Per-Feature settings for the batch read.
  """

  entityTypeId = _messages.StringField(1)
  featureSelector = _messages.MessageField('GoogleCloudAiplatformV1FeatureSelector', 2)
  settings = _messages.MessageField('GoogleCloudAiplatformV1DestinationFeatureSetting', 3, repeated=True)


class GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField(_messages.Message):
  r"""Describe pass-through fields in read_instance source.

  Fields:
    fieldName: Required. The name of the field in the CSV header or the name
      of the column in BigQuery table. The naming restriction is the same as
      Feature.name.
  """

  fieldName = _messages.StringField(1)


class GoogleCloudAiplatformV1BatchReadFeatureValuesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.BatchReadFeatureValues."""


class GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse(_messages.Message):
  r"""Response message for
  TensorboardService.BatchReadTensorboardTimeSeriesData.

  Fields:
    timeSeriesData: The returned time series data.
  """

  timeSeriesData = _messages.MessageField('GoogleCloudAiplatformV1TimeSeriesData', 1, repeated=True)


class GoogleCloudAiplatformV1BigQueryDestination(_messages.Message):
  r"""The BigQuery location for the output content.

  Fields:
    outputUri: Required. BigQuery URI to a project or table, up to 2000
      characters long. When only the project is specified, the Dataset and
      Table is created. When the full table reference is specified, the
      Dataset must exist and table must not exist. Accepted forms: * BigQuery
      path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or
      `bq://projectId.bqDatasetId.bqTableId`.
  """

  outputUri = _messages.StringField(1)


class GoogleCloudAiplatformV1BigQuerySource(_messages.Message):
  r"""The BigQuery location for the input content.

  Fields:
    inputUri: Required. BigQuery URI to a table, up to 2000 characters long.
      Accepted forms: * BigQuery path. For example:
      `bq://projectId.bqDatasetId.bqTableId`.
  """

  inputUri = _messages.StringField(1)


class GoogleCloudAiplatformV1BleuInput(_messages.Message):
  r"""Input for bleu metric.

  Fields:
    instances: Required. Repeated bleu instances.
    metricSpec: Required. Spec for bleu score metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1BleuInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1BleuSpec', 2)


class GoogleCloudAiplatformV1BleuInstance(_messages.Message):
  r"""Spec for bleu instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1BleuMetricValue(_messages.Message):
  r"""Bleu metric value for an instance.

  Fields:
    score: Output only. Bleu score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1BleuResults(_messages.Message):
  r"""Results for bleu metric.

  Fields:
    bleuMetricValues: Output only. Bleu metric values.
  """

  bleuMetricValues = _messages.MessageField('GoogleCloudAiplatformV1BleuMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1BleuSpec(_messages.Message):
  r"""Spec for bleu score metric - calculates the precision of n-grams in the
  prediction as compared to reference - returns a score ranging between 0 to
  1.

  Fields:
    useEffectiveOrder: Optional. Whether to use_effective_order to compute
      bleu score.
  """

  useEffectiveOrder = _messages.BooleanField(1)


class GoogleCloudAiplatformV1Blob(_messages.Message):
  r"""A content blob. A Blob contains data of a specific media type. It is
  used to represent images, audio, and video.

  Fields:
    data: Required. The raw bytes of the data.
    displayName: Optional. The display name of the blob. Used to provide a
      label or filename to distinguish blobs. This field is only returned in
      `PromptMessage` for prompt management. It is used in the Gemini calls
      only when server-side tools (`code_execution`, `google_search`, and
      `url_context`) are enabled.
    mimeType: Required. The IANA standard MIME type of the source data.
  """

  data = _messages.BytesField(1)
  displayName = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1BlurBaselineConfig(_messages.Message):
  r"""Config for blur baseline. When enabled, a linear path from the maximally
  blurred image to the input image is created. Using a blurred baseline
  instead of zero (black image) is motivated by the BlurIG approach explained
  here: https://arxiv.org/abs/2004.03383

  Fields:
    maxBlurSigma: The standard deviation of the blur kernel for the blurred
      baseline. The same blurring parameter is used for both the height and
      the width dimension. If not set, the method defaults to the zero (i.e.
      black for images) baseline.
  """

  maxBlurSigma = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1BoolArray(_messages.Message):
  r"""A list of boolean values.

  Fields:
    values: A list of bool values.
  """

  values = _messages.BooleanField(1, repeated=True)


class GoogleCloudAiplatformV1CachedContent(_messages.Message):
  r"""A resource used in LLM queries for users to explicitly specify what to
  cache and how to cache.

  Fields:
    contents: Optional. Input only. Immutable. The content to cache
    createTime: Output only. Creation time of the cache entry.
    displayName: Optional. Immutable. The user-generated meaningful display
      name of the cached content.
    encryptionSpec: Input only. Immutable. Customer-managed encryption key
      spec for a `CachedContent`. If set, this `CachedContent` and all its
      sub-resources will be secured by this key.
    expireTime: Timestamp of when this resource is considered expired. This is
      *always* provided on output, regardless of what was sent on input.
    model: Immutable. The name of the `Model` to use for cached content.
      Currently, only the published Gemini base models are supported, in form
      of
      projects/{PROJECT}/locations/{LOCATION}/publishers/google/models/{MODEL}
    name: Immutable. Identifier. The server-generated resource name of the
      cached content Format:
      projects/{project}/locations/{location}/cachedContents/{cached_content}
    systemInstruction: Optional. Input only. Immutable. Developer set system
      instruction. Currently, text only
    toolConfig: Optional. Input only. Immutable. Tool config. This config is
      shared for all tools
    tools: Optional. Input only. Immutable. A list of `Tools` the model may
      use to generate the next response
    ttl: Input only. The TTL for this resource. The expiration time is
      computed: now + TTL.
    updateTime: Output only. When the cache entry was last updated in UTC
      time.
    usageMetadata: Output only. Metadata on the usage of the cached content.
  """

  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)
  createTime = _messages.StringField(2)
  displayName = _messages.StringField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  expireTime = _messages.StringField(5)
  model = _messages.StringField(6)
  name = _messages.StringField(7)
  systemInstruction = _messages.MessageField('GoogleCloudAiplatformV1Content', 8)
  toolConfig = _messages.MessageField('GoogleCloudAiplatformV1ToolConfig', 9)
  tools = _messages.MessageField('GoogleCloudAiplatformV1Tool', 10, repeated=True)
  ttl = _messages.StringField(11)
  updateTime = _messages.StringField(12)
  usageMetadata = _messages.MessageField('GoogleCloudAiplatformV1CachedContentUsageMetadata', 13)


class GoogleCloudAiplatformV1CachedContentUsageMetadata(_messages.Message):
  r"""Metadata on the usage of the cached content.

  Fields:
    audioDurationSeconds: Duration of audio in seconds.
    imageCount: Number of images.
    textCount: Number of text characters.
    totalTokenCount: Total number of tokens that the cached content consumes.
    videoDurationSeconds: Duration of video in seconds.
  """

  audioDurationSeconds = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  imageCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  textCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  totalTokenCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  videoDurationSeconds = _messages.IntegerField(5, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1CancelAsyncQueryReasoningEngineRequest(_messages.Message):
  r"""Request message for
  ReasoningEngineExecutionService.CancelAsyncQueryReasoningEngine.

  Fields:
    operationName: Required. The name of the longrunning operation returned
      from AsyncQueryReasoningEngine. Format:
      `projects/{project}/locations/{location}/operations/{operation}`
  """

  operationName = _messages.StringField(1)


class GoogleCloudAiplatformV1CancelAsyncQueryReasoningEngineResponse(_messages.Message):
  r"""Response message for
  ReasoningEngineExecutionService.CancelAsyncQueryReasoningEngine.
  """



class GoogleCloudAiplatformV1CancelBatchPredictionJobRequest(_messages.Message):
  r"""Request message for JobService.CancelBatchPredictionJob."""


class GoogleCloudAiplatformV1CancelCustomJobRequest(_messages.Message):
  r"""Request message for JobService.CancelCustomJob."""


class GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest(_messages.Message):
  r"""Request message for JobService.CancelHyperparameterTuningJob."""


class GoogleCloudAiplatformV1CancelNasJobRequest(_messages.Message):
  r"""Request message for JobService.CancelNasJob."""


class GoogleCloudAiplatformV1CancelPipelineJobRequest(_messages.Message):
  r"""Request message for PipelineService.CancelPipelineJob."""


class GoogleCloudAiplatformV1CancelTrainingPipelineRequest(_messages.Message):
  r"""Request message for PipelineService.CancelTrainingPipeline."""


class GoogleCloudAiplatformV1CancelTuningJobRequest(_messages.Message):
  r"""Request message for GenAiTuningService.CancelTuningJob."""


class GoogleCloudAiplatformV1Candidate(_messages.Message):
  r"""A response candidate generated from the model.

  Enums:
    FinishReasonValueValuesEnum: Output only. The reason why the model stopped
      generating tokens. If empty, the model has not stopped generating.

  Fields:
    avgLogprobs: Output only. The average log probability of the tokens in
      this candidate. This is a length-normalized score that can be used to
      compare the quality of candidates of different lengths. A higher average
      log probability suggests a more confident and coherent response.
    citationMetadata: Output only. A collection of citations that apply to the
      generated content.
    content: Output only. The content of the candidate.
    finishMessage: Output only. Describes the reason the model stopped
      generating tokens in more detail. This field is returned only when
      `finish_reason` is set.
    finishReason: Output only. The reason why the model stopped generating
      tokens. If empty, the model has not stopped generating.
    groundingMetadata: Output only. Metadata returned when grounding is
      enabled. It contains the sources used to ground the generated content.
    index: Output only. The 0-based index of this candidate in the list of
      generated responses. This is useful for distinguishing between multiple
      candidates when `candidate_count` > 1.
    logprobsResult: Output only. The detailed log probability information for
      the tokens in this candidate. This is useful for debugging,
      understanding model uncertainty, and identifying potential
      "hallucinations".
    safetyRatings: Output only. A list of ratings for the safety of a response
      candidate. There is at most one rating per category.
    urlContextMetadata: Output only. Metadata returned when the model uses the
      `url_context` tool to get information from a user-provided URL.
  """

  class FinishReasonValueValuesEnum(_messages.Enum):
    r"""Output only. The reason why the model stopped generating tokens. If
    empty, the model has not stopped generating.

    Values:
      FINISH_REASON_UNSPECIFIED: The finish reason is unspecified.
      STOP: The model reached a natural stopping point or a configured stop
        sequence.
      MAX_TOKENS: The model generated the maximum number of tokens allowed by
        the `max_output_tokens` parameter.
      SAFETY: The model stopped generating because the content potentially
        violates safety policies. NOTE: When streaming, the `content` field is
        empty if content filters block the output.
      RECITATION: The model stopped generating because the content may be a
        recitation from a source.
      OTHER: The model stopped generating for a reason not otherwise
        specified.
      BLOCKLIST: The model stopped generating because the content contains a
        term from a configured blocklist.
      PROHIBITED_CONTENT: The model stopped generating because the content may
        be prohibited.
      SPII: The model stopped generating because the content may contain
        sensitive personally identifiable information (SPII).
      MALFORMED_FUNCTION_CALL: The model generated a function call that is
        syntactically invalid and can't be parsed.
      MODEL_ARMOR: The model response was blocked by Model Armor.
      IMAGE_SAFETY: The generated image potentially violates safety policies.
      IMAGE_PROHIBITED_CONTENT: The generated image may contain prohibited
        content.
      IMAGE_RECITATION: The generated image may be a recitation from a source.
      IMAGE_OTHER: The image generation stopped for a reason not otherwise
        specified.
      UNEXPECTED_TOOL_CALL: The model generated a function call that is
        semantically invalid. This can happen, for example, if function
        calling is not enabled or the generated function is not in the
        function declaration.
      NO_IMAGE: The model was expected to generate an image, but didn't.
    """
    FINISH_REASON_UNSPECIFIED = 0
    STOP = 1
    MAX_TOKENS = 2
    SAFETY = 3
    RECITATION = 4
    OTHER = 5
    BLOCKLIST = 6
    PROHIBITED_CONTENT = 7
    SPII = 8
    MALFORMED_FUNCTION_CALL = 9
    MODEL_ARMOR = 10
    IMAGE_SAFETY = 11
    IMAGE_PROHIBITED_CONTENT = 12
    IMAGE_RECITATION = 13
    IMAGE_OTHER = 14
    UNEXPECTED_TOOL_CALL = 15
    NO_IMAGE = 16

  avgLogprobs = _messages.FloatField(1)
  citationMetadata = _messages.MessageField('GoogleCloudAiplatformV1CitationMetadata', 2)
  content = _messages.MessageField('GoogleCloudAiplatformV1Content', 3)
  finishMessage = _messages.StringField(4)
  finishReason = _messages.EnumField('FinishReasonValueValuesEnum', 5)
  groundingMetadata = _messages.MessageField('GoogleCloudAiplatformV1GroundingMetadata', 6)
  index = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  logprobsResult = _messages.MessageField('GoogleCloudAiplatformV1LogprobsResult', 8)
  safetyRatings = _messages.MessageField('GoogleCloudAiplatformV1SafetyRating', 9, repeated=True)
  urlContextMetadata = _messages.MessageField('GoogleCloudAiplatformV1UrlContextMetadata', 10)


class GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata(_messages.Message):
  r"""This message will be placed in the metadata field of a
  google.longrunning.Operation associated with a CheckTrialEarlyStoppingState
  request.

  Fields:
    genericMetadata: Operation metadata for suggesting Trials.
    study: The name of the Study that the Trial belongs to.
    trial: The Trial name.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  study = _messages.StringField(2)
  trial = _messages.StringField(3)


class GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest(_messages.Message):
  r"""Request message for VizierService.CheckTrialEarlyStoppingState."""


class GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse(_messages.Message):
  r"""Response message for VizierService.CheckTrialEarlyStoppingState.

  Fields:
    shouldStop: True if the Trial should stop.
  """

  shouldStop = _messages.BooleanField(1)


class GoogleCloudAiplatformV1Checkpoint(_messages.Message):
  r"""Describes the machine learning model version checkpoint.

  Fields:
    checkpointId: The ID of the checkpoint.
    epoch: The epoch of the checkpoint.
    step: The step of the checkpoint.
  """

  checkpointId = _messages.StringField(1)
  epoch = _messages.IntegerField(2)
  step = _messages.IntegerField(3)


class GoogleCloudAiplatformV1Citation(_messages.Message):
  r"""A citation for a piece of generatedcontent.

  Fields:
    endIndex: Output only. The end index of the citation in the content.
    license: Output only. The license of the source of the citation.
    publicationDate: Output only. The publication date of the source of the
      citation.
    startIndex: Output only. The start index of the citation in the content.
    title: Output only. The title of the source of the citation.
    uri: Output only. The URI of the source of the citation.
  """

  endIndex = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  license = _messages.StringField(2)
  publicationDate = _messages.MessageField('GoogleTypeDate', 3)
  startIndex = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  title = _messages.StringField(5)
  uri = _messages.StringField(6)


class GoogleCloudAiplatformV1CitationMetadata(_messages.Message):
  r"""A collection of citations that apply to a piece of generated content.

  Fields:
    citations: Output only. A list of citations for the content.
  """

  citations = _messages.MessageField('GoogleCloudAiplatformV1Citation', 1, repeated=True)


class GoogleCloudAiplatformV1Claim(_messages.Message):
  r"""Claim that is extracted from the input text and facts that support it.

  Fields:
    endIndex: Index in the input text where the claim ends (exclusive).
    factIndexes: Indexes of the facts supporting this claim.
    score: Confidence score of this corroboration.
    startIndex: Index in the input text where the claim starts (inclusive).
  """

  endIndex = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  factIndexes = _messages.IntegerField(2, repeated=True, variant=_messages.Variant.INT32)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  startIndex = _messages.IntegerField(4, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1ClientConnectionConfig(_messages.Message):
  r"""Configurations (e.g. inference timeout) that are applied on your
  endpoints.

  Fields:
    inferenceTimeout: Customizable online prediction request timeout.
  """

  inferenceTimeout = _messages.StringField(1)


class GoogleCloudAiplatformV1CodeExecutionResult(_messages.Message):
  r"""Result of executing the ExecutableCode. Generated only when the
  `CodeExecution` tool is used.

  Enums:
    OutcomeValueValuesEnum: Required. Outcome of the code execution.

  Fields:
    outcome: Required. Outcome of the code execution.
    output: Optional. Contains stdout when code execution is successful,
      stderr or other description otherwise.
  """

  class OutcomeValueValuesEnum(_messages.Enum):
    r"""Required. Outcome of the code execution.

    Values:
      OUTCOME_UNSPECIFIED: Unspecified status. This value should not be used.
      OUTCOME_OK: Code execution completed successfully. `output` contains the
        stdout, if any.
      OUTCOME_FAILED: Code execution failed. `output` contains the stderr and
        stdout, if any.
      OUTCOME_DEADLINE_EXCEEDED: Code execution ran for too long, and was
        cancelled. There may or may not be a partial `output` present.
    """
    OUTCOME_UNSPECIFIED = 0
    OUTCOME_OK = 1
    OUTCOME_FAILED = 2
    OUTCOME_DEADLINE_EXCEEDED = 3

  outcome = _messages.EnumField('OutcomeValueValuesEnum', 1)
  output = _messages.StringField(2)


class GoogleCloudAiplatformV1CoherenceInput(_messages.Message):
  r"""Input for coherence metric.

  Fields:
    instance: Required. Coherence instance.
    metricSpec: Required. Spec for coherence score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1CoherenceInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1CoherenceSpec', 2)


class GoogleCloudAiplatformV1CoherenceInstance(_messages.Message):
  r"""Spec for coherence instance.

  Fields:
    prediction: Required. Output of the evaluated model.
  """

  prediction = _messages.StringField(1)


class GoogleCloudAiplatformV1CoherenceResult(_messages.Message):
  r"""Spec for coherence result.

  Fields:
    confidence: Output only. Confidence for coherence score.
    explanation: Output only. Explanation for coherence score.
    score: Output only. Coherence score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1CoherenceSpec(_messages.Message):
  r"""Spec for coherence score metric.

  Fields:
    version: Optional. Which version to use for evaluation.
  """

  version = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1ColabImage(_messages.Message):
  r"""Colab image of the runtime.

  Fields:
    description: Output only. A human-readable description of the specified
      colab image release, populated by the system. Example: "Python 3.10",
      "Latest - current Python 3.11"
    releaseName: Optional. The release name of the NotebookRuntime Colab
      image, e.g. "py310". If not specified, detault to the latest release.
  """

  description = _messages.StringField(1)
  releaseName = _messages.StringField(2)


class GoogleCloudAiplatformV1CometInput(_messages.Message):
  r"""Input for Comet metric.

  Fields:
    instance: Required. Comet instance.
    metricSpec: Required. Spec for comet metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1CometInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1CometSpec', 2)


class GoogleCloudAiplatformV1CometInstance(_messages.Message):
  r"""Spec for Comet instance - The fields used for evaluation are dependent
  on the comet version.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
    source: Optional. Source text in original language.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)
  source = _messages.StringField(3)


class GoogleCloudAiplatformV1CometResult(_messages.Message):
  r"""Spec for Comet result - calculates the comet score for the given
  instance using the version specified in the spec.

  Fields:
    score: Output only. Comet score. Range depends on version.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1CometSpec(_messages.Message):
  r"""Spec for Comet metric.

  Enums:
    VersionValueValuesEnum: Required. Which version to use for evaluation.

  Fields:
    sourceLanguage: Optional. Source language in BCP-47 format.
    targetLanguage: Optional. Target language in BCP-47 format. Covers both
      prediction and reference.
    version: Required. Which version to use for evaluation.
  """

  class VersionValueValuesEnum(_messages.Enum):
    r"""Required. Which version to use for evaluation.

    Values:
      COMET_VERSION_UNSPECIFIED: Comet version unspecified.
      COMET_22_SRC_REF: Comet 22 for translation + source + reference (source-
        reference-combined).
    """
    COMET_VERSION_UNSPECIFIED = 0
    COMET_22_SRC_REF = 1

  sourceLanguage = _messages.StringField(1)
  targetLanguage = _messages.StringField(2)
  version = _messages.EnumField('VersionValueValuesEnum', 3)


class GoogleCloudAiplatformV1CompleteTrialRequest(_messages.Message):
  r"""Request message for VizierService.CompleteTrial.

  Fields:
    finalMeasurement: Optional. If provided, it will be used as the completed
      Trial's final_measurement; Otherwise, the service will auto-select a
      previously reported measurement as the final-measurement
    infeasibleReason: Optional. A human readable reason why the trial was
      infeasible. This should only be provided if `trial_infeasible` is true.
    trialInfeasible: Optional. True if the Trial cannot be run with the given
      Parameter, and final_measurement will be ignored.
  """

  finalMeasurement = _messages.MessageField('GoogleCloudAiplatformV1Measurement', 1)
  infeasibleReason = _messages.StringField(2)
  trialInfeasible = _messages.BooleanField(3)


class GoogleCloudAiplatformV1CompletionStats(_messages.Message):
  r"""Success and error statistics of processing multiple entities (for
  example, DataItems or structured data rows) in batch.

  Fields:
    failedCount: Output only. The number of entities for which any error was
      encountered.
    incompleteCount: Output only. In cases when enough errors are encountered
      a job, pipeline, or operation may be failed as a whole. Below is the
      number of entities for which the processing had not been finished
      (either in successful or failed state). Set to -1 if the number is
      unknown (for example, the operation failed before the total entity
      number could be collected).
    successfulCount: Output only. The number of entities that had been
      processed successfully.
    successfulForecastPointCount: Output only. The number of the successful
      forecast points that are generated by the forecasting model. This is
      ONLY used by the forecasting batch prediction.
  """

  failedCount = _messages.IntegerField(1)
  incompleteCount = _messages.IntegerField(2)
  successfulCount = _messages.IntegerField(3)
  successfulForecastPointCount = _messages.IntegerField(4)


class GoogleCloudAiplatformV1ComputationBasedMetricSpec(_messages.Message):
  r"""Specification for a computation based metric.

  Enums:
    TypeValueValuesEnum: Required. The type of the computation based metric.

  Messages:
    ParametersValue: Optional. A map of parameters for the metric, e.g.
      {"rouge_type": "rougeL"}.

  Fields:
    parameters: Optional. A map of parameters for the metric, e.g.
      {"rouge_type": "rougeL"}.
    type: Required. The type of the computation based metric.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the computation based metric.

    Values:
      COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED: Unspecified computation based
        metric type.
      EXACT_MATCH: Exact match metric.
      BLEU: BLEU metric.
      ROUGE: ROUGE metric.
    """
    COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED = 0
    EXACT_MATCH = 1
    BLEU = 2
    ROUGE = 3

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParametersValue(_messages.Message):
    r"""Optional. A map of parameters for the metric, e.g. {"rouge_type":
    "rougeL"}.

    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)

  parameters = _messages.MessageField('ParametersValue', 1)
  type = _messages.EnumField('TypeValueValuesEnum', 2)


class GoogleCloudAiplatformV1ComputeTokensRequest(_messages.Message):
  r"""Request message for ComputeTokens RPC call.

  Fields:
    contents: Optional. Input content.
    instances: Optional. The instances that are the input to token computing
      API call. Schema is identical to the prediction schema of the text
      model, even for the non-text models, like chat models, or Codey models.
    model: Optional. The name of the publisher model requested to serve the
      prediction. Format:
      projects/{project}/locations/{location}/publishers/*/models/*
  """

  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)
  instances = _messages.MessageField('extra_types.JsonValue', 2, repeated=True)
  model = _messages.StringField(3)


class GoogleCloudAiplatformV1ComputeTokensResponse(_messages.Message):
  r"""Response message for ComputeTokens RPC call.

  Fields:
    tokensInfo: Lists of tokens info from the input. A ComputeTokensRequest
      could have multiple instances with a prompt in each instance. We also
      need to return lists of tokens info for the request with multiple
      instances.
  """

  tokensInfo = _messages.MessageField('GoogleCloudAiplatformV1TokensInfo', 1, repeated=True)


class GoogleCloudAiplatformV1ContainerRegistryDestination(_messages.Message):
  r"""The Container Registry location for the container image.

  Fields:
    outputUri: Required. Container Registry URI of a container image. Only
      Google Container Registry and Artifact Registry are supported now.
      Accepted forms: * Google Container Registry path. For example:
      `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For example:
      `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a tag
      is not specified, "latest" will be used as the default tag.
  """

  outputUri = _messages.StringField(1)


class GoogleCloudAiplatformV1ContainerSpec(_messages.Message):
  r"""The spec of a Container.

  Fields:
    args: The arguments to be passed when starting the container.
    command: The command to be invoked when the container is started. It
      overrides the entrypoint instruction in Dockerfile when provided.
    env: Environment variables to be passed to the container. Maximum limit is
      100.
    imageUri: Required. The URI of a container image in the Container Registry
      that is to be run on each worker replica.
  """

  args = _messages.StringField(1, repeated=True)
  command = _messages.StringField(2, repeated=True)
  env = _messages.MessageField('GoogleCloudAiplatformV1EnvVar', 3, repeated=True)
  imageUri = _messages.StringField(4)


class GoogleCloudAiplatformV1Content(_messages.Message):
  r"""The structured data content of a message. A Content message contains a
  `role` field, which indicates the producer of the content, and a `parts`
  field, which contains the multi-part data of the message.

  Fields:
    parts: Required. A list of Part objects that make up a single message.
      Parts of a message can have different MIME types. A Content message must
      have at least one Part.
    role: Optional. The producer of the content. Must be either 'user' or
      'model'. If not set, the service will default to 'user'.
  """

  parts = _messages.MessageField('GoogleCloudAiplatformV1Part', 1, repeated=True)
  role = _messages.StringField(2)


class GoogleCloudAiplatformV1ContentMap(_messages.Message):
  r"""Map of placeholder in metric prompt template to contents of model input.

  Messages:
    ValuesValue: Optional. Map of placeholder to contents.

  Fields:
    values: Optional. Map of placeholder to contents.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ValuesValue(_messages.Message):
    r"""Optional. Map of placeholder to contents.

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

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

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

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

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

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

  values = _messages.MessageField('ValuesValue', 1)


class GoogleCloudAiplatformV1ContentMapContents(_messages.Message):
  r"""Repeated Content type.

  Fields:
    contents: Optional. Repeated contents.
  """

  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)


class GoogleCloudAiplatformV1Context(_messages.Message):
  r"""Instance of a general context.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Contexts. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one Context
      (System labels are excluded).
    MetadataValue: Properties of the Context. Top level metadata keys' heading
      and trailing spaces will be trimmed. The size of this field should not
      exceed 200KB.

  Fields:
    createTime: Output only. Timestamp when this Context was created.
    description: Description of the Context
    displayName: User provided display name of the Context. May be up to 128
      Unicode characters.
    etag: An eTag used to perform consistent read-modify-write updates. If not
      set, a blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your Contexts.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Context (System labels
      are excluded).
    metadata: Properties of the Context. Top level metadata keys' heading and
      trailing spaces will be trimmed. The size of this field should not
      exceed 200KB.
    name: Immutable. The resource name of the Context.
    parentContexts: Output only. A list of resource names of Contexts that are
      parents of this Context. A Context may have at most 10 parent_contexts.
    schemaTitle: The title of the schema describing the metadata. Schema title
      and version is expected to be registered in earlier Create Schema calls.
      And both are used together as unique identifiers to identify schemas
      within the local metadata store.
    schemaVersion: The version of the schema in schema_name to use. Schema
      title and version is expected to be registered in earlier Create Schema
      calls. And both are used together as unique identifiers to identify
      schemas within the local metadata store.
    updateTime: Output only. Timestamp when this Context was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Contexts. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. No more than 64 user labels
    can be associated with one Context (System labels are excluded).

    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"""Properties of the Context. Top level metadata keys' heading and
    trailing spaces will be trimmed. The size of this field should not exceed
    200KB.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  metadata = _messages.MessageField('MetadataValue', 6)
  name = _messages.StringField(7)
  parentContexts = _messages.StringField(8, repeated=True)
  schemaTitle = _messages.StringField(9)
  schemaVersion = _messages.StringField(10)
  updateTime = _messages.StringField(11)


class GoogleCloudAiplatformV1CopyModelOperationMetadata(_messages.Message):
  r"""Details of ModelService.CopyModel operation.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

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


class GoogleCloudAiplatformV1CopyModelRequest(_messages.Message):
  r"""Request message for ModelService.CopyModel.

  Fields:
    customServiceAccount: Optional. The user-provided custom service account
      to use to do the copy model. If empty, [Vertex AI Service
      Agent](https://cloud.google.com/vertex-ai/docs/general/access-
      control#service-agents) will be used to access resources needed to
      upload the model. This account must belong to the destination project
      where the model is copied to, i.e., the project specified in the
      `parent` field of this request and have the Vertex AI Service Agent role
      in the source project. Requires the user copying the Model to have the
      `iam.serviceAccounts.actAs` permission on this service account.
    encryptionSpec: Customer-managed encryption key options. If this is set,
      then the Model copy will be encrypted with the provided encryption key.
    modelId: Optional. Copy source_model into a new Model with this ID. The ID
      will become the final component of the model resource name. This value
      may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The
      first character cannot be a number or hyphen.
    parentModel: Optional. Specify this field to copy source_model into this
      existing Model as a new version. Format:
      `projects/{project}/locations/{location}/models/{model}`
    sourceModel: Required. The resource name of the Model to copy. That Model
      must be in the same Project. Format:
      `projects/{project}/locations/{location}/models/{model}`
  """

  customServiceAccount = _messages.StringField(1)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 2)
  modelId = _messages.StringField(3)
  parentModel = _messages.StringField(4)
  sourceModel = _messages.StringField(5)


class GoogleCloudAiplatformV1CopyModelResponse(_messages.Message):
  r"""Response message of ModelService.CopyModel operation.

  Fields:
    model: The name of the copied Model resource. Format:
      `projects/{project}/locations/{location}/models/{model}`
    modelVersionId: Output only. The version ID of the model that is copied.
  """

  model = _messages.StringField(1)
  modelVersionId = _messages.StringField(2)


class GoogleCloudAiplatformV1CorpusStatus(_messages.Message):
  r"""RagCorpus status.

  Enums:
    StateValueValuesEnum: Output only. RagCorpus life state.

  Fields:
    errorStatus: Output only. Only when the `state` field is ERROR.
    state: Output only. RagCorpus life state.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. RagCorpus life state.

    Values:
      UNKNOWN: This state is not supposed to happen.
      INITIALIZED: RagCorpus resource entry is initialized, but hasn't done
        validation.
      ACTIVE: RagCorpus is provisioned successfully and is ready to serve.
      ERROR: RagCorpus is in a problematic situation. See `error_message`
        field for details.
    """
    UNKNOWN = 0
    INITIALIZED = 1
    ACTIVE = 2
    ERROR = 3

  errorStatus = _messages.StringField(1)
  state = _messages.EnumField('StateValueValuesEnum', 2)


class GoogleCloudAiplatformV1CorroborateContentRequest(_messages.Message):
  r"""Request message for CorroborateContent.

  Fields:
    content: Optional. Input content to corroborate, only text format is
      supported for now.
    facts: Optional. Facts used to generate the text can also be used to
      corroborate the text.
    parameters: Optional. Parameters that can be set to override default
      settings per request.
  """

  content = _messages.MessageField('GoogleCloudAiplatformV1Content', 1)
  facts = _messages.MessageField('GoogleCloudAiplatformV1Fact', 2, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1CorroborateContentRequestParameters', 3)


class GoogleCloudAiplatformV1CorroborateContentRequestParameters(_messages.Message):
  r"""Parameters that can be overrided per request.

  Fields:
    citationThreshold: Optional. Only return claims with citation score larger
      than the threshold.
  """

  citationThreshold = _messages.FloatField(1)


class GoogleCloudAiplatformV1CorroborateContentResponse(_messages.Message):
  r"""Response message for CorroborateContent.

  Fields:
    claims: Claims that are extracted from the input content and facts that
      support the claims.
    corroborationScore: Confidence score of corroborating content. Value is
      [0,1] with 1 is the most confidence.
  """

  claims = _messages.MessageField('GoogleCloudAiplatformV1Claim', 1, repeated=True)
  corroborationScore = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1CountTokensRequest(_messages.Message):
  r"""Request message for PredictionService.CountTokens.

  Fields:
    contents: Optional. Input content.
    generationConfig: Optional. Generation config that the model will use to
      generate the response.
    instances: Optional. The instances that are the input to token counting
      call. Schema is identical to the prediction schema of the underlying
      model.
    model: Optional. The name of the publisher model requested to serve the
      prediction. Format:
      `projects/{project}/locations/{location}/publishers/*/models/*`
    systemInstruction: Optional. The user provided system instructions for the
      model. Note: only text should be used in parts and content in each part
      will be in a separate paragraph.
    tools: Optional. A list of `Tools` the model may use to generate the next
      response. A `Tool` is a piece of code that enables the system to
      interact with external systems to perform an action, or set of actions,
      outside of knowledge and scope of the model.
  """

  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 1, repeated=True)
  generationConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfig', 2)
  instances = _messages.MessageField('extra_types.JsonValue', 3, repeated=True)
  model = _messages.StringField(4)
  systemInstruction = _messages.MessageField('GoogleCloudAiplatformV1Content', 5)
  tools = _messages.MessageField('GoogleCloudAiplatformV1Tool', 6, repeated=True)


class GoogleCloudAiplatformV1CountTokensResponse(_messages.Message):
  r"""Response message for PredictionService.CountTokens.

  Fields:
    promptTokensDetails: Output only. List of modalities that were processed
      in the request input.
    totalBillableCharacters: The total number of billable characters counted
      across all instances from the request.
    totalTokens: The total number of tokens counted across all instances from
      the request.
  """

  promptTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 1, repeated=True)
  totalBillableCharacters = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  totalTokens = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1CreateDatasetOperationMetadata(_messages.Message):
  r"""Runtime operation information for DatasetService.CreateDataset.

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

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


class GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata(_messages.Message):
  r"""Runtime operation information for DatasetService.CreateDatasetVersion.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

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


class GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata(_messages.Message):
  r"""Runtime operation information for CreateDeploymentResourcePool method.

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

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


class GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest(_messages.Message):
  r"""Request message for CreateDeploymentResourcePool method.

  Fields:
    deploymentResourcePool: Required. The DeploymentResourcePool to create.
    deploymentResourcePoolId: Required. The ID to use for the
      DeploymentResourcePool, which will become the final component of the
      DeploymentResourcePool's resource name. The maximum length is 63
      characters, and valid characters are
      `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.
  """

  deploymentResourcePool = _messages.MessageField('GoogleCloudAiplatformV1DeploymentResourcePool', 1)
  deploymentResourcePoolId = _messages.StringField(2)


class GoogleCloudAiplatformV1CreateEndpointOperationMetadata(_messages.Message):
  r"""Runtime operation information for EndpointService.CreateEndpoint.

  Enums:
    DeploymentStageValueValuesEnum: Output only. The deployment stage of the
      model. Only populated if this CreateEndpoint request deploys a model at
      the same time.

  Fields:
    deploymentStage: Output only. The deployment stage of the model. Only
      populated if this CreateEndpoint request deploys a model at the same
      time.
    genericMetadata: The operation generic information.
  """

  class DeploymentStageValueValuesEnum(_messages.Enum):
    r"""Output only. The deployment stage of the model. Only populated if this
    CreateEndpoint request deploys a model at the same time.

    Values:
      DEPLOYMENT_STAGE_UNSPECIFIED: Default value. This value is unused.
      STARTING_DEPLOYMENT: The deployment is initializing and setting up the
        environment.
      PREPARING_MODEL: The deployment is preparing the model assets.
      CREATING_SERVING_CLUSTER: The deployment is creating the underlying
        serving cluster.
      ADDING_NODES_TO_CLUSTER: The deployment is adding nodes to the serving
        cluster.
      GETTING_CONTAINER_IMAGE: The deployment is getting the container image
        for the model server.
      STARTING_MODEL_SERVER: The deployment is starting the model server.
      FINISHING_UP: The deployment is performing finalization steps.
      DEPLOYMENT_TERMINATED: The deployment has terminated.
      SUCCESSFULLY_DEPLOYED: The deployment has succeeded.
      FAILED_TO_DEPLOY: The deployment has failed.
    """
    DEPLOYMENT_STAGE_UNSPECIFIED = 0
    STARTING_DEPLOYMENT = 1
    PREPARING_MODEL = 2
    CREATING_SERVING_CLUSTER = 3
    ADDING_NODES_TO_CLUSTER = 4
    GETTING_CONTAINER_IMAGE = 5
    STARTING_MODEL_SERVER = 6
    FINISHING_UP = 7
    DEPLOYMENT_TERMINATED = 8
    SUCCESSFULLY_DEPLOYED = 9
    FAILED_TO_DEPLOY = 10

  deploymentStage = _messages.EnumField('DeploymentStageValueValuesEnum', 1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata(_messages.Message):
  r"""Details of operations that perform create EntityType.

  Fields:
    genericMetadata: Operation metadata for EntityType.
  """

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


class GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata(_messages.Message):
  r"""Details of operations that perform create FeatureGroup.

  Fields:
    genericMetadata: Operation metadata for FeatureGroup.
  """

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


class GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform create FeatureOnlineStore.

  Fields:
    genericMetadata: Operation metadata for FeatureOnlineStore.
  """

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


class GoogleCloudAiplatformV1CreateFeatureOperationMetadata(_messages.Message):
  r"""Details of operations that perform create Feature.

  Fields:
    genericMetadata: Operation metadata for Feature.
  """

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


class GoogleCloudAiplatformV1CreateFeatureRequest(_messages.Message):
  r"""Request message for FeaturestoreService.CreateFeature. Request message
  for FeatureRegistryService.CreateFeature.

  Fields:
    feature: Required. The Feature to create.
    featureId: Required. The ID to use for the Feature, which will become the
      final component of the Feature's resource name. This value may be up to
      128 characters, and valid characters are `[a-z0-9_]`. The first
      character cannot be a number. The value must be unique within an
      EntityType/FeatureGroup.
    parent: Required. The resource name of the EntityType or FeatureGroup to
      create a Feature. Format for entity_type as parent: `projects/{project}/
      locations/{location}/featurestores/{featurestore}/entityTypes/{entity_ty
      pe}` Format for feature_group as parent:
      `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  """

  feature = _messages.MessageField('GoogleCloudAiplatformV1Feature', 1)
  featureId = _messages.StringField(2)
  parent = _messages.StringField(3)


class GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata(_messages.Message):
  r"""Details of operations that perform create FeatureView.

  Fields:
    genericMetadata: Operation metadata for FeatureView Create.
  """

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


class GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform create Featurestore.

  Fields:
    genericMetadata: Operation metadata for Featurestore.
  """

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


class GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata(_messages.Message):
  r"""Runtime operation information for
  IndexEndpointService.CreateIndexEndpoint.

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

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


class GoogleCloudAiplatformV1CreateIndexOperationMetadata(_messages.Message):
  r"""Runtime operation information for IndexService.CreateIndex.

  Fields:
    genericMetadata: The operation generic information.
    nearestNeighborSearchOperationMetadata: The operation metadata with regard
      to Matching Engine Index operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  nearestNeighborSearchOperationMetadata = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata', 2)


class GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform MetadataService.CreateMetadataStore.

  Fields:
    genericMetadata: Operation metadata for creating a MetadataStore.
  """

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


class GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata(_messages.Message):
  r"""Metadata information for NotebookService.CreateNotebookExecutionJob.

  Fields:
    genericMetadata: The operation generic information.
    progressMessage: A human-readable message that shows the intermediate
      progress details of NotebookRuntime.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest(_messages.Message):
  r"""Request message for [NotebookService.CreateNotebookExecutionJob]

  Fields:
    notebookExecutionJob: Required. The NotebookExecutionJob to create.
    notebookExecutionJobId: Optional. User specified ID for the
      NotebookExecutionJob.
    parent: Required. The resource name of the Location to create the
      NotebookExecutionJob. Format: `projects/{project}/locations/{location}`
  """

  notebookExecutionJob = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJob', 1)
  notebookExecutionJobId = _messages.StringField(2)
  parent = _messages.StringField(3)


class GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata(_messages.Message):
  r"""Metadata information for NotebookService.CreateNotebookRuntimeTemplate.

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

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


class GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata(_messages.Message):
  r"""Details of operations that perform create PersistentResource.

  Fields:
    genericMetadata: Operation metadata for PersistentResource.
    progressMessage: Progress Message for Create LRO
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1CreatePipelineJobRequest(_messages.Message):
  r"""Request message for PipelineService.CreatePipelineJob.

  Fields:
    parent: Required. The resource name of the Location to create the
      PipelineJob in. Format: `projects/{project}/locations/{location}`
    pipelineJob: Required. The PipelineJob to create.
    pipelineJobId: The ID to use for the PipelineJob, which will become the
      final component of the PipelineJob name. If not provided, an ID will be
      automatically generated. This value should be less than 128 characters,
      and valid characters are `/a-z-/`.
  """

  parent = _messages.StringField(1)
  pipelineJob = _messages.MessageField('GoogleCloudAiplatformV1PipelineJob', 2)
  pipelineJobId = _messages.StringField(3)


class GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata(_messages.Message):
  r"""Details of operations that perform create FeatureGroup.

  Fields:
    genericMetadata: Operation metadata for Feature.
  """

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


class GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata(_messages.Message):
  r"""Runtime operation information for
  SpecialistPoolService.CreateSpecialistPool.

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

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


class GoogleCloudAiplatformV1CreateTensorboardOperationMetadata(_messages.Message):
  r"""Details of operations that perform create Tensorboard.

  Fields:
    genericMetadata: Operation metadata for Tensorboard.
  """

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


class GoogleCloudAiplatformV1CreateTensorboardRunRequest(_messages.Message):
  r"""Request message for TensorboardService.CreateTensorboardRun.

  Fields:
    parent: Required. The resource name of the TensorboardExperiment to create
      the TensorboardRun in. Format: `projects/{project}/locations/{location}/
      tensorboards/{tensorboard}/experiments/{experiment}`
    tensorboardRun: Required. The TensorboardRun to create.
    tensorboardRunId: Required. The ID to use for the Tensorboard run, which
      becomes the final component of the Tensorboard run's resource name. This
      value should be 1-128 characters, and valid characters are `/a-z-/`.
  """

  parent = _messages.StringField(1)
  tensorboardRun = _messages.MessageField('GoogleCloudAiplatformV1TensorboardRun', 2)
  tensorboardRunId = _messages.StringField(3)


class GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest(_messages.Message):
  r"""Request message for TensorboardService.CreateTensorboardTimeSeries.

  Fields:
    parent: Required. The resource name of the TensorboardRun to create the
      TensorboardTimeSeries in. Format: `projects/{project}/locations/{locatio
      n}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`
    tensorboardTimeSeries: Required. The TensorboardTimeSeries to create.
    tensorboardTimeSeriesId: Optional. The user specified unique ID to use for
      the TensorboardTimeSeries, which becomes the final component of the
      TensorboardTimeSeries's resource name. This value should match
      "a-z0-9{0, 127}"
  """

  parent = _messages.StringField(1)
  tensorboardTimeSeries = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTimeSeries', 2)
  tensorboardTimeSeriesId = _messages.StringField(3)


class GoogleCloudAiplatformV1CsvDestination(_messages.Message):
  r"""The storage details for CSV output content.

  Fields:
    gcsDestination: Required. Google Cloud Storage location.
  """

  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)


class GoogleCloudAiplatformV1CsvSource(_messages.Message):
  r"""The storage details for CSV input content.

  Fields:
    gcsSource: Required. Google Cloud Storage location.
  """

  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 1)


class GoogleCloudAiplatformV1CustomJob(_messages.Message):
  r"""Represents a job that runs custom workloads such as a Docker container
  or a Python package. A CustomJob can have multiple worker pools and each
  worker pool can have its own machine and input spec. A CustomJob will be
  cleaned up once the job enters terminal state (failed or succeeded).

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize CustomJobs.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    WebAccessUrisValue: Output only. URIs for accessing [interactive
      shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
      interactive-shell) (one URI for each training node). Only available if
      job_spec.enable_web_access is `true`. The keys are names of each node in
      the training job; for example, `workerpool0-0` for the primary node,
      `workerpool1-0` for the first node in the second worker pool, and
      `workerpool1-1` for the second node in the second worker pool. The
      values are the URIs for each node's interactive shell.

  Fields:
    createTime: Output only. Time when the CustomJob was created.
    displayName: Required. The display name of the CustomJob. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Customer-managed encryption key options for a CustomJob.
      If this is set, then all resources created by the CustomJob will be
      encrypted with the provided encryption key.
    endTime: Output only. Time when the CustomJob entered any of the following
      states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
      `JOB_STATE_CANCELLED`.
    error: Output only. Only populated when job's state is `JOB_STATE_FAILED`
      or `JOB_STATE_CANCELLED`.
    jobSpec: Required. Job spec.
    labels: The labels with user-defined metadata to organize CustomJobs.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    name: Output only. Resource name of a CustomJob.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    startTime: Output only. Time when the CustomJob for the first time entered
      the `JOB_STATE_RUNNING` state.
    state: Output only. The detailed state of the job.
    updateTime: Output only. Time when the CustomJob was most recently
      updated.
    webAccessUris: Output only. URIs for accessing [interactive
      shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
      interactive-shell) (one URI for each training node). Only available if
      job_spec.enable_web_access is `true`. The keys are names of each node in
      the training job; for example, `workerpool0-0` for the primary node,
      `workerpool1-0` for the first node in the second worker pool, and
      `workerpool1-1` for the second node in the second worker pool. The
      values are the URIs for each node's interactive shell.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize CustomJobs. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels.

    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 WebAccessUrisValue(_messages.Message):
    r"""Output only. URIs for accessing [interactive
    shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
    interactive-shell) (one URI for each training node). Only available if
    job_spec.enable_web_access is `true`. The keys are names of each node in
    the training job; for example, `workerpool0-0` for the primary node,
    `workerpool1-0` for the first node in the second worker pool, and
    `workerpool1-1` for the second node in the second worker pool. The values
    are the URIs for each node's interactive shell.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a WebAccessUrisValue 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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 3)
  endTime = _messages.StringField(4)
  error = _messages.MessageField('GoogleRpcStatus', 5)
  jobSpec = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  name = _messages.StringField(8)
  satisfiesPzi = _messages.BooleanField(9)
  satisfiesPzs = _messages.BooleanField(10)
  startTime = _messages.StringField(11)
  state = _messages.EnumField('StateValueValuesEnum', 12)
  updateTime = _messages.StringField(13)
  webAccessUris = _messages.MessageField('WebAccessUrisValue', 14)


class GoogleCloudAiplatformV1CustomJobSpec(_messages.Message):
  r"""Represents the spec of a CustomJob.

  Fields:
    baseOutputDirectory: The Cloud Storage location to store the output of
      this CustomJob or HyperparameterTuningJob. For HyperparameterTuningJob,
      the baseOutputDirectory of each child CustomJob backing a Trial is set
      to a subdirectory of name id under its parent HyperparameterTuningJob's
      baseOutputDirectory. The following Vertex AI environment variables will
      be passed to containers or python modules when this field is set: For
      CustomJob: * AIP_MODEL_DIR = `/model/` * AIP_CHECKPOINT_DIR =
      `/checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob
      backing a Trial of HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/`
      * AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR =
      `//logs/`
    enableDashboardAccess: Optional. Whether you want Vertex AI to enable
      access to the customized dashboard in training chief container. If set
      to `true`, you can access the dashboard at the URIs given by
      CustomJob.web_access_uris or Trial.web_access_uris (within
      HyperparameterTuningJob.trials).
    enableWebAccess: Optional. Whether you want Vertex AI to enable
      [interactive shell access](https://cloud.google.com/vertex-
      ai/docs/training/monitor-debug-interactive-shell) to training
      containers. If set to `true`, you can access interactive shells at the
      URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within
      HyperparameterTuningJob.trials).
    experiment: Optional. The Experiment associated with this job. Format: `pr
      ojects/{project}/locations/{location}/metadataStores/{metadataStores}/co
      ntexts/{experiment-name}`
    experimentRun: Optional. The Experiment Run associated with this job.
      Format: `projects/{project}/locations/{location}/metadataStores/{metadat
      aStores}/contexts/{experiment-name}-{experiment-run-name}`
    models: Optional. The name of the Model resources for which to generate a
      mapping to artifact URIs. Applicable only to some of the Google-provided
      custom jobs. Format:
      `projects/{project}/locations/{location}/models/{model}` In order to
      retrieve a specific version of the model, also provide the version ID or
      version alias. Example:
      `projects/{project}/locations/{location}/models/{model}@2` or
      `projects/{project}/locations/{location}/models/{model}@golden` If no
      version ID or alias is specified, the "default" version will be
      returned. The "default" version alias is created for the first version
      of the model, and can be moved to other versions later on. There will be
      exactly one default version.
    network: Optional. The full name of the Compute Engine
      [network](/compute/docs/networks-and-firewalls#networks) to which the
      Job should be peered. For example,
      `projects/12345/global/networks/myVPC`.
      [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form
      `projects/{project}/global/networks/{network}`. Where {project} is a
      project number, as in `12345`, and {network} is a network name. To
      specify this field, you must have already [configured VPC Network
      Peering for Vertex AI](https://cloud.google.com/vertex-
      ai/docs/general/vpc-peering). If this field is left unspecified, the job
      is not peered with any network.
    persistentResourceId: Optional. The ID of the PersistentResource in the
      same Project and Location which to run If this is specified, the job
      will be run on existing machines held by the PersistentResource instead
      of on-demand short-live machines. The network and CMEK configs on the
      job should be consistent with those on the PersistentResource,
      otherwise, the job will be rejected.
    protectedArtifactLocationId: The ID of the location to store protected
      artifacts. e.g. us-central1. Populate only when the location is
      different than CustomJob location. List of supported locations:
      https://cloud.google.com/vertex-ai/docs/general/locations
    pscInterfaceConfig: Optional. Configuration for PSC-I for CustomJob.
    reservedIpRanges: Optional. A list of names for the reserved ip ranges
      under the VPC network that can be used for this job. If set, we will
      deploy the job within the provided ip ranges. Otherwise, the job will be
      deployed to any ip ranges under the provided VPC network. Example:
      ['vertex-ai-ip-range'].
    scheduling: Scheduling options for a CustomJob.
    serviceAccount: Specifies the service account for workload run-as account.
      Users submitting jobs must have act-as permission on this run-as
      account. If unspecified, the [Vertex AI Custom Code Service
      Agent](https://cloud.google.com/vertex-ai/docs/general/access-
      control#service-agents) for the CustomJob's project is used.
    tensorboard: Optional. The name of a Vertex AI Tensorboard resource to
      which this CustomJob will upload Tensorboard logs. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
    workerPoolSpecs: Required. The spec of the worker pools including machine
      type and Docker image. All worker pools except the first one are
      optional and can be skipped by providing an empty value.
  """

  baseOutputDirectory = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)
  enableDashboardAccess = _messages.BooleanField(2)
  enableWebAccess = _messages.BooleanField(3)
  experiment = _messages.StringField(4)
  experimentRun = _messages.StringField(5)
  models = _messages.StringField(6, repeated=True)
  network = _messages.StringField(7)
  persistentResourceId = _messages.StringField(8)
  protectedArtifactLocationId = _messages.StringField(9)
  pscInterfaceConfig = _messages.MessageField('GoogleCloudAiplatformV1PscInterfaceConfig', 10)
  reservedIpRanges = _messages.StringField(11, repeated=True)
  scheduling = _messages.MessageField('GoogleCloudAiplatformV1Scheduling', 12)
  serviceAccount = _messages.StringField(13)
  tensorboard = _messages.StringField(14)
  workerPoolSpecs = _messages.MessageField('GoogleCloudAiplatformV1WorkerPoolSpec', 15, repeated=True)


class GoogleCloudAiplatformV1CustomOutput(_messages.Message):
  r"""Spec for custom output.

  Fields:
    rawOutputs: Output only. List of raw output strings.
  """

  rawOutputs = _messages.MessageField('GoogleCloudAiplatformV1RawOutput', 1)


class GoogleCloudAiplatformV1CustomOutputFormatConfig(_messages.Message):
  r"""Spec for custom output format configuration.

  Fields:
    returnRawOutput: Optional. Whether to return raw output.
  """

  returnRawOutput = _messages.BooleanField(1)


class GoogleCloudAiplatformV1DataItem(_messages.Message):
  r"""A piece of data in a Dataset. Could be an image, a video, a document or
  plain text.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your DataItems. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more
      information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Timestamp when this DataItem was created.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      DataItems. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more
      information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Output only. The resource name of the DataItem.
    payload: Required. The data that the DataItem represents (for example, an
      image or a text snippet). The schema of the payload is stored in the
      parent Dataset's metadata schema's dataItemSchemaUri field.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this DataItem was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    DataItems. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    No more than 64 user labels can be associated with one DataItem(System
    labels are excluded). See https://goo.gl/xmQnxf for more information and
    examples of labels. System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  createTime = _messages.StringField(1)
  etag = _messages.StringField(2)
  labels = _messages.MessageField('LabelsValue', 3)
  name = _messages.StringField(4)
  payload = _messages.MessageField('extra_types.JsonValue', 5)
  satisfiesPzi = _messages.BooleanField(6)
  satisfiesPzs = _messages.BooleanField(7)
  updateTime = _messages.StringField(8)


class GoogleCloudAiplatformV1DataItemView(_messages.Message):
  r"""A container for a single DataItem and Annotations on it.

  Fields:
    annotations: The Annotations on the DataItem. If too many Annotations
      should be returned for the DataItem, this field will be truncated per
      annotations_limit in request. If it was, then the
      has_truncated_annotations will be set to true.
    dataItem: The DataItem.
    hasTruncatedAnnotations: True if and only if the Annotations field has
      been truncated. It happens if more Annotations for this DataItem met the
      request's annotation_filter than are allowed to be returned by
      annotations_limit. Note that if Annotations field is not being returned
      due to field mask, then this field will not be set to true no matter how
      many Annotations are there.
  """

  annotations = _messages.MessageField('GoogleCloudAiplatformV1Annotation', 1, repeated=True)
  dataItem = _messages.MessageField('GoogleCloudAiplatformV1DataItem', 2)
  hasTruncatedAnnotations = _messages.BooleanField(3)


class GoogleCloudAiplatformV1Dataset(_messages.Message):
  r"""A collection of DataItems and Annotations on them.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Datasets. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one Dataset
      (System labels are excluded). See https://goo.gl/xmQnxf for more
      information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable. Following
      system labels exist for each Dataset: *
      "aiplatform.googleapis.com/dataset_metadata_schema": output only, its
      value is the metadata_schema's title.

  Fields:
    createTime: Output only. Timestamp when this Dataset was created.
    dataItemCount: Output only. The number of DataItems in this Dataset. Only
      apply for non-structured Dataset.
    description: The description of the Dataset.
    displayName: Required. The user-defined name of the Dataset. The name can
      be up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Customer-managed encryption key spec for a Dataset. If
      set, this Dataset and all sub-resources of this Dataset will be secured
      by this key.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your Datasets.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Dataset (System labels
      are excluded). See https://goo.gl/xmQnxf for more information and
      examples of labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable. Following system labels
      exist for each Dataset: *
      "aiplatform.googleapis.com/dataset_metadata_schema": output only, its
      value is the metadata_schema's title.
    metadata: Required. Additional information about the Dataset.
    metadataArtifact: Output only. The resource name of the Artifact that was
      created in MetadataStore when creating the Dataset. The Artifact
      resource name pattern is `projects/{project}/locations/{location}/metada
      taStores/{metadata_store}/artifacts/{artifact}`.
    metadataSchemaUri: Required. Points to a YAML file stored on Google Cloud
      Storage describing additional information about the Dataset. The schema
      is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can
      be used here are found in gs://google-cloud-
      aiplatform/schema/dataset/metadata/.
    modelReference: Optional. Reference to the public base model last used by
      the dataset. Only set for prompt datasets.
    name: Output only. Identifier. The resource name of the Dataset. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    savedQueries: All SavedQueries belong to the Dataset will be returned in
      List/Get Dataset response. The annotation_specs field will not be
      populated except for UI cases which will only use annotation_spec_count.
      In CreateDataset request, a SavedQuery is created together if this field
      is set, up to one SavedQuery can be set in CreateDatasetRequest. The
      SavedQuery should not contain any AnnotationSpec.
    updateTime: Output only. Timestamp when this Dataset was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Datasets. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. No more than 64 user labels
    can be associated with one Dataset (System labels are excluded). See
    https://goo.gl/xmQnxf for more information and examples of labels. System
    reserved label keys are prefixed with "aiplatform.googleapis.com/" and are
    immutable. Following system labels exist for each Dataset: *
    "aiplatform.googleapis.com/dataset_metadata_schema": output only, its
    value is the metadata_schema's title.

    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)

  createTime = _messages.StringField(1)
  dataItemCount = _messages.IntegerField(2)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  etag = _messages.StringField(6)
  labels = _messages.MessageField('LabelsValue', 7)
  metadata = _messages.MessageField('extra_types.JsonValue', 8)
  metadataArtifact = _messages.StringField(9)
  metadataSchemaUri = _messages.StringField(10)
  modelReference = _messages.StringField(11)
  name = _messages.StringField(12)
  satisfiesPzi = _messages.BooleanField(13)
  satisfiesPzs = _messages.BooleanField(14)
  savedQueries = _messages.MessageField('GoogleCloudAiplatformV1SavedQuery', 15, repeated=True)
  updateTime = _messages.StringField(16)


class GoogleCloudAiplatformV1DatasetVersion(_messages.Message):
  r"""Describes the dataset version.

  Fields:
    bigQueryDatasetName: Output only. Name of the associated BigQuery dataset.
    createTime: Output only. Timestamp when this DatasetVersion was created.
    displayName: The user-defined name of the DatasetVersion. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    metadata: Required. Output only. Additional information about the
      DatasetVersion.
    modelReference: Output only. Reference to the public base model last used
      by the dataset version. Only set for prompt dataset versions.
    name: Output only. Identifier. The resource name of the DatasetVersion.
      Format: `projects/{project}/locations/{location}/datasets/{dataset}/data
      setVersions/{dataset_version}`
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this DatasetVersion was last
      updated.
  """

  bigQueryDatasetName = _messages.StringField(1)
  createTime = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  metadata = _messages.MessageField('extra_types.JsonValue', 5)
  modelReference = _messages.StringField(6)
  name = _messages.StringField(7)
  satisfiesPzi = _messages.BooleanField(8)
  satisfiesPzs = _messages.BooleanField(9)
  updateTime = _messages.StringField(10)


class GoogleCloudAiplatformV1DedicatedResources(_messages.Message):
  r"""A description of resources that are dedicated to a DeployedModel or
  DeployedIndex, and that need a higher degree of manual configuration.

  Fields:
    autoscalingMetricSpecs: Immutable. The metric specifications that
      overrides a resource utilization metric (CPU utilization, accelerator's
      duty cycle, and so on) target value (default to 60 if not set). At most
      one entry is allowed per metric. If machine_spec.accelerator_count is
      above 0, the autoscaling will be based on both CPU utilization and
      accelerator's duty cycle metrics and scale up when either metrics
      exceeds its target value while scale down if both metrics are under
      their target value. The default target value is 60 for both metrics. If
      machine_spec.accelerator_count is 0, the autoscaling will be based on
      CPU utilization metric only with default target value 60 if not
      explicitly set. For example, in the case of Online Prediction, if you
      want to override target CPU utilization to 80, you should set
      autoscaling_metric_specs.metric_name to
      `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
      autoscaling_metric_specs.target to `80`.
    machineSpec: Required. Immutable. The specification of a single machine
      being used.
    maxReplicaCount: Immutable. The maximum number of replicas that may be
      deployed on when the traffic against it increases. If the requested
      value is too large, the deployment will error, but if deployment
      succeeds then the ability to scale to that many replicas is guaranteed
      (barring service outages). If traffic increases beyond what its replicas
      at maximum may handle, a portion of the traffic will be dropped. If this
      value is not provided, will use min_replica_count as the default value.
      The value of this field impacts the charge against Agent Platform CPU
      and GPU quotas. Specifically, you will be charged for (max_replica_count
      * number of cores in the selected machine type) and (max_replica_count *
      number of GPUs per replica in the selected machine type).
    minReplicaCount: Required. Immutable. The minimum number of machine
      replicas that will be always deployed on. This value must be greater
      than or equal to 1. If traffic increases, it may dynamically be deployed
      onto more replicas, and as traffic decreases, some of these extra
      replicas may be freed.
    requiredReplicaCount: Optional. Number of required available replicas for
      the deployment to succeed. This field is only needed when partial
      deployment/mutation is desired. If set, the deploy/mutate operation will
      succeed once available_replica_count reaches required_replica_count, and
      the rest of the replicas will be retried. If not set, the default
      required_replica_count will be min_replica_count.
    spot: Optional. If true, schedule the deployment workload on [spot
      VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).
  """

  autoscalingMetricSpecs = _messages.MessageField('GoogleCloudAiplatformV1AutoscalingMetricSpec', 1, repeated=True)
  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 2)
  maxReplicaCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  minReplicaCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  requiredReplicaCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  spot = _messages.BooleanField(6)


class GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata(_messages.Message):
  r"""Details of operations that delete Feature values.

  Fields:
    genericMetadata: Operation metadata for Featurestore delete Features
      values.
  """

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


class GoogleCloudAiplatformV1DeleteFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreService.DeleteFeatureValues.

  Fields:
    selectEntity: Select feature values to be deleted by specifying entities.
    selectTimeRangeAndFeature: Select feature values to be deleted by
      specifying time range and features.
  """

  selectEntity = _messages.MessageField('GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity', 1)
  selectTimeRangeAndFeature = _messages.MessageField('GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature', 2)


class GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity(_messages.Message):
  r"""Message to select entity. If an entity id is selected, all the feature
  values corresponding to the entity id will be deleted, including the
  entityId.

  Fields:
    entityIdSelector: Required. Selectors choosing feature values of which
      entity id to be deleted from the EntityType.
  """

  entityIdSelector = _messages.MessageField('GoogleCloudAiplatformV1EntityIdSelector', 1)


class GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature(_messages.Message):
  r"""Message to select time range and feature. Values of the selected feature
  generated within an inclusive time range will be deleted. Using this option
  permanently deletes the feature values from the specified feature IDs within
  the specified time range. This might include data from the online storage.
  If you want to retain any deleted historical data in the online storage, you
  must re-ingest it.

  Fields:
    featureSelector: Required. Selectors choosing which feature values to be
      deleted from the EntityType.
    skipOnlineStorageDelete: If set, data will not be deleted from online
      storage. When time range is older than the data in online storage,
      setting this to be true will make the deletion have no impact on online
      serving.
    timeRange: Required. Select feature generated within a half-inclusive time
      range. The time range is lower inclusive and upper exclusive.
  """

  featureSelector = _messages.MessageField('GoogleCloudAiplatformV1FeatureSelector', 1)
  skipOnlineStorageDelete = _messages.BooleanField(2)
  timeRange = _messages.MessageField('GoogleTypeInterval', 3)


class GoogleCloudAiplatformV1DeleteFeatureValuesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.DeleteFeatureValues.

  Fields:
    selectEntity: Response for request specifying the entities to delete
    selectTimeRangeAndFeature: Response for request specifying time range and
      feature
  """

  selectEntity = _messages.MessageField('GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity', 1)
  selectTimeRangeAndFeature = _messages.MessageField('GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature', 2)


class GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity(_messages.Message):
  r"""Response message if the request uses the SelectEntity option.

  Fields:
    offlineStorageDeletedEntityRowCount: The count of deleted entity rows in
      the offline storage. Each row corresponds to the combination of an
      entity ID and a timestamp. One entity ID can have multiple rows in the
      offline storage.
    onlineStorageDeletedEntityCount: The count of deleted entities in the
      online storage. Each entity ID corresponds to one entity.
  """

  offlineStorageDeletedEntityRowCount = _messages.IntegerField(1)
  onlineStorageDeletedEntityCount = _messages.IntegerField(2)


class GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature(_messages.Message):
  r"""Response message if the request uses the SelectTimeRangeAndFeature
  option.

  Fields:
    impactedFeatureCount: The count of the features or columns impacted. This
      is the same as the feature count in the request.
    offlineStorageModifiedEntityRowCount: The count of modified entity rows in
      the offline storage. Each row corresponds to the combination of an
      entity ID and a timestamp. One entity ID can have multiple rows in the
      offline storage. Within each row, only the features specified in the
      request are deleted.
    onlineStorageModifiedEntityCount: The count of modified entities in the
      online storage. Each entity ID corresponds to one entity. Within each
      entity, only the features specified in the request are deleted.
  """

  impactedFeatureCount = _messages.IntegerField(1)
  offlineStorageModifiedEntityRowCount = _messages.IntegerField(2)
  onlineStorageModifiedEntityCount = _messages.IntegerField(3)


class GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform MetadataService.DeleteMetadataStore.

  Fields:
    genericMetadata: Operation metadata for deleting a MetadataStore.
  """

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


class GoogleCloudAiplatformV1DeleteOperationMetadata(_messages.Message):
  r"""Details of operations that perform deletes of any entities.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

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


class GoogleCloudAiplatformV1DeployIndexOperationMetadata(_messages.Message):
  r"""Runtime operation information for IndexEndpointService.DeployIndex.

  Fields:
    deployedIndexId: The unique index id specified by user
    genericMetadata: The operation generic information.
  """

  deployedIndexId = _messages.StringField(1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1DeployIndexRequest(_messages.Message):
  r"""Request message for IndexEndpointService.DeployIndex.

  Fields:
    deployedIndex: Required. The DeployedIndex to be created within the
      IndexEndpoint.
  """

  deployedIndex = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndex', 1)


class GoogleCloudAiplatformV1DeployIndexResponse(_messages.Message):
  r"""Response message for IndexEndpointService.DeployIndex.

  Fields:
    deployedIndex: The DeployedIndex that had been deployed in the
      IndexEndpoint.
  """

  deployedIndex = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndex', 1)


class GoogleCloudAiplatformV1DeployModelOperationMetadata(_messages.Message):
  r"""Runtime operation information for EndpointService.DeployModel.

  Enums:
    DeploymentStageValueValuesEnum: Output only. The deployment stage of the
      model.

  Fields:
    deploymentStage: Output only. The deployment stage of the model.
    genericMetadata: The operation generic information.
  """

  class DeploymentStageValueValuesEnum(_messages.Enum):
    r"""Output only. The deployment stage of the model.

    Values:
      DEPLOYMENT_STAGE_UNSPECIFIED: Default value. This value is unused.
      STARTING_DEPLOYMENT: The deployment is initializing and setting up the
        environment.
      PREPARING_MODEL: The deployment is preparing the model assets.
      CREATING_SERVING_CLUSTER: The deployment is creating the underlying
        serving cluster.
      ADDING_NODES_TO_CLUSTER: The deployment is adding nodes to the serving
        cluster.
      GETTING_CONTAINER_IMAGE: The deployment is getting the container image
        for the model server.
      STARTING_MODEL_SERVER: The deployment is starting the model server.
      FINISHING_UP: The deployment is performing finalization steps.
      DEPLOYMENT_TERMINATED: The deployment has terminated.
      SUCCESSFULLY_DEPLOYED: The deployment has succeeded.
      FAILED_TO_DEPLOY: The deployment has failed.
    """
    DEPLOYMENT_STAGE_UNSPECIFIED = 0
    STARTING_DEPLOYMENT = 1
    PREPARING_MODEL = 2
    CREATING_SERVING_CLUSTER = 3
    ADDING_NODES_TO_CLUSTER = 4
    GETTING_CONTAINER_IMAGE = 5
    STARTING_MODEL_SERVER = 6
    FINISHING_UP = 7
    DEPLOYMENT_TERMINATED = 8
    SUCCESSFULLY_DEPLOYED = 9
    FAILED_TO_DEPLOY = 10

  deploymentStage = _messages.EnumField('DeploymentStageValueValuesEnum', 1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1DeployModelRequest(_messages.Message):
  r"""Request message for EndpointService.DeployModel.

  Messages:
    TrafficSplitValue: A map from a DeployedModel's ID to the percentage of
      this Endpoint's traffic that should be forwarded to that DeployedModel.
      If this field is non-empty, then the Endpoint's traffic_split will be
      overwritten with it. To refer to the ID of the just being deployed
      Model, a "0" should be used, and the actual ID of the new DeployedModel
      will be filled in its place by this method. The traffic percentage
      values must add up to 100. If this field is empty, then the Endpoint's
      traffic_split is not updated.

  Fields:
    deployedModel: Required. The DeployedModel to be created within the
      Endpoint. Note that Endpoint.traffic_split must be updated for the
      DeployedModel to start receiving traffic, either as part of this call,
      or via EndpointService.UpdateEndpoint.
    trafficSplit: A map from a DeployedModel's ID to the percentage of this
      Endpoint's traffic that should be forwarded to that DeployedModel. If
      this field is non-empty, then the Endpoint's traffic_split will be
      overwritten with it. To refer to the ID of the just being deployed
      Model, a "0" should be used, and the actual ID of the new DeployedModel
      will be filled in its place by this method. The traffic percentage
      values must add up to 100. If this field is empty, then the Endpoint's
      traffic_split is not updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class TrafficSplitValue(_messages.Message):
    r"""A map from a DeployedModel's ID to the percentage of this Endpoint's
    traffic that should be forwarded to that DeployedModel. If this field is
    non-empty, then the Endpoint's traffic_split will be overwritten with it.
    To refer to the ID of the just being deployed Model, a "0" should be used,
    and the actual ID of the new DeployedModel will be filled in its place by
    this method. The traffic percentage values must add up to 100. If this
    field is empty, then the Endpoint's traffic_split is not updated.

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

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

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

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

      key = _messages.StringField(1)
      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)

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

  deployedModel = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 1)
  trafficSplit = _messages.MessageField('TrafficSplitValue', 2)


class GoogleCloudAiplatformV1DeployModelResponse(_messages.Message):
  r"""Response message for EndpointService.DeployModel.

  Fields:
    deployedModel: The DeployedModel that had been deployed in the Endpoint.
  """

  deployedModel = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 1)


class GoogleCloudAiplatformV1DeployOperationMetadata(_messages.Message):
  r"""Runtime operation information for ModelGardenService.Deploy.

  Fields:
    destination: Output only. The resource name of the Location to deploy the
      model in. Format: `projects/{project}/locations/{location}`
    genericMetadata: The operation generic information.
    modelId: Output only. The model id to be used at query time.
    projectNumber: Output only. The project number where the deploy model
      request is sent.
    publisherModel: Output only. The name of the model resource.
  """

  destination = _messages.StringField(1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)
  modelId = _messages.StringField(3)
  projectNumber = _messages.IntegerField(4)
  publisherModel = _messages.StringField(5)


class GoogleCloudAiplatformV1DeployRequest(_messages.Message):
  r"""Request message for ModelGardenService.Deploy.

  Fields:
    deployConfig: Optional. The deploy config to use for the deployment. If
      not specified, the default deploy config will be used.
    endpointConfig: Optional. The endpoint config to use for the deployment.
      If not specified, the default endpoint config will be used.
    huggingFaceModelId: The Hugging Face model to deploy. Format: Hugging Face
      model ID like `google/gemma-2-2b-it`.
    modelConfig: Optional. The model config to use for the deployment. If not
      specified, the default model config will be used.
    publisherModelName: The Model Garden model to deploy. Format:
      `publishers/{publisher}/models/{publisher_model}@{version_id}`, or
      `publishers/hf-{hugging-face-author}/models/{hugging-face-model-
      name}@001`.
  """

  deployConfig = _messages.MessageField('GoogleCloudAiplatformV1DeployRequestDeployConfig', 1)
  endpointConfig = _messages.MessageField('GoogleCloudAiplatformV1DeployRequestEndpointConfig', 2)
  huggingFaceModelId = _messages.StringField(3)
  modelConfig = _messages.MessageField('GoogleCloudAiplatformV1DeployRequestModelConfig', 4)
  publisherModelName = _messages.StringField(5)


class GoogleCloudAiplatformV1DeployRequestDeployConfig(_messages.Message):
  r"""The deploy config to use for the deployment.

  Messages:
    SystemLabelsValue: Optional. System labels for Model Garden deployments.
      These labels are managed by Google and for tracking purposes only.

  Fields:
    dedicatedResources: Optional. The dedicated resources to use for the
      endpoint. If not set, the default resources will be used.
    fastTryoutEnabled: Optional. If true, enable the QMT fast tryout feature
      for this model if possible.
    systemLabels: Optional. System labels for Model Garden deployments. These
      labels are managed by Google and for tracking purposes only.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SystemLabelsValue(_messages.Message):
    r"""Optional. System labels for Model Garden deployments. These labels are
    managed by Google and for tracking purposes only.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SystemLabelsValue 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)

  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1DedicatedResources', 1)
  fastTryoutEnabled = _messages.BooleanField(2)
  systemLabels = _messages.MessageField('SystemLabelsValue', 3)


class GoogleCloudAiplatformV1DeployRequestEndpointConfig(_messages.Message):
  r"""The endpoint config to use for the deployment.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your Endpoints. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    dedicatedEndpointDisabled: Optional. By default, if dedicated endpoint is
      enabled and private service connect config is not set, the endpoint will
      be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. If
      private service connect config is set, the endpoint will be exposed
      through private service connect. Your request to the dedicated DNS will
      be isolated from other users' traffic and will have better performance
      and reliability. Note: Once you enabled dedicated endpoint, you won't be
      able to send request to the shared DNS
      {region}-aiplatform.googleapis.com. The limitations will be removed
      soon. If this field is set to true, the dedicated endpoint will be
      disabled and the deployed model will be exposed through the shared DNS
      {region}-aiplatform.googleapis.com.
    dedicatedEndpointEnabled: Optional. Deprecated. Use
      dedicated_endpoint_disabled instead. If true, the endpoint will be
      exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your
      request to the dedicated DNS will be isolated from other users' traffic
      and will have better performance and reliability. Note: Once you enabled
      dedicated endpoint, you won't be able to send request to the shared DNS
      {region}-aiplatform.googleapis.com. The limitations will be removed
      soon.
    endpointDisplayName: Optional. The user-specified display name of the
      endpoint. If not set, a default name will be used.
    endpointUserId: Optional. Immutable. The ID to use for endpoint, which
      will become the final component of the endpoint resource name. If not
      provided, Vertex AI will generate a value for this ID. If the first
      character is a letter, this value may be up to 63 characters, and valid
      characters are `[a-z0-9-]`. The last character must be a letter or
      number. If the first character is a number, this value may be up to 9
      characters, and valid characters are `[0-9]` with no leading zeros. When
      using HTTP/JSON, this field is populated based on a query string
      argument, such as `?endpoint_id=12345`. This is the fallback for fields
      that are not included in either the URI or the body.
    labels: Optional. The labels with user-defined metadata to organize your
      Endpoints. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    privateServiceConnectConfig: Optional. Configuration for private service
      connect. If set, the endpoint will be exposed through private service
      connect.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    Endpoints. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information and examples of labels.

    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)

  dedicatedEndpointDisabled = _messages.BooleanField(1)
  dedicatedEndpointEnabled = _messages.BooleanField(2)
  endpointDisplayName = _messages.StringField(3)
  endpointUserId = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  privateServiceConnectConfig = _messages.MessageField('GoogleCloudAiplatformV1PrivateServiceConnectConfig', 6)


class GoogleCloudAiplatformV1DeployRequestModelConfig(_messages.Message):
  r"""The model config to use for the deployment.

  Fields:
    acceptEula: Optional. Whether the user accepts the End User License
      Agreement (EULA) for the model.
    containerSpec: Optional. The specification of the container that is to be
      used when deploying. If not set, the default container spec will be
      used.
    huggingFaceAccessToken: Optional. The Hugging Face read access token used
      to access the model artifacts of gated models.
    huggingFaceCacheEnabled: Optional. If true, the model will deploy with a
      cached version instead of directly downloading the model artifacts from
      Hugging Face. This is suitable for VPC-SC users with limited internet
      access.
    modelDisplayName: Optional. The user-specified display name of the
      uploaded model. If not set, a default name will be used.
    modelUserId: Optional. The ID to use for the uploaded Model, which will
      become the final component of the model resource name. When not
      provided, Vertex AI will generate a value for this ID. When Model
      Registry model is provided, this field will be ignored. This value may
      be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first
      character cannot be a number or hyphen.
  """

  acceptEula = _messages.BooleanField(1)
  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ModelContainerSpec', 2)
  huggingFaceAccessToken = _messages.StringField(3)
  huggingFaceCacheEnabled = _messages.BooleanField(4)
  modelDisplayName = _messages.StringField(5)
  modelUserId = _messages.StringField(6)


class GoogleCloudAiplatformV1DeployResponse(_messages.Message):
  r"""Response message for ModelGardenService.Deploy.

  Fields:
    endpoint: Output only. The name of the Endpoint created. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    model: Output only. The name of the Model created. Format:
      `projects/{project}/locations/{location}/models/{model}`
    publisherModel: Output only. The name of the PublisherModel resource.
      Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`,
      or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-
      name}@001`
  """

  endpoint = _messages.StringField(1)
  model = _messages.StringField(2)
  publisherModel = _messages.StringField(3)


class GoogleCloudAiplatformV1DeployedIndex(_messages.Message):
  r"""A deployment of an Index. IndexEndpoints contain one or more
  DeployedIndexes.

  Enums:
    DeploymentTierValueValuesEnum: Optional. The deployment tier that the
      index is deployed to. DEPLOYMENT_TIER_UNSPECIFIED will use a system-
      chosen default tier.

  Fields:
    automaticResources: Optional. A description of resources that the
      DeployedIndex uses, which to large degree are decided by Vertex AI, and
      optionally allows only a modest additional configuration. If
      min_replica_count is not set, the default value is 2 (we don't provide
      SLA when min_replica_count=1). If max_replica_count is not set, the
      default value is min_replica_count. The max allowed replica count is
      1000.
    createTime: Output only. Timestamp when the DeployedIndex was created.
    dedicatedResources: Optional. A description of resources that are
      dedicated to the DeployedIndex, and that need a higher degree of manual
      configuration. The field min_replica_count must be set to a value
      strictly greater than 0, or else validation will fail. We don't provide
      SLA when min_replica_count=1. If max_replica_count is not set, the
      default value is min_replica_count. The max allowed replica count is
      1000. Available machine types for SMALL shard: e2-standard-2 and all
      machine types available for MEDIUM and LARGE shard. Available machine
      types for MEDIUM shard: e2-standard-16 and all machine types available
      for LARGE shard. Available machine types for LARGE shard: e2-highmem-16,
      n2d-standard-32. n1-standard-16 and n1-standard-32 are still available,
      but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
    deployedIndexAuthConfig: Optional. If set, the authentication is enabled
      for the private endpoint.
    deploymentGroup: Optional. The deployment group can be no longer than 64
      characters (eg: 'test', 'prod'). If not set, we will use the 'default'
      deployment group. Creating `deployment_groups` with `reserved_ip_ranges`
      is a recommended practice when the peered network has multiple peering
      ranges. This creates your deployments from predictable IP spaces for
      easier traffic administration. Also, one deployment_group (except
      'default') can only be used with the same reserved_ip_ranges which means
      if the deployment_group has been used with reserved_ip_ranges: [a, b,
      c], using it with [a, b] or [d, e] is disallowed. Note: we only support
      up to 5 deployment groups(not including 'default').
    deploymentTier: Optional. The deployment tier that the index is deployed
      to. DEPLOYMENT_TIER_UNSPECIFIED will use a system-chosen default tier.
    displayName: The display name of the DeployedIndex. If not provided upon
      creation, the Index's display_name is used.
    enableAccessLogging: Optional. If true, private endpoint's access logs are
      sent to Cloud Logging. These logs are like standard server access logs,
      containing information like timestamp and latency for each MatchRequest.
      Note that logs may incur a cost, especially if the deployed index
      receives a high queries per second rate (QPS). Estimate your costs
      before enabling this option.
    enableDatapointUpsertLogging: Optional. If true, logs to Cloud Logging
      errors relating to datapoint upserts. Under normal operation conditions,
      these log entries should be very rare. However, if incompatible
      datapoint updates are being uploaded to an index, a high volume of log
      entries may be generated in a short period of time. Note that logs may
      incur a cost, especially if the deployed index receives a high volume of
      datapoint upserts. Estimate your costs before enabling this option.
    id: Required. The user specified ID of the DeployedIndex. The ID can be up
      to 128 characters long and must start with a letter and only contain
      letters, numbers, and underscores. The ID must be unique within the
      project it is created in.
    index: Required. The name of the Index this is the deployment of. We may
      refer to this Index as the DeployedIndex's "original" Index.
    indexSyncTime: Output only. The DeployedIndex may depend on various data
      on its original Index. Additionally when certain changes to the original
      Index are being done (e.g. when what the Index contains is being
      changed) the DeployedIndex may be asynchronously updated in the
      background to reflect these changes. If this timestamp's value is at
      least the Index.update_time of the original Index, it means that this
      DeployedIndex and the original Index are in sync. If this timestamp is
      older, then to see which updates this DeployedIndex already contains
      (and which it does not), one must list the operations that are running
      on the original Index. Only the successfully completed Operations with
      update_time equal or before this sync time are contained in this
      DeployedIndex.
    privateEndpoints: Output only. Provides paths for users to send requests
      directly to the deployed index services running on Cloud via private
      services access. This field is populated if network is configured.
    pscAutomationConfigs: Optional. If set for PSC deployed index, PSC
      connection will be automatically created after deployment is done and
      the endpoint information is populated in
      private_endpoints.psc_automated_endpoints.
    reservedIpRanges: Optional. A list of reserved ip ranges under the VPC
      network that can be used for this DeployedIndex. If set, we will deploy
      the index within the provided ip ranges. Otherwise, the index might be
      deployed to any ip ranges under the provided VPC network. The value
      should be the name of the address
      (https://cloud.google.com/compute/docs/reference/rest/v1/addresses)
      Example: ['vertex-ai-ip-range']. For more information about subnets and
      network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#
      manually_created_subnet_ip_ranges.
  """

  class DeploymentTierValueValuesEnum(_messages.Enum):
    r"""Optional. The deployment tier that the index is deployed to.
    DEPLOYMENT_TIER_UNSPECIFIED will use a system-chosen default tier.

    Values:
      DEPLOYMENT_TIER_UNSPECIFIED: Default deployment tier.
      STORAGE: Optimized for costs.
    """
    DEPLOYMENT_TIER_UNSPECIFIED = 0
    STORAGE = 1

  automaticResources = _messages.MessageField('GoogleCloudAiplatformV1AutomaticResources', 1)
  createTime = _messages.StringField(2)
  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1DedicatedResources', 3)
  deployedIndexAuthConfig = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndexAuthConfig', 4)
  deploymentGroup = _messages.StringField(5)
  deploymentTier = _messages.EnumField('DeploymentTierValueValuesEnum', 6)
  displayName = _messages.StringField(7)
  enableAccessLogging = _messages.BooleanField(8)
  enableDatapointUpsertLogging = _messages.BooleanField(9)
  id = _messages.StringField(10)
  index = _messages.StringField(11)
  indexSyncTime = _messages.StringField(12)
  privateEndpoints = _messages.MessageField('GoogleCloudAiplatformV1IndexPrivateEndpoints', 13)
  pscAutomationConfigs = _messages.MessageField('GoogleCloudAiplatformV1PSCAutomationConfig', 14, repeated=True)
  reservedIpRanges = _messages.StringField(15, repeated=True)


class GoogleCloudAiplatformV1DeployedIndexAuthConfig(_messages.Message):
  r"""Used to set up the auth on the DeployedIndex's private endpoint.

  Fields:
    authProvider: Defines the authentication provider that the DeployedIndex
      uses.
  """

  authProvider = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider', 1)


class GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider(_messages.Message):
  r"""Configuration for an authentication provider, including support for
  [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-
  web-token-32).

  Fields:
    allowedIssuers: A list of allowed JWT issuers. Each entry must be a valid
      Google service account, in the following format: `service-account-
      name@project-id.iam.gserviceaccount.com`
    audiences: The list of JWT [audiences](https://tools.ietf.org/html/draft-
      ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access.
      A JWT containing any of these audiences will be accepted.
  """

  allowedIssuers = _messages.StringField(1, repeated=True)
  audiences = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1DeployedIndexRef(_messages.Message):
  r"""Points to a DeployedIndex.

  Fields:
    deployedIndexId: Immutable. The ID of the DeployedIndex in the above
      IndexEndpoint.
    displayName: Output only. The display name of the DeployedIndex.
    indexEndpoint: Immutable. A resource name of the IndexEndpoint.
  """

  deployedIndexId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  indexEndpoint = _messages.StringField(3)


class GoogleCloudAiplatformV1DeployedModel(_messages.Message):
  r"""A deployment of a Model. Endpoints contain one or more DeployedModels.

  Messages:
    SystemLabelsValue: System labels to apply to Model Garden deployments.
      System labels are managed by Google for internal use only.

  Fields:
    automaticResources: A description of resources that to large degree are
      decided by Vertex AI, and require only a modest additional
      configuration.
    checkpointId: The checkpoint id of the model.
    createTime: Output only. Timestamp when the DeployedModel was created.
    dedicatedResources: A description of resources that are dedicated to the
      DeployedModel, and that need a higher degree of manual configuration.
    disableContainerLogging: For custom-trained Models and AutoML Tabular
      Models, the container of the DeployedModel instances will send `stderr`
      and `stdout` streams to Cloud Logging by default. Please note that the
      logs incur cost, which are subject to [Cloud Logging
      pricing](https://cloud.google.com/logging/pricing). User can disable
      container logging by setting this flag to true.
    disableExplanations: If true, deploy the model without explainable
      feature, regardless the existence of Model.explanation_spec or
      explanation_spec.
    displayName: The display name of the DeployedModel. If not provided upon
      creation, the Model's display_name is used.
    enableAccessLogging: If true, online prediction access logs are sent to
      Cloud Logging. These logs are like standard server access logs,
      containing information like timestamp and latency for each prediction
      request. Note that logs may incur a cost, especially if your project
      receives prediction requests at a high queries per second rate (QPS).
      Estimate your costs before enabling this option.
    explanationSpec: Explanation configuration for this DeployedModel. When
      deploying a Model using EndpointService.DeployModel, this value
      overrides the value of Model.explanation_spec. All fields of
      explanation_spec are optional in the request. If a field of
      explanation_spec is not populated, the value of the same field of
      Model.explanation_spec is inherited. If the corresponding
      Model.explanation_spec is not populated, all fields of the
      explanation_spec will be used for the explanation configuration.
    fasterDeploymentConfig: Configuration for faster model deployment.
    gdcConnectedModel: GDC pretrained / Gemini model name. The model name is a
      plain model name, e.g. gemini-1.5-flash-002.
    id: Immutable. The ID of the DeployedModel. If not provided upon
      deployment, Vertex AI will generate a value for this ID. This value
      should be 1-10 characters, and valid characters are `/[0-9]/`.
    model: The resource name of the Model that this is the deployment of. Note
      that the Model may be in a different location than the DeployedModel's
      Endpoint. The resource name may contain version id or version alias to
      specify the version. Example:
      `projects/{project}/locations/{location}/models/{model}@2` or
      `projects/{project}/locations/{location}/models/{model}@golden` if no
      version is specified, the default version will be deployed.
    modelVersionId: Output only. The version ID of the model that is deployed.
    privateEndpoints: Output only. Provide paths for users to send
      predict/explain/health requests directly to the deployed model services
      running on Cloud via private services access. This field is populated if
      network is configured.
    serviceAccount: The service account that the DeployedModel's container
      runs as. Specify the email address of the service account. If this
      service account is not specified, the container runs as a service
      account that doesn't have access to the resource project. Users
      deploying the Model must have the `iam.serviceAccounts.actAs` permission
      on this service account.
    sharedResources: The resource name of the shared DeploymentResourcePool to
      deploy on. Format: `projects/{project}/locations/{location}/deploymentRe
      sourcePools/{deployment_resource_pool}`
    speculativeDecodingSpec: Optional. Spec for configuring speculative
      decoding.
    status: Output only. Runtime status of the deployed model.
    systemLabels: System labels to apply to Model Garden deployments. System
      labels are managed by Google for internal use only.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SystemLabelsValue(_messages.Message):
    r"""System labels to apply to Model Garden deployments. System labels are
    managed by Google for internal use only.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SystemLabelsValue 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)

  automaticResources = _messages.MessageField('GoogleCloudAiplatformV1AutomaticResources', 1)
  checkpointId = _messages.StringField(2)
  createTime = _messages.StringField(3)
  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1DedicatedResources', 4)
  disableContainerLogging = _messages.BooleanField(5)
  disableExplanations = _messages.BooleanField(6)
  displayName = _messages.StringField(7)
  enableAccessLogging = _messages.BooleanField(8)
  explanationSpec = _messages.MessageField('GoogleCloudAiplatformV1ExplanationSpec', 9)
  fasterDeploymentConfig = _messages.MessageField('GoogleCloudAiplatformV1FasterDeploymentConfig', 10)
  gdcConnectedModel = _messages.StringField(11)
  id = _messages.StringField(12)
  model = _messages.StringField(13)
  modelVersionId = _messages.StringField(14)
  privateEndpoints = _messages.MessageField('GoogleCloudAiplatformV1PrivateEndpoints', 15)
  serviceAccount = _messages.StringField(16)
  sharedResources = _messages.StringField(17)
  speculativeDecodingSpec = _messages.MessageField('GoogleCloudAiplatformV1SpeculativeDecodingSpec', 18)
  status = _messages.MessageField('GoogleCloudAiplatformV1DeployedModelStatus', 19)
  systemLabels = _messages.MessageField('SystemLabelsValue', 20)


class GoogleCloudAiplatformV1DeployedModelRef(_messages.Message):
  r"""Points to a DeployedModel.

  Fields:
    checkpointId: Immutable. The ID of the Checkpoint deployed in the
      DeployedModel.
    deployedModelId: Immutable. An ID of a DeployedModel in the above
      Endpoint.
    endpoint: Immutable. A resource name of an Endpoint.
  """

  checkpointId = _messages.StringField(1)
  deployedModelId = _messages.StringField(2)
  endpoint = _messages.StringField(3)


class GoogleCloudAiplatformV1DeployedModelStatus(_messages.Message):
  r"""Runtime status of the deployed model.

  Fields:
    availableReplicaCount: Output only. The number of available replicas of
      the deployed model.
    lastUpdateTime: Output only. The time at which the status was last
      updated.
    message: Output only. The latest deployed model's status message (if any).
  """

  availableReplicaCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  lastUpdateTime = _messages.StringField(2)
  message = _messages.StringField(3)


class GoogleCloudAiplatformV1DeploymentResourcePool(_messages.Message):
  r"""A description of resources that can be shared by multiple
  DeployedModels, whose underlying specification consists of a
  DedicatedResources.

  Fields:
    createTime: Output only. Timestamp when this DeploymentResourcePool was
      created.
    dedicatedResources: Required. The underlying DedicatedResources that the
      DeploymentResourcePool uses.
    disableContainerLogging: If the DeploymentResourcePool is deployed with
      custom-trained Models or AutoML Tabular Models, the container(s) of the
      DeploymentResourcePool will send `stderr` and `stdout` streams to Cloud
      Logging by default. Please note that the logs incur cost, which are
      subject to [Cloud Logging
      pricing](https://cloud.google.com/logging/pricing). User can disable
      container logging by setting this flag to true.
    encryptionSpec: Customer-managed encryption key spec for a
      DeploymentResourcePool. If set, this DeploymentResourcePool will be
      secured by this key. Endpoints and the DeploymentResourcePool they
      deploy in need to have the same EncryptionSpec.
    name: Immutable. The resource name of the DeploymentResourcePool. Format:
      `projects/{project}/locations/{location}/deploymentResourcePools/{deploy
      ment_resource_pool}`
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    serviceAccount: The service account that the DeploymentResourcePool's
      container(s) run as. Specify the email address of the service account.
      If this service account is not specified, the container(s) run as a
      service account that doesn't have access to the resource project. Users
      deploying the Models to this DeploymentResourcePool must have the
      `iam.serviceAccounts.actAs` permission on this service account.
  """

  createTime = _messages.StringField(1)
  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1DedicatedResources', 2)
  disableContainerLogging = _messages.BooleanField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  name = _messages.StringField(5)
  satisfiesPzi = _messages.BooleanField(6)
  satisfiesPzs = _messages.BooleanField(7)
  serviceAccount = _messages.StringField(8)


class GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest(_messages.Message):
  r"""Request message for SemanticGovernancePolicyEngineService.DeprovisionSem
  anticGovernancePolicyEngine.
  """



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

  Fields:
    destinationField: Specify the field name in the export destination. If not
      specified, Feature ID is used.
    featureId: Required. The ID of the Feature to apply the setting to.
  """

  destinationField = _messages.StringField(1)
  featureId = _messages.StringField(2)


class GoogleCloudAiplatformV1DirectPredictRequest(_messages.Message):
  r"""Request message for PredictionService.DirectPredict.

  Fields:
    inputs: The prediction input.
    parameters: The parameters that govern the prediction.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 1, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 2)


class GoogleCloudAiplatformV1DirectPredictResponse(_messages.Message):
  r"""Response message for PredictionService.DirectPredict.

  Fields:
    outputs: The prediction output.
    parameters: The parameters that govern the prediction.
  """

  outputs = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 1, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 2)


class GoogleCloudAiplatformV1DirectRawPredictRequest(_messages.Message):
  r"""Request message for PredictionService.DirectRawPredict.

  Fields:
    input: The prediction input.
    methodName: Fully qualified name of the API method being invoked to
      perform predictions. Format: `/namespace.Service/Method/` Example:
      `/tensorflow.serving.PredictionService/Predict`
  """

  input = _messages.BytesField(1)
  methodName = _messages.StringField(2)


class GoogleCloudAiplatformV1DirectRawPredictResponse(_messages.Message):
  r"""Response message for PredictionService.DirectRawPredict.

  Fields:
    output: The prediction output.
  """

  output = _messages.BytesField(1)


class GoogleCloudAiplatformV1DirectUploadSource(_messages.Message):
  r"""The input content is encapsulated and uploaded in the request."""


class GoogleCloudAiplatformV1DiskSpec(_messages.Message):
  r"""Represents the spec of disk options.

  Fields:
    bootDiskSizeGb: Size in GB of the boot disk (default is 100GB).
    bootDiskType: Type of the boot disk. For non-A3U machines, the default
      value is "pd-ssd", for A3U machines, the default value is "hyperdisk-
      balanced". Valid values: "pd-ssd" (Persistent Disk Solid State Drive),
      "pd-standard" (Persistent Disk Hard Disk Drive) or "hyperdisk-balanced".
  """

  bootDiskSizeGb = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  bootDiskType = _messages.StringField(2)


class GoogleCloudAiplatformV1DnsPeeringConfig(_messages.Message):
  r"""DNS peering configuration. These configurations are used to create DNS
  peering zones in the Vertex tenant project VPC, enabling resolution of
  records within the specified domain hosted in the target network's Cloud
  DNS.

  Fields:
    domain: Required. The DNS name suffix of the zone being peered to, e.g.,
      "my-internal-domain.corp.". Must end with a dot.
    targetNetwork: Required. The VPC network name in the target_project where
      the DNS zone specified by 'domain' is visible.
    targetProject: Required. The project ID hosting the Cloud DNS managed zone
      that contains the 'domain'. The Vertex AI Service Agent requires the
      dns.peer role on this project.
  """

  domain = _messages.StringField(1)
  targetNetwork = _messages.StringField(2)
  targetProject = _messages.StringField(3)


class GoogleCloudAiplatformV1DoubleArray(_messages.Message):
  r"""A list of double values.

  Fields:
    values: A list of double values.
  """

  values = _messages.FloatField(1, repeated=True)


class GoogleCloudAiplatformV1DynamicRetrievalConfig(_messages.Message):
  r"""Describes the options to customize dynamic retrieval.

  Enums:
    ModeValueValuesEnum: The mode of the predictor to be used in dynamic
      retrieval.

  Fields:
    dynamicThreshold: Optional. The threshold to be used in dynamic retrieval.
      If not set, a system default value is used.
    mode: The mode of the predictor to be used in dynamic retrieval.
  """

  class ModeValueValuesEnum(_messages.Enum):
    r"""The mode of the predictor to be used in dynamic retrieval.

    Values:
      MODE_UNSPECIFIED: Always trigger retrieval.
      MODE_DYNAMIC: Run retrieval only when system decides it is necessary.
    """
    MODE_UNSPECIFIED = 0
    MODE_DYNAMIC = 1

  dynamicThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  mode = _messages.EnumField('ModeValueValuesEnum', 2)


class GoogleCloudAiplatformV1EmbedContentRequest(_messages.Message):
  r"""Request message for PredictionService.EmbedContent.

  Enums:
    TaskTypeValueValuesEnum: Optional. Deprecated: Please use
      EmbedContentConfig.task_type instead. The task type of the embedding.

  Fields:
    autoTruncate: Optional. Deprecated: Please use
      EmbedContentConfig.auto_truncate instead. Whether to silently truncate
      the input content if it's longer than the maximum sequence length.
    content: Required. The content to be embedded.
    embedContentConfig: Optional. Configuration for the EmbedContent request.
    outputDimensionality: Optional. Deprecated: Please use
      EmbedContentConfig.output_dimensionality instead. Reduced dimension for
      the output embedding. If set, excessive values in the output embedding
      are truncated from the end.
    taskType: Optional. Deprecated: Please use EmbedContentConfig.task_type
      instead. The task type of the embedding.
    title: Optional. Deprecated: Please use EmbedContentConfig.title instead.
      The title for the text.
  """

  class TaskTypeValueValuesEnum(_messages.Enum):
    r"""Optional. Deprecated: Please use EmbedContentConfig.task_type instead.
    The task type of the embedding.

    Values:
      UNSPECIFIED: Unset value, which will default to one of the other enum
        values.
      RETRIEVAL_QUERY: Specifies the given text is a query in a
        search/retrieval setting.
      RETRIEVAL_DOCUMENT: Specifies the given text is a document from the
        corpus being searched.
      SEMANTIC_SIMILARITY: Specifies the given text will be used for STS.
      CLASSIFICATION: Specifies that the given text will be classified.
      CLUSTERING: Specifies that the embeddings will be used for clustering.
      QUESTION_ANSWERING: Specifies that the embeddings will be used for
        question answering.
      FACT_VERIFICATION: Specifies that the embeddings will be used for fact
        verification.
      CODE_RETRIEVAL_QUERY: Specifies that the embeddings will be used for
        code retrieval.
    """
    UNSPECIFIED = 0
    RETRIEVAL_QUERY = 1
    RETRIEVAL_DOCUMENT = 2
    SEMANTIC_SIMILARITY = 3
    CLASSIFICATION = 4
    CLUSTERING = 5
    QUESTION_ANSWERING = 6
    FACT_VERIFICATION = 7
    CODE_RETRIEVAL_QUERY = 8

  autoTruncate = _messages.BooleanField(1)
  content = _messages.MessageField('GoogleCloudAiplatformV1Content', 2)
  embedContentConfig = _messages.MessageField('GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig', 3)
  outputDimensionality = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  taskType = _messages.EnumField('TaskTypeValueValuesEnum', 5)
  title = _messages.StringField(6)


class GoogleCloudAiplatformV1EmbedContentRequestEmbedContentConfig(_messages.Message):
  r"""Configurations for the EmbedContent API.

  Enums:
    TaskTypeValueValuesEnum: Optional. The task type of the embedding. Only
      applicable to text-only embedding models.

  Fields:
    audioTrackExtraction: Optional. Whether to extract audio from video
      content.
    autoTruncate: Optional. Whether to silently truncate the input content if
      it's longer than the maximum sequence length. Only applicable to text-
      only embedding models.
    documentOcr: Optional. Whether to enable OCR for document content.
    outputDimensionality: Optional. Reduced dimension for the output
      embedding. If set, excessive values in the output embedding are
      truncated from the end.
    taskType: Optional. The task type of the embedding. Only applicable to
      text-only embedding models.
    title: Optional. The title for the text. Only applicable to text-only
      embedding models.
  """

  class TaskTypeValueValuesEnum(_messages.Enum):
    r"""Optional. The task type of the embedding. Only applicable to text-only
    embedding models.

    Values:
      UNSPECIFIED: Unset value, which will default to one of the other enum
        values.
      RETRIEVAL_QUERY: Specifies the given text is a query in a
        search/retrieval setting.
      RETRIEVAL_DOCUMENT: Specifies the given text is a document from the
        corpus being searched.
      SEMANTIC_SIMILARITY: Specifies the given text will be used for STS.
      CLASSIFICATION: Specifies that the given text will be classified.
      CLUSTERING: Specifies that the embeddings will be used for clustering.
      QUESTION_ANSWERING: Specifies that the embeddings will be used for
        question answering.
      FACT_VERIFICATION: Specifies that the embeddings will be used for fact
        verification.
      CODE_RETRIEVAL_QUERY: Specifies that the embeddings will be used for
        code retrieval.
    """
    UNSPECIFIED = 0
    RETRIEVAL_QUERY = 1
    RETRIEVAL_DOCUMENT = 2
    SEMANTIC_SIMILARITY = 3
    CLASSIFICATION = 4
    CLUSTERING = 5
    QUESTION_ANSWERING = 6
    FACT_VERIFICATION = 7
    CODE_RETRIEVAL_QUERY = 8

  audioTrackExtraction = _messages.BooleanField(1)
  autoTruncate = _messages.BooleanField(2)
  documentOcr = _messages.BooleanField(3)
  outputDimensionality = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  taskType = _messages.EnumField('TaskTypeValueValuesEnum', 5)
  title = _messages.StringField(6)


class GoogleCloudAiplatformV1EmbedContentResponse(_messages.Message):
  r"""Response message for PredictionService.EmbedContent.

  Fields:
    embedding: The embedding generated from the input content.
    truncated: Whether the input content was truncated before generating the
      embedding.
    usageMetadata: Usage metadata about the response(s).
  """

  embedding = _messages.MessageField('GoogleCloudAiplatformV1EmbedContentResponseEmbedding', 1)
  truncated = _messages.BooleanField(2)
  usageMetadata = _messages.MessageField('GoogleCloudAiplatformV1UsageMetadata', 3)


class GoogleCloudAiplatformV1EmbedContentResponseEmbedding(_messages.Message):
  r"""A list of floats representing an embedding.

  Fields:
    values: Embedding vector values.
  """

  values = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1EncryptionSpec(_messages.Message):
  r"""Represents a customer-managed encryption key specification that can be
  applied to a Vertex AI resource.

  Fields:
    kmsKeyName: Required. Resource name of the Cloud KMS key used to protect
      the resource. The Cloud KMS key must be in the same region as the
      resource. It must have the format `projects/{project}/locations/{locatio
      n}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
  """

  kmsKeyName = _messages.StringField(1)


class GoogleCloudAiplatformV1Endpoint(_messages.Message):
  r"""Models are deployed into it, and afterwards Endpoint is called to obtain
  predictions and explanations.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Endpoints. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    TrafficSplitValue: A map from a DeployedModel's ID to the percentage of
      this Endpoint's traffic that should be forwarded to that DeployedModel.
      If a DeployedModel's ID is not listed in this map, then it receives no
      traffic. The traffic percentage values must add up to 100, or map must
      be empty if the Endpoint is to not accept any traffic at a moment.

  Fields:
    clientConnectionConfig: Configurations that are applied to the endpoint
      for online prediction.
    createTime: Output only. Timestamp when this Endpoint was created.
    dedicatedEndpointDns: Output only. DNS of the dedicated endpoint. Will
      only be populated if dedicated_endpoint_enabled is true. Depending on
      the features enabled, uid might be a random number or a string. For
      example, if fast_tryout is enabled, uid will be fasttryout. Format:
      `https://{endpoint_id}.{region}-{uid}.prediction.vertexai.goog`.
    dedicatedEndpointEnabled: If true, the endpoint will be exposed through a
      dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the
      dedicated DNS will be isolated from other users' traffic and will have
      better performance and reliability. Note: Once you enabled dedicated
      endpoint, you won't be able to send request to the shared DNS
      {region}-aiplatform.googleapis.com. The limitation will be removed soon.
    deployedModels: Output only. The models deployed in this Endpoint. To add
      or remove DeployedModels use EndpointService.DeployModel and
      EndpointService.UndeployModel respectively.
    description: The description of the Endpoint.
    displayName: Required. The display name of the Endpoint. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    enablePrivateServiceConnect: Deprecated: If true, expose the Endpoint via
      private service connect. Only one of the fields, network or
      enable_private_service_connect, can be set.
    encryptionSpec: Customer-managed encryption key spec for an Endpoint. If
      set, this Endpoint and all sub-resources of this Endpoint will be
      secured by this key.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    genAiAdvancedFeaturesConfig: Optional. Configuration for
      GenAiAdvancedFeatures. If the endpoint is serving GenAI models, advanced
      features like native RAG integration can be configured. Currently, only
      Model Garden models are supported.
    labels: The labels with user-defined metadata to organize your Endpoints.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    modelDeploymentMonitoringJob: Output only. Resource name of the Model
      Monitoring job associated with this Endpoint if monitoring is enabled by
      JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{projec
      t}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_
      monitoring_job}`
    name: Identifier. The resource name of the Endpoint.
    network: Optional. The full name of the Google Compute Engine
      [network](https://cloud.google.com//compute/docs/networks-and-
      firewalls#networks) to which the Endpoint should be peered. Private
      services access must already be configured for the network. If left
      unspecified, the Endpoint is not peered with any network. Only one of
      the fields, network or enable_private_service_connect, can be set. [Form
      at](https://cloud.google.com/compute/docs/reference/rest/v1/networks/ins
      ert): `projects/{project}/global/networks/{network}`. Where `{project}`
      is a project number, as in `12345`, and `{network}` is network name.
    predictRequestResponseLoggingConfig: Configures the request-response
      logging for online prediction.
    privateServiceConnectConfig: Optional. Configuration for private service
      connect. network and private_service_connect_config are mutually
      exclusive.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    trafficSplit: A map from a DeployedModel's ID to the percentage of this
      Endpoint's traffic that should be forwarded to that DeployedModel. If a
      DeployedModel's ID is not listed in this map, then it receives no
      traffic. The traffic percentage values must add up to 100, or map must
      be empty if the Endpoint is to not accept any traffic at a moment.
    updateTime: Output only. Timestamp when this Endpoint was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Endpoints.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. See
    https://goo.gl/xmQnxf for more information and examples of labels.

    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 TrafficSplitValue(_messages.Message):
    r"""A map from a DeployedModel's ID to the percentage of this Endpoint's
    traffic that should be forwarded to that DeployedModel. If a
    DeployedModel's ID is not listed in this map, then it receives no traffic.
    The traffic percentage values must add up to 100, or map must be empty if
    the Endpoint is to not accept any traffic at a moment.

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

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

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

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

      key = _messages.StringField(1)
      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)

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

  clientConnectionConfig = _messages.MessageField('GoogleCloudAiplatformV1ClientConnectionConfig', 1)
  createTime = _messages.StringField(2)
  dedicatedEndpointDns = _messages.StringField(3)
  dedicatedEndpointEnabled = _messages.BooleanField(4)
  deployedModels = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 5, repeated=True)
  description = _messages.StringField(6)
  displayName = _messages.StringField(7)
  enablePrivateServiceConnect = _messages.BooleanField(8)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 9)
  etag = _messages.StringField(10)
  genAiAdvancedFeaturesConfig = _messages.MessageField('GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig', 11)
  labels = _messages.MessageField('LabelsValue', 12)
  modelDeploymentMonitoringJob = _messages.StringField(13)
  name = _messages.StringField(14)
  network = _messages.StringField(15)
  predictRequestResponseLoggingConfig = _messages.MessageField('GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig', 16)
  privateServiceConnectConfig = _messages.MessageField('GoogleCloudAiplatformV1PrivateServiceConnectConfig', 17)
  satisfiesPzi = _messages.BooleanField(18)
  satisfiesPzs = _messages.BooleanField(19)
  trafficSplit = _messages.MessageField('TrafficSplitValue', 20)
  updateTime = _messages.StringField(21)


class GoogleCloudAiplatformV1EnterpriseWebSearch(_messages.Message):
  r"""Tool to search public web data, powered by Vertex AI Search and Sec4
  compliance.

  Enums:
    BlockingConfidenceValueValuesEnum: Optional. Sites with confidence level
      chosen & above this value will be blocked from the search results.

  Fields:
    blockingConfidence: Optional. Sites with confidence level chosen & above
      this value will be blocked from the search results.
    excludeDomains: Optional. List of domains to be excluded from the search
      results. The default limit is 2000 domains.
  """

  class BlockingConfidenceValueValuesEnum(_messages.Enum):
    r"""Optional. Sites with confidence level chosen & above this value will
    be blocked from the search results.

    Values:
      PHISH_BLOCK_THRESHOLD_UNSPECIFIED: Defaults to unspecified.
      BLOCK_LOW_AND_ABOVE: Blocks Low and above confidence URL that is risky.
      BLOCK_MEDIUM_AND_ABOVE: Blocks Medium and above confidence URL that is
        risky.
      BLOCK_HIGH_AND_ABOVE: Blocks High and above confidence URL that is
        risky.
      BLOCK_HIGHER_AND_ABOVE: Blocks Higher and above confidence URL that is
        risky.
      BLOCK_VERY_HIGH_AND_ABOVE: Blocks Very high and above confidence URL
        that is risky.
      BLOCK_ONLY_EXTREMELY_HIGH: Blocks Extremely high confidence URL that is
        risky.
    """
    PHISH_BLOCK_THRESHOLD_UNSPECIFIED = 0
    BLOCK_LOW_AND_ABOVE = 1
    BLOCK_MEDIUM_AND_ABOVE = 2
    BLOCK_HIGH_AND_ABOVE = 3
    BLOCK_HIGHER_AND_ABOVE = 4
    BLOCK_VERY_HIGH_AND_ABOVE = 5
    BLOCK_ONLY_EXTREMELY_HIGH = 6

  blockingConfidence = _messages.EnumField('BlockingConfidenceValueValuesEnum', 1)
  excludeDomains = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1EntityIdSelector(_messages.Message):
  r"""Selector for entityId. Getting ids from the given source.

  Fields:
    csvSource: Source of Csv
    entityIdField: Source column that holds entity IDs. If not provided,
      entity IDs are extracted from the column named entity_id.
  """

  csvSource = _messages.MessageField('GoogleCloudAiplatformV1CsvSource', 1)
  entityIdField = _messages.StringField(2)


class GoogleCloudAiplatformV1EntityType(_messages.Message):
  r"""An entity type is a type of object in a system that needs to be modeled
  and have stored information about. For example, driver is an entity type,
  and driver0 is an instance of an entity type driver.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your EntityTypes. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      EntityType (System labels are excluded)." System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Timestamp when this EntityType was created.
    description: Optional. Description of the EntityType.
    etag: Optional. Used to perform a consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      EntityTypes. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      EntityType (System labels are excluded)." System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.
    monitoringConfig: Optional. The default monitoring configuration for all
      Features with value type (Feature.ValueType) BOOL, STRING, DOUBLE or
      INT64 under this EntityType. If this is populated with
      [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot
      analysis monitoring is enabled. Otherwise, snapshot analysis monitoring
      is disabled.
    name: Immutable. Name of the EntityType. Format: `projects/{project}/locat
      ions/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
      The last part entity_type is assigned by the client. The entity_type can
      be up to 64 characters long and can consist only of ASCII Latin letters
      A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a
      letter. The value will be unique given a featurestore.
    offlineStorageTtlDays: Optional. Config for data retention policy in
      offline storage. TTL in days for feature values that will be stored in
      offline storage. The Feature Store offline storage periodically removes
      obsolete feature values older than `offline_storage_ttl_days` since the
      feature generation time. If unset (or explicitly set to 0), default to
      4000 days TTL.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this EntityType was most recently
      updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    EntityTypes. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information on and examples of labels.
    No more than 64 user labels can be associated with one EntityType (System
    labels are excluded)." System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  etag = _messages.StringField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  monitoringConfig = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreMonitoringConfig', 5)
  name = _messages.StringField(6)
  offlineStorageTtlDays = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  satisfiesPzi = _messages.BooleanField(8)
  satisfiesPzs = _messages.BooleanField(9)
  updateTime = _messages.StringField(10)


class GoogleCloudAiplatformV1EnvVar(_messages.Message):
  r"""Represents an environment variable present in a Container or Python
  Module.

  Fields:
    name: Required. Name of the environment variable. Must be a valid C
      identifier.
    value: Required. Variables that reference a $(VAR_NAME) are expanded using
      the previous defined environment variables in the container and any
      service environment variables. If a variable cannot be resolved, the
      reference in the input string will be unchanged. The $(VAR_NAME) syntax
      can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references
      will never be expanded, regardless of whether the variable exists or
      not.
  """

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


class GoogleCloudAiplatformV1ErrorAnalysisAnnotation(_messages.Message):
  r"""Model error analysis for each annotation.

  Enums:
    QueryTypeValueValuesEnum: The query type used for finding the attributed
      items.

  Fields:
    attributedItems: Attributed items for a given annotation, typically
      representing neighbors from the training sets constrained by the query
      type.
    outlierScore: The outlier score of this annotated item. Usually defined as
      the min of all distances from attributed items.
    outlierThreshold: The threshold used to determine if this annotation is an
      outlier or not.
    queryType: The query type used for finding the attributed items.
  """

  class QueryTypeValueValuesEnum(_messages.Enum):
    r"""The query type used for finding the attributed items.

    Values:
      QUERY_TYPE_UNSPECIFIED: Unspecified query type for model error analysis.
      ALL_SIMILAR: Query similar samples across all classes in the dataset.
      SAME_CLASS_SIMILAR: Query similar samples from the same class of the
        input sample.
      SAME_CLASS_DISSIMILAR: Query dissimilar samples from the same class of
        the input sample.
    """
    QUERY_TYPE_UNSPECIFIED = 0
    ALL_SIMILAR = 1
    SAME_CLASS_SIMILAR = 2
    SAME_CLASS_DISSIMILAR = 3

  attributedItems = _messages.MessageField('GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem', 1, repeated=True)
  outlierScore = _messages.FloatField(2)
  outlierThreshold = _messages.FloatField(3)
  queryType = _messages.EnumField('QueryTypeValueValuesEnum', 4)


class GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem(_messages.Message):
  r"""Attributed items for a given annotation, typically representing
  neighbors from the training sets constrained by the query type.

  Fields:
    annotationResourceName: The unique ID for each annotation. Used by FE to
      allocate the annotation in DB.
    distance: The distance of this item to the annotation.
  """

  annotationResourceName = _messages.StringField(1)
  distance = _messages.FloatField(2)


class GoogleCloudAiplatformV1EvaluateDatasetResponse(_messages.Message):
  r"""The results from an evaluation run performed by the EvaluationService.

  Fields:
    aggregationOutput: Output only. Aggregation statistics derived from
      results of EvaluationService.
    outputInfo: Output only. Output info for EvaluationService.
  """

  aggregationOutput = _messages.MessageField('GoogleCloudAiplatformV1AggregationOutput', 1)
  outputInfo = _messages.MessageField('GoogleCloudAiplatformV1OutputInfo', 2)


class GoogleCloudAiplatformV1EvaluateDatasetRun(_messages.Message):
  r"""Evaluate Dataset Run Result for Tuning Job.

  Fields:
    checkpointId: Output only. The checkpoint id used in the evaluation run.
      Only populated when evaluating checkpoints.
    error: Output only. The error of the evaluation run if any.
    evaluateDatasetResponse: Output only. Results for EvaluationService.
    evaluationRun: Output only. The resource name of the evaluation run.
      Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluat
      ion_run_id}`.
    operationName: Output only. Deprecated: The updated architecture uses
      evaluation_run instead.
  """

  checkpointId = _messages.StringField(1)
  error = _messages.MessageField('GoogleRpcStatus', 2)
  evaluateDatasetResponse = _messages.MessageField('GoogleCloudAiplatformV1EvaluateDatasetResponse', 3)
  evaluationRun = _messages.StringField(4)
  operationName = _messages.StringField(5)


class GoogleCloudAiplatformV1EvaluateInstancesRequest(_messages.Message):
  r"""Request message for EvaluationService.EvaluateInstances.

  Fields:
    autoraterConfig: Optional. Autorater config used for evaluation. Not
      applicable for predefined metrics (PredefinedMetricSpec); the server
      uses its own model configuration for predefined metrics and this field
      is ignored.
    bleuInput: Instances and metric spec for bleu metric.
    coherenceInput: Input for coherence metric.
    cometInput: Translation metrics. Input for Comet metric.
    exactMatchInput: Auto metric instances. Instances and metric spec for
      exact match metric.
    fluencyInput: LLM-based metric instance. General text generation metrics,
      applicable to other categories. Input for fluency metric.
    fulfillmentInput: Input for fulfillment metric.
    groundednessInput: Input for groundedness metric.
    metricxInput: Input for Metricx metric.
    pairwiseMetricInput: Input for pairwise metric.
    pairwiseQuestionAnsweringQualityInput: Input for pairwise question
      answering quality metric.
    pairwiseSummarizationQualityInput: Input for pairwise summarization
      quality metric.
    pointwiseMetricInput: Input for pointwise metric.
    questionAnsweringCorrectnessInput: Input for question answering
      correctness metric.
    questionAnsweringHelpfulnessInput: Input for question answering
      helpfulness metric.
    questionAnsweringQualityInput: Input for question answering quality
      metric.
    questionAnsweringRelevanceInput: Input for question answering relevance
      metric.
    rougeInput: Instances and metric spec for rouge metric.
    safetyInput: Input for safety metric.
    summarizationHelpfulnessInput: Input for summarization helpfulness metric.
    summarizationQualityInput: Input for summarization quality metric.
    summarizationVerbosityInput: Input for summarization verbosity metric.
    toolCallValidInput: Tool call metric instances. Input for tool call valid
      metric.
    toolNameMatchInput: Input for tool name match metric.
    toolParameterKeyMatchInput: Input for tool parameter key match metric.
    toolParameterKvMatchInput: Input for tool parameter key value match
      metric.
    trajectoryAnyOrderMatchInput: Input for trajectory match any order metric.
    trajectoryExactMatchInput: Input for trajectory exact match metric.
    trajectoryInOrderMatchInput: Input for trajectory in order match metric.
    trajectoryPrecisionInput: Input for trajectory precision metric.
    trajectoryRecallInput: Input for trajectory recall metric.
    trajectorySingleToolUseInput: Input for trajectory single tool use metric.
  """

  autoraterConfig = _messages.MessageField('GoogleCloudAiplatformV1AutoraterConfig', 1)
  bleuInput = _messages.MessageField('GoogleCloudAiplatformV1BleuInput', 2)
  coherenceInput = _messages.MessageField('GoogleCloudAiplatformV1CoherenceInput', 3)
  cometInput = _messages.MessageField('GoogleCloudAiplatformV1CometInput', 4)
  exactMatchInput = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchInput', 5)
  fluencyInput = _messages.MessageField('GoogleCloudAiplatformV1FluencyInput', 6)
  fulfillmentInput = _messages.MessageField('GoogleCloudAiplatformV1FulfillmentInput', 7)
  groundednessInput = _messages.MessageField('GoogleCloudAiplatformV1GroundednessInput', 8)
  metricxInput = _messages.MessageField('GoogleCloudAiplatformV1MetricxInput', 9)
  pairwiseMetricInput = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricInput', 10)
  pairwiseQuestionAnsweringQualityInput = _messages.MessageField('GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput', 11)
  pairwiseSummarizationQualityInput = _messages.MessageField('GoogleCloudAiplatformV1PairwiseSummarizationQualityInput', 12)
  pointwiseMetricInput = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricInput', 13)
  questionAnsweringCorrectnessInput = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput', 14)
  questionAnsweringHelpfulnessInput = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput', 15)
  questionAnsweringQualityInput = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringQualityInput', 16)
  questionAnsweringRelevanceInput = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput', 17)
  rougeInput = _messages.MessageField('GoogleCloudAiplatformV1RougeInput', 18)
  safetyInput = _messages.MessageField('GoogleCloudAiplatformV1SafetyInput', 19)
  summarizationHelpfulnessInput = _messages.MessageField('GoogleCloudAiplatformV1SummarizationHelpfulnessInput', 20)
  summarizationQualityInput = _messages.MessageField('GoogleCloudAiplatformV1SummarizationQualityInput', 21)
  summarizationVerbosityInput = _messages.MessageField('GoogleCloudAiplatformV1SummarizationVerbosityInput', 22)
  toolCallValidInput = _messages.MessageField('GoogleCloudAiplatformV1ToolCallValidInput', 23)
  toolNameMatchInput = _messages.MessageField('GoogleCloudAiplatformV1ToolNameMatchInput', 24)
  toolParameterKeyMatchInput = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKeyMatchInput', 25)
  toolParameterKvMatchInput = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKVMatchInput', 26)
  trajectoryAnyOrderMatchInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput', 27)
  trajectoryExactMatchInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryExactMatchInput', 28)
  trajectoryInOrderMatchInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryInOrderMatchInput', 29)
  trajectoryPrecisionInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryPrecisionInput', 30)
  trajectoryRecallInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryRecallInput', 31)
  trajectorySingleToolUseInput = _messages.MessageField('GoogleCloudAiplatformV1TrajectorySingleToolUseInput', 32)


class GoogleCloudAiplatformV1EvaluateInstancesResponse(_messages.Message):
  r"""Response message for EvaluationService.EvaluateInstances.

  Fields:
    bleuResults: Results for bleu metric.
    coherenceResult: Result for coherence metric.
    cometResult: Translation metrics. Result for Comet metric.
    exactMatchResults: Auto metric evaluation results. Results for exact match
      metric.
    fluencyResult: LLM-based metric evaluation result. General text generation
      metrics, applicable to other categories. Result for fluency metric.
    fulfillmentResult: Result for fulfillment metric.
    groundednessResult: Result for groundedness metric.
    metricResults: Metric results for each instance. The order of the metric
      results is guaranteed to be the same as the order of the instances in
      the request.
    metricxResult: Result for Metricx metric.
    pairwiseMetricResult: Result for pairwise metric.
    pairwiseQuestionAnsweringQualityResult: Result for pairwise question
      answering quality metric.
    pairwiseSummarizationQualityResult: Result for pairwise summarization
      quality metric.
    pointwiseMetricResult: Generic metrics. Result for pointwise metric.
    questionAnsweringCorrectnessResult: Result for question answering
      correctness metric.
    questionAnsweringHelpfulnessResult: Result for question answering
      helpfulness metric.
    questionAnsweringQualityResult: Question answering only metrics. Result
      for question answering quality metric.
    questionAnsweringRelevanceResult: Result for question answering relevance
      metric.
    rougeResults: Results for rouge metric.
    safetyResult: Result for safety metric.
    summarizationHelpfulnessResult: Result for summarization helpfulness
      metric.
    summarizationQualityResult: Summarization only metrics. Result for
      summarization quality metric.
    summarizationVerbosityResult: Result for summarization verbosity metric.
    toolCallValidResults: Tool call metrics. Results for tool call valid
      metric.
    toolNameMatchResults: Results for tool name match metric.
    toolParameterKeyMatchResults: Results for tool parameter key match metric.
    toolParameterKvMatchResults: Results for tool parameter key value match
      metric.
    trajectoryAnyOrderMatchResults: Result for trajectory any order match
      metric.
    trajectoryExactMatchResults: Result for trajectory exact match metric.
    trajectoryInOrderMatchResults: Result for trajectory in order match
      metric.
    trajectoryPrecisionResults: Result for trajectory precision metric.
    trajectoryRecallResults: Results for trajectory recall metric.
    trajectorySingleToolUseResults: Results for trajectory single tool use
      metric.
  """

  bleuResults = _messages.MessageField('GoogleCloudAiplatformV1BleuResults', 1)
  coherenceResult = _messages.MessageField('GoogleCloudAiplatformV1CoherenceResult', 2)
  cometResult = _messages.MessageField('GoogleCloudAiplatformV1CometResult', 3)
  exactMatchResults = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchResults', 4)
  fluencyResult = _messages.MessageField('GoogleCloudAiplatformV1FluencyResult', 5)
  fulfillmentResult = _messages.MessageField('GoogleCloudAiplatformV1FulfillmentResult', 6)
  groundednessResult = _messages.MessageField('GoogleCloudAiplatformV1GroundednessResult', 7)
  metricResults = _messages.MessageField('GoogleCloudAiplatformV1MetricResult', 8, repeated=True)
  metricxResult = _messages.MessageField('GoogleCloudAiplatformV1MetricxResult', 9)
  pairwiseMetricResult = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricResult', 10)
  pairwiseQuestionAnsweringQualityResult = _messages.MessageField('GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult', 11)
  pairwiseSummarizationQualityResult = _messages.MessageField('GoogleCloudAiplatformV1PairwiseSummarizationQualityResult', 12)
  pointwiseMetricResult = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricResult', 13)
  questionAnsweringCorrectnessResult = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult', 14)
  questionAnsweringHelpfulnessResult = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult', 15)
  questionAnsweringQualityResult = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringQualityResult', 16)
  questionAnsweringRelevanceResult = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult', 17)
  rougeResults = _messages.MessageField('GoogleCloudAiplatformV1RougeResults', 18)
  safetyResult = _messages.MessageField('GoogleCloudAiplatformV1SafetyResult', 19)
  summarizationHelpfulnessResult = _messages.MessageField('GoogleCloudAiplatformV1SummarizationHelpfulnessResult', 20)
  summarizationQualityResult = _messages.MessageField('GoogleCloudAiplatformV1SummarizationQualityResult', 21)
  summarizationVerbosityResult = _messages.MessageField('GoogleCloudAiplatformV1SummarizationVerbosityResult', 22)
  toolCallValidResults = _messages.MessageField('GoogleCloudAiplatformV1ToolCallValidResults', 23)
  toolNameMatchResults = _messages.MessageField('GoogleCloudAiplatformV1ToolNameMatchResults', 24)
  toolParameterKeyMatchResults = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKeyMatchResults', 25)
  toolParameterKvMatchResults = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKVMatchResults', 26)
  trajectoryAnyOrderMatchResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults', 27)
  trajectoryExactMatchResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryExactMatchResults', 28)
  trajectoryInOrderMatchResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryInOrderMatchResults', 29)
  trajectoryPrecisionResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryPrecisionResults', 30)
  trajectoryRecallResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryRecallResults', 31)
  trajectorySingleToolUseResults = _messages.MessageField('GoogleCloudAiplatformV1TrajectorySingleToolUseResults', 32)


class GoogleCloudAiplatformV1EvaluatedAnnotation(_messages.Message):
  r"""True positive, false positive, or false negative. EvaluatedAnnotation is
  only available under ModelEvaluationSlice with slice of `annotationSpec`
  dimension.

  Enums:
    TypeValueValuesEnum: Output only. Type of the EvaluatedAnnotation.

  Fields:
    dataItemPayload: Output only. The data item payload that the Model
      predicted this EvaluatedAnnotation on.
    errorAnalysisAnnotations: Annotations of model error analysis results.
    evaluatedDataItemViewId: Output only. ID of the EvaluatedDataItemView
      under the same ancestor ModelEvaluation. The EvaluatedDataItemView
      consists of all ground truths and predictions on data_item_payload.
    explanations: Explanations of predictions. Each element of the
      explanations indicates the explanation for one explanation Method. The
      attributions list in the EvaluatedAnnotationExplanation.explanation
      object corresponds to the predictions list. For example, the second
      element in the attributions list explains the second element in the
      predictions list.
    groundTruths: Output only. The ground truth Annotations, i.e. the
      Annotations that exist in the test data the Model is evaluated on. For
      true positive, there is one and only one ground truth annotation, which
      matches the only prediction in predictions. For false positive, there
      are zero or more ground truth annotations that are similar to the only
      prediction in predictions, but not enough for a match. For false
      negative, there is one and only one ground truth annotation, which
      doesn't match any predictions created by the model. The schema of the
      ground truth is stored in ModelEvaluation.annotation_schema_uri
    predictions: Output only. The model predicted annotations. For true
      positive, there is one and only one prediction, which matches the only
      one ground truth annotation in ground_truths. For false positive, there
      is one and only one prediction, which doesn't match any ground truth
      annotation of the corresponding data_item_view_id. For false negative,
      there are zero or more predictions which are similar to the only ground
      truth annotation in ground_truths but not enough for a match. The schema
      of the prediction is stored in ModelEvaluation.annotation_schema_uri
    type: Output only. Type of the EvaluatedAnnotation.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Output only. Type of the EvaluatedAnnotation.

    Values:
      EVALUATED_ANNOTATION_TYPE_UNSPECIFIED: Invalid value.
      TRUE_POSITIVE: The EvaluatedAnnotation is a true positive. It has a
        prediction created by the Model and a ground truth Annotation which
        the prediction matches.
      FALSE_POSITIVE: The EvaluatedAnnotation is false positive. It has a
        prediction created by the Model which does not match any ground truth
        annotation.
      FALSE_NEGATIVE: The EvaluatedAnnotation is false negative. It has a
        ground truth annotation which is not matched by any of the model
        created predictions.
    """
    EVALUATED_ANNOTATION_TYPE_UNSPECIFIED = 0
    TRUE_POSITIVE = 1
    FALSE_POSITIVE = 2
    FALSE_NEGATIVE = 3

  dataItemPayload = _messages.MessageField('extra_types.JsonValue', 1)
  errorAnalysisAnnotations = _messages.MessageField('GoogleCloudAiplatformV1ErrorAnalysisAnnotation', 2, repeated=True)
  evaluatedDataItemViewId = _messages.StringField(3)
  explanations = _messages.MessageField('GoogleCloudAiplatformV1EvaluatedAnnotationExplanation', 4, repeated=True)
  groundTruths = _messages.MessageField('extra_types.JsonValue', 5, repeated=True)
  predictions = _messages.MessageField('extra_types.JsonValue', 6, repeated=True)
  type = _messages.EnumField('TypeValueValuesEnum', 7)


class GoogleCloudAiplatformV1EvaluatedAnnotationExplanation(_messages.Message):
  r"""Explanation result of the prediction produced by the Model.

  Fields:
    explanation: Explanation attribution response details.
    explanationType: Explanation type. For AutoML Image Classification models,
      possible values are: * `image-integrated-gradients` * `image-xrai`
  """

  explanation = _messages.MessageField('GoogleCloudAiplatformV1Explanation', 1)
  explanationType = _messages.StringField(2)


class GoogleCloudAiplatformV1EvaluationConfig(_messages.Message):
  r"""Evaluation Config for Tuning Job.

  Fields:
    autoraterConfig: Optional. Autorater config for evaluation.
    inferenceGenerationConfig: Optional. Configuration options for inference
      generation and outputs. If not set, default generation parameters are
      used.
    metrics: Required. The metrics used for evaluation.
    outputConfig: Required. Config for evaluation output.
  """

  autoraterConfig = _messages.MessageField('GoogleCloudAiplatformV1AutoraterConfig', 1)
  inferenceGenerationConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfig', 2)
  metrics = _messages.MessageField('GoogleCloudAiplatformV1Metric', 3, repeated=True)
  outputConfig = _messages.MessageField('GoogleCloudAiplatformV1OutputConfig', 4)


class GoogleCloudAiplatformV1EvaluationDataset(_messages.Message):
  r"""The dataset used for evaluation.

  Fields:
    bigquerySource: BigQuery source holds the dataset.
    gcsSource: Cloud storage source holds the dataset. Currently only one
      Cloud Storage file path is supported.
  """

  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 1)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 2)


class GoogleCloudAiplatformV1EvaluationParserConfig(_messages.Message):
  r"""Config for parsing LLM responses. It can be used to parse the LLM
  response to be evaluated, or the LLM response from LLM-based
  metrics/Autoraters.

  Fields:
    customCodeParserConfig: Optional. Use custom code to parse the LLM
      response.
  """

  customCodeParserConfig = _messages.MessageField('GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig', 1)


class GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig(_messages.Message):
  r"""Configuration for parsing the LLM response using custom code.

  Fields:
    parsingFunction: Required. Python function for parsing results. The
      function should be defined within this string. The function takes a list
      of strings (LLM responses) and should return either a list of
      dictionaries (for rubrics) or a single dictionary (for a metric result).
      Example function signature: def parse(responses: list[str]) ->
      list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a
      list of dictionaries, where each dictionary represents a Rubric. Example
      for rubrics: [ { "content": {"property": {"description": "The response
      is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, {
      "content": {"property": {"description": "The response is fluent."}},
      "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique
      results, return a dictionary representing a MetricResult. Example for a
      metric result: { "score": 0.8, "explanation": "The model followed most
      instructions.", "rubric_verdicts": [...] } ... code for result
      extraction and aggregation
  """

  parsingFunction = _messages.StringField(1)


class GoogleCloudAiplatformV1Event(_messages.Message):
  r"""An edge describing the relationship between an Artifact and an Execution
  in a lineage graph.

  Enums:
    TypeValueValuesEnum: Required. The type of the Event.

  Messages:
    LabelsValue: The labels with user-defined metadata to annotate Events.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Event (System labels are
      excluded). See https://goo.gl/xmQnxf for more information and examples
      of labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.

  Fields:
    artifact: Required. The relative resource name of the Artifact in the
      Event.
    eventTime: Output only. Time the Event occurred.
    execution: Output only. The relative resource name of the Execution in the
      Event.
    labels: The labels with user-defined metadata to annotate Events. Label
      keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Event (System labels are
      excluded). See https://goo.gl/xmQnxf for more information and examples
      of labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.
    type: Required. The type of the Event.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the Event.

    Values:
      TYPE_UNSPECIFIED: Unspecified whether input or output of the Execution.
      INPUT: An input of the Execution.
      OUTPUT: An output of the Execution.
    """
    TYPE_UNSPECIFIED = 0
    INPUT = 1
    OUTPUT = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to annotate Events. Label keys
    and values can be no longer than 64 characters (Unicode codepoints), can
    only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. No more than 64 user labels
    can be associated with one Event (System labels are excluded). See
    https://goo.gl/xmQnxf for more information and examples of labels. System
    reserved label keys are prefixed with "aiplatform.googleapis.com/" and are
    immutable.

    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)

  artifact = _messages.StringField(1)
  eventTime = _messages.StringField(2)
  execution = _messages.StringField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  type = _messages.EnumField('TypeValueValuesEnum', 5)


class GoogleCloudAiplatformV1EventActions(_messages.Message):
  r"""Actions are parts of events that are executed by the agent.

  Messages:
    ArtifactDeltaValue: Optional. Indicates that the event is updating an
      artifact. key is the filename, value is the version.
    RequestedAuthConfigsValue: Optional. Will only be set by a tool response
      indicating tool request euc. Struct key is the function call id since
      one function call response (from model) could correspond to multiple
      function calls. Struct value is the required auth config, which can be
      another struct.
    StateDeltaValue: Optional. Indicates that the event is updating the state
      with the given delta.

  Fields:
    artifactDelta: Optional. Indicates that the event is updating an artifact.
      key is the filename, value is the version.
    escalate: Optional. The agent is escalating to a higher level agent.
    requestedAuthConfigs: Optional. Will only be set by a tool response
      indicating tool request euc. Struct key is the function call id since
      one function call response (from model) could correspond to multiple
      function calls. Struct value is the required auth config, which can be
      another struct.
    skipSummarization: Optional. If true, it won't call model to summarize
      function response. Only used for function_response event.
    stateDelta: Optional. Indicates that the event is updating the state with
      the given delta.
    transferAgent: Optional. If set, the event transfers to the specified
      agent.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ArtifactDeltaValue(_messages.Message):
    r"""Optional. Indicates that the event is updating an artifact. key is the
    filename, value is the version.

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

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

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

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

      key = _messages.StringField(1)
      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class RequestedAuthConfigsValue(_messages.Message):
    r"""Optional. Will only be set by a tool response indicating tool request
    euc. Struct key is the function call id since one function call response
    (from model) could correspond to multiple function calls. Struct value is
    the required auth config, which can be another struct.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a RequestedAuthConfigsValue 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 StateDeltaValue(_messages.Message):
    r"""Optional. Indicates that the event is updating the state with the
    given delta.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a StateDeltaValue 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)

  artifactDelta = _messages.MessageField('ArtifactDeltaValue', 1)
  escalate = _messages.BooleanField(2)
  requestedAuthConfigs = _messages.MessageField('RequestedAuthConfigsValue', 3)
  skipSummarization = _messages.BooleanField(4)
  stateDelta = _messages.MessageField('StateDeltaValue', 5)
  transferAgent = _messages.StringField(6)


class GoogleCloudAiplatformV1EventMetadata(_messages.Message):
  r"""Metadata relating to a LLM response event.

  Messages:
    CustomMetadataValue: The custom metadata of the LlmResponse.

  Fields:
    branch: Optional. The branch of the event. The format is like
      agent_1.agent_2.agent_3, where agent_1 is the parent of agent_2, and
      agent_2 is the parent of agent_3. Branch is used when multiple child
      agents shouldn't see their siblings' conversation history.
    customMetadata: The custom metadata of the LlmResponse.
    groundingMetadata: Optional. Metadata returned to client when grounding is
      enabled.
    inputTranscription: Optional. Audio transcription of user input.
    interrupted: Optional. Flag indicating that LLM was interrupted when
      generating the content. Usually it's due to user interruption during a
      bidi streaming.
    longRunningToolIds: Optional. Set of ids of the long running function
      calls. Agent client will know from this field about which function call
      is long running. Only valid for function call event.
    outputTranscription: Optional. Audio transcription of model output.
    partial: Optional. Indicates whether the text content is part of a
      unfinished text stream. Only used for streaming mode and when the
      content is plain text.
    turnComplete: Optional. Indicates whether the response from the model is
      complete. Only used for streaming mode.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class CustomMetadataValue(_messages.Message):
    r"""The custom metadata of the LlmResponse.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a CustomMetadataValue 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)

  branch = _messages.StringField(1)
  customMetadata = _messages.MessageField('CustomMetadataValue', 2)
  groundingMetadata = _messages.MessageField('GoogleCloudAiplatformV1GroundingMetadata', 3)
  inputTranscription = _messages.MessageField('GoogleCloudAiplatformV1Transcription', 4)
  interrupted = _messages.BooleanField(5)
  longRunningToolIds = _messages.StringField(6, repeated=True)
  outputTranscription = _messages.MessageField('GoogleCloudAiplatformV1Transcription', 7)
  partial = _messages.BooleanField(8)
  turnComplete = _messages.BooleanField(9)


class GoogleCloudAiplatformV1ExactMatchInput(_messages.Message):
  r"""Input for exact match metric.

  Fields:
    instances: Required. Repeated exact match instances.
    metricSpec: Required. Spec for exact match metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchSpec', 2)


class GoogleCloudAiplatformV1ExactMatchInstance(_messages.Message):
  r"""Spec for exact match instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1ExactMatchMetricValue(_messages.Message):
  r"""Exact match metric value for an instance.

  Fields:
    score: Output only. Exact match score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ExactMatchResults(_messages.Message):
  r"""Results for exact match metric.

  Fields:
    exactMatchMetricValues: Output only. Exact match metric values.
  """

  exactMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1ExactMatchSpec(_messages.Message):
  r"""Spec for exact match metric - returns 1 if prediction and reference
  exactly matches, otherwise 0.
  """



class GoogleCloudAiplatformV1Examples(_messages.Message):
  r"""Example-based explainability that returns the nearest neighbors from the
  provided dataset.

  Fields:
    exampleGcsSource: The Cloud Storage input instances.
    nearestNeighborSearchConfig: The full configuration for the generated
      index, the semantics are the same as metadata and should match
      [NearestNeighborSearchConfig](https://cloud.google.com/vertex-
      ai/docs/explainable-ai/configuring-explanations-example-based#nearest-
      neighbor-search-config).
    neighborCount: The number of neighbors to return when querying for
      examples.
    presets: Simplified preset configuration, which automatically sets
      configuration values based on the desired query speed-precision trade-
      off and modality.
  """

  exampleGcsSource = _messages.MessageField('GoogleCloudAiplatformV1ExamplesExampleGcsSource', 1)
  nearestNeighborSearchConfig = _messages.MessageField('extra_types.JsonValue', 2)
  neighborCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  presets = _messages.MessageField('GoogleCloudAiplatformV1Presets', 4)


class GoogleCloudAiplatformV1ExamplesExampleGcsSource(_messages.Message):
  r"""The Cloud Storage input instances.

  Enums:
    DataFormatValueValuesEnum: The format in which instances are given, if not
      specified, assume it's JSONL format. Currently only JSONL format is
      supported.

  Fields:
    dataFormat: The format in which instances are given, if not specified,
      assume it's JSONL format. Currently only JSONL format is supported.
    gcsSource: The Cloud Storage location for the input instances.
  """

  class DataFormatValueValuesEnum(_messages.Enum):
    r"""The format in which instances are given, if not specified, assume it's
    JSONL format. Currently only JSONL format is supported.

    Values:
      DATA_FORMAT_UNSPECIFIED: Format unspecified, used when unset.
      JSONL: Examples are stored in JSONL files.
    """
    DATA_FORMAT_UNSPECIFIED = 0
    JSONL = 1

  dataFormat = _messages.EnumField('DataFormatValueValuesEnum', 1)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 2)


class GoogleCloudAiplatformV1ExamplesOverride(_messages.Message):
  r"""Overrides for example-based explanations.

  Enums:
    DataFormatValueValuesEnum: The format of the data being provided with each
      call.

  Fields:
    crowdingCount: The number of neighbors to return that have the same
      crowding tag.
    dataFormat: The format of the data being provided with each call.
    neighborCount: The number of neighbors to return.
    restrictions: Restrict the resulting nearest neighbors to respect these
      constraints.
    returnEmbeddings: If true, return the embeddings instead of neighbors.
  """

  class DataFormatValueValuesEnum(_messages.Enum):
    r"""The format of the data being provided with each call.

    Values:
      DATA_FORMAT_UNSPECIFIED: Unspecified format. Must not be used.
      INSTANCES: Provided data is a set of model inputs.
      EMBEDDINGS: Provided data is a set of embeddings.
    """
    DATA_FORMAT_UNSPECIFIED = 0
    INSTANCES = 1
    EMBEDDINGS = 2

  crowdingCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  dataFormat = _messages.EnumField('DataFormatValueValuesEnum', 2)
  neighborCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  restrictions = _messages.MessageField('GoogleCloudAiplatformV1ExamplesRestrictionsNamespace', 4, repeated=True)
  returnEmbeddings = _messages.BooleanField(5)


class GoogleCloudAiplatformV1ExamplesRestrictionsNamespace(_messages.Message):
  r"""Restrictions namespace for example-based explanations overrides.

  Fields:
    allow: The list of allowed tags.
    deny: The list of deny tags.
    namespaceName: The namespace name.
  """

  allow = _messages.StringField(1, repeated=True)
  deny = _messages.StringField(2, repeated=True)
  namespaceName = _messages.StringField(3)


class GoogleCloudAiplatformV1ExecutableCode(_messages.Message):
  r"""Code generated by the model that is meant to be executed, and the result
  returned to the model. Generated when using the `CodeExecution` tool, in
  which the code will be automatically executed, and a corresponding
  CodeExecutionResult will also be generated.

  Enums:
    LanguageValueValuesEnum: Required. Programming language of the `code`.

  Fields:
    code: Required. The code to be executed.
    language: Required. Programming language of the `code`.
  """

  class LanguageValueValuesEnum(_messages.Enum):
    r"""Required. Programming language of the `code`.

    Values:
      LANGUAGE_UNSPECIFIED: Unspecified language. This value should not be
        used.
      PYTHON: Python >= 3.10, with numpy and simpy available.
    """
    LANGUAGE_UNSPECIFIED = 0
    PYTHON = 1

  code = _messages.StringField(1)
  language = _messages.EnumField('LanguageValueValuesEnum', 2)


class GoogleCloudAiplatformV1Execution(_messages.Message):
  r"""Instance of a general execution.

  Enums:
    StateValueValuesEnum: The state of this Execution. This is a property of
      the Execution, and does not imply or capture any ongoing process. This
      property is managed by clients (such as Vertex AI Pipelines) and the
      system does not prescribe or check the validity of state transitions.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Executions. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      Execution (System labels are excluded).
    MetadataValue: Properties of the Execution. Top level metadata keys'
      heading and trailing spaces will be trimmed. The size of this field
      should not exceed 200KB.

  Fields:
    createTime: Output only. Timestamp when this Execution was created.
    description: Description of the Execution
    displayName: User provided display name of the Execution. May be up to 128
      Unicode characters.
    etag: An eTag used to perform consistent read-modify-write updates. If not
      set, a blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your Executions.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one Execution (System labels
      are excluded).
    metadata: Properties of the Execution. Top level metadata keys' heading
      and trailing spaces will be trimmed. The size of this field should not
      exceed 200KB.
    name: Output only. The resource name of the Execution.
    schemaTitle: The title of the schema describing the metadata. Schema title
      and version is expected to be registered in earlier Create Schema calls.
      And both are used together as unique identifiers to identify schemas
      within the local metadata store.
    schemaVersion: The version of the schema in `schema_title` to use. Schema
      title and version is expected to be registered in earlier Create Schema
      calls. And both are used together as unique identifiers to identify
      schemas within the local metadata store.
    state: The state of this Execution. This is a property of the Execution,
      and does not imply or capture any ongoing process. This property is
      managed by clients (such as Vertex AI Pipelines) and the system does not
      prescribe or check the validity of state transitions.
    updateTime: Output only. Timestamp when this Execution was last updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""The state of this Execution. This is a property of the Execution, and
    does not imply or capture any ongoing process. This property is managed by
    clients (such as Vertex AI Pipelines) and the system does not prescribe or
    check the validity of state transitions.

    Values:
      STATE_UNSPECIFIED: Unspecified Execution state
      NEW: The Execution is new
      RUNNING: The Execution is running
      COMPLETE: The Execution has finished running
      FAILED: The Execution has failed
      CACHED: The Execution completed through Cache hit.
      CANCELLED: The Execution was cancelled.
    """
    STATE_UNSPECIFIED = 0
    NEW = 1
    RUNNING = 2
    COMPLETE = 3
    FAILED = 4
    CACHED = 5
    CANCELLED = 6

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Executions.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. No more than
    64 user labels can be associated with one Execution (System labels are
    excluded).

    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"""Properties of the Execution. Top level metadata keys' heading and
    trailing spaces will be trimmed. The size of this field should not exceed
    200KB.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  metadata = _messages.MessageField('MetadataValue', 6)
  name = _messages.StringField(7)
  schemaTitle = _messages.StringField(8)
  schemaVersion = _messages.StringField(9)
  state = _messages.EnumField('StateValueValuesEnum', 10)
  updateTime = _messages.StringField(11)


class GoogleCloudAiplatformV1ExplainRequest(_messages.Message):
  r"""Request message for PredictionService.Explain.

  Fields:
    deployedModelId: If specified, this ExplainRequest will be served by the
      chosen DeployedModel, overriding Endpoint.traffic_split.
    explanationSpecOverride: If specified, overrides the explanation_spec of
      the DeployedModel. Can be used for explaining prediction results with
      different configurations, such as: - Explaining top-5 predictions
      results as opposed to top-1; - Increasing path count or step count of
      the attribution methods to reduce approximate errors; - Using different
      baselines for explaining the prediction results.
    instances: Required. The instances that are the input to the explanation
      call. A DeployedModel may have an upper limit on the number of instances
      it supports per request, and when it is exceeded the explanation call
      errors in case of AutoML Models, or, in case of customer created Models,
      the behaviour is as documented by that Model. The schema of any single
      instance may be specified via Endpoint's DeployedModels' Model's
      PredictSchemata's instance_schema_uri.
    parameters: The parameters that govern the prediction. The schema of the
      parameters may be specified via Endpoint's DeployedModels' Model's
      PredictSchemata's parameters_schema_uri.
  """

  deployedModelId = _messages.StringField(1)
  explanationSpecOverride = _messages.MessageField('GoogleCloudAiplatformV1ExplanationSpecOverride', 2)
  instances = _messages.MessageField('extra_types.JsonValue', 3, repeated=True)
  parameters = _messages.MessageField('extra_types.JsonValue', 4)


class GoogleCloudAiplatformV1ExplainResponse(_messages.Message):
  r"""Response message for PredictionService.Explain.

  Fields:
    deployedModelId: ID of the Endpoint's DeployedModel that served this
      explanation.
    explanations: The explanations of the Model's PredictResponse.predictions.
      It has the same number of elements as instances to be explained.
    predictions: The predictions that are the output of the predictions call.
      Same as PredictResponse.predictions.
  """

  deployedModelId = _messages.StringField(1)
  explanations = _messages.MessageField('GoogleCloudAiplatformV1Explanation', 2, repeated=True)
  predictions = _messages.MessageField('extra_types.JsonValue', 3, repeated=True)


class GoogleCloudAiplatformV1Explanation(_messages.Message):
  r"""Explanation of a prediction (provided in PredictResponse.predictions)
  produced by the Model on a given instance.

  Fields:
    attributions: Output only. Feature attributions grouped by predicted
      outputs. For Models that predict only one output, such as regression
      Models that predict only one score, there is only one attibution that
      explains the predicted output. For Models that predict multiple outputs,
      such as multiclass Models that predict multiple classes, each element
      explains one specific item. Attribution.output_index can be used to
      identify which output this attribution is explaining. By default, we
      provide Shapley values for the predicted class. However, you can
      configure the explanation request to generate Shapley values for any
      other classes too. For example, if a model predicts a probability of
      `0.4` for approving a loan application, the model's decision is to
      reject the application since `p(reject) = 0.6 > p(approve) = 0.4`, and
      the default Shapley values would be computed for rejection decision and
      not approval, even though the latter might be the positive class. If
      users set ExplanationParameters.top_k, the attributions are sorted by
      instance_output_value in descending order. If
      ExplanationParameters.output_indices is specified, the attributions are
      stored by Attribution.output_index in the same order as they appear in
      the output_indices.
    neighbors: Output only. List of the nearest neighbors for example-based
      explanations. For models deployed with the examples explanations feature
      enabled, the attributions field is empty and instead the neighbors field
      is populated.
  """

  attributions = _messages.MessageField('GoogleCloudAiplatformV1Attribution', 1, repeated=True)
  neighbors = _messages.MessageField('GoogleCloudAiplatformV1Neighbor', 2, repeated=True)


class GoogleCloudAiplatformV1ExplanationMetadata(_messages.Message):
  r"""Metadata describing the Model's input and output for explanation.

  Messages:
    InputsValue: Required. Map from feature names to feature input metadata.
      Keys are the name of the features. Values are the specification of the
      feature. An empty InputMetadata is valid. It describes a text feature
      which has the name specified as the key in ExplanationMetadata.inputs.
      The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-
      provided Tensorflow images, the key can be any friendly name of the
      feature. Once specified, featureAttributions are keyed by this key (if
      not grouped with another feature). For custom images, the key must match
      with the key in instance.
    OutputsValue: Required. Map from output names to output metadata. For
      Vertex AI-provided Tensorflow images, keys can be any user defined
      string that consists of any UTF-8 characters. For custom images, keys
      are the name of the output field in the prediction to be explained.
      Currently only one key is allowed.

  Fields:
    featureAttributionsSchemaUri: Points to a YAML file stored on Google Cloud
      Storage describing the format of the feature attributions. The schema is
      defined as an OpenAPI 3.0.2 [Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular
      Models always have this field populated by Vertex AI. Note: The URI
      given on output may be different, including the URI scheme, than the one
      given on input. The output URI will point to a location where the user
      only has a read access.
    inputs: Required. Map from feature names to feature input metadata. Keys
      are the name of the features. Values are the specification of the
      feature. An empty InputMetadata is valid. It describes a text feature
      which has the name specified as the key in ExplanationMetadata.inputs.
      The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-
      provided Tensorflow images, the key can be any friendly name of the
      feature. Once specified, featureAttributions are keyed by this key (if
      not grouped with another feature). For custom images, the key must match
      with the key in instance.
    latentSpaceSource: Name of the source to generate embeddings for example
      based explanations.
    outputs: Required. Map from output names to output metadata. For Vertex
      AI-provided Tensorflow images, keys can be any user defined string that
      consists of any UTF-8 characters. For custom images, keys are the name
      of the output field in the prediction to be explained. Currently only
      one key is allowed.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputsValue(_messages.Message):
    r"""Required. Map from feature names to feature input metadata. Keys are
    the name of the features. Values are the specification of the feature. An
    empty InputMetadata is valid. It describes a text feature which has the
    name specified as the key in ExplanationMetadata.inputs. The baseline of
    the empty feature is chosen by Vertex AI. For Vertex AI-provided
    Tensorflow images, the key can be any friendly name of the feature. Once
    specified, featureAttributions are keyed by this key (if not grouped with
    another feature). For custom images, the key must match with the key in
    instance.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class OutputsValue(_messages.Message):
    r"""Required. Map from output names to output metadata. For Vertex AI-
    provided Tensorflow images, keys can be any user defined string that
    consists of any UTF-8 characters. For custom images, keys are the name of
    the output field in the prediction to be explained. Currently only one key
    is allowed.

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

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

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

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

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

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

  featureAttributionsSchemaUri = _messages.StringField(1)
  inputs = _messages.MessageField('InputsValue', 2)
  latentSpaceSource = _messages.StringField(3)
  outputs = _messages.MessageField('OutputsValue', 4)


class GoogleCloudAiplatformV1ExplanationMetadataInputMetadata(_messages.Message):
  r"""Metadata of the input of a feature. Fields other than
  InputMetadata.input_baselines are applicable only for Models that are using
  Vertex AI-provided images for Tensorflow.

  Enums:
    EncodingValueValuesEnum: Defines how the feature is encoded into the input
      tensor. Defaults to IDENTITY.

  Fields:
    denseShapeTensorName: Specifies the shape of the values of the input if
      the input is a sparse representation. Refer to Tensorflow documentation
      for more details:
      https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.
    encodedBaselines: A list of baselines for the encoded tensor. The shape of
      each baseline should match the shape of the encoded tensor. If a scalar
      is provided, Vertex AI broadcasts to the same shape as the encoded
      tensor.
    encodedTensorName: Encoded tensor is a transformation of the input tensor.
      Must be provided if choosing Integrated Gradients attribution or XRAI
      attribution and the input tensor is not differentiable. An encoded
      tensor is generated if the input tensor is encoded by a lookup table.
    encoding: Defines how the feature is encoded into the input tensor.
      Defaults to IDENTITY.
    featureValueDomain: The domain details of the input feature value. Like
      min/max, original mean or standard deviation if normalized.
    groupName: Name of the group that the input belongs to. Features with the
      same group name will be treated as one feature when computing
      attributions. Features grouped together can have different shapes in
      value. If provided, there will be one single attribution generated in
      Attribution.feature_attributions, keyed by the group name.
    indexFeatureMapping: A list of feature names for each index in the input
      tensor. Required when the input InputMetadata.encoding is
      BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR.
    indicesTensorName: Specifies the index of the values of the input tensor.
      Required when the input tensor is a sparse representation. Refer to
      Tensorflow documentation for more details:
      https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.
    inputBaselines: Baseline inputs for this feature. If no baseline is
      specified, Vertex AI chooses the baseline for this feature. If multiple
      baselines are specified, Vertex AI returns the average attributions
      across them in Attribution.feature_attributions. For Vertex AI-provided
      Tensorflow images (both 1.x and 2.x), the shape of each baseline must
      match the shape of the input tensor. If a scalar is provided, we
      broadcast to the same shape as the input tensor. For custom images, the
      element of the baselines must be in the same format as the feature's
      input in the instance[]. The schema of any single instance may be
      specified via Endpoint's DeployedModels' Model's PredictSchemata's
      instance_schema_uri.
    inputTensorName: Name of the input tensor for this feature. Required and
      is only applicable to Vertex AI-provided images for Tensorflow.
    modality: Modality of the feature. Valid values are: numeric, image.
      Defaults to numeric.
    visualization: Visualization configurations for image explanation.
  """

  class EncodingValueValuesEnum(_messages.Enum):
    r"""Defines how the feature is encoded into the input tensor. Defaults to
    IDENTITY.

    Values:
      ENCODING_UNSPECIFIED: Default value. This is the same as IDENTITY.
      IDENTITY: The tensor represents one feature.
      BAG_OF_FEATURES: The tensor represents a bag of features where each
        index maps to a feature. InputMetadata.index_feature_mapping must be
        provided for this encoding. For example: ``` input = [27, 6.0, 150]
        index_feature_mapping = ["age", "height", "weight"] ```
      BAG_OF_FEATURES_SPARSE: The tensor represents a bag of features where
        each index maps to a feature. Zero values in the tensor indicates
        feature being non-existent. InputMetadata.index_feature_mapping must
        be provided for this encoding. For example: ``` input = [2, 0, 5, 0,
        1] index_feature_mapping = ["a", "b", "c", "d", "e"] ```
      INDICATOR: The tensor is a list of binaries representing whether a
        feature exists or not (1 indicates existence).
        InputMetadata.index_feature_mapping must be provided for this
        encoding. For example: ``` input = [1, 0, 1, 0, 1]
        index_feature_mapping = ["a", "b", "c", "d", "e"] ```
      COMBINED_EMBEDDING: The tensor is encoded into a 1-dimensional array
        represented by an encoded tensor. InputMetadata.encoded_tensor_name
        must be provided for this encoding. For example: ``` input = ["This",
        "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```
      CONCAT_EMBEDDING: Select this encoding when the input tensor is encoded
        into a 2-dimensional array represented by an encoded tensor.
        InputMetadata.encoded_tensor_name must be provided for this encoding.
        The first dimension of the encoded tensor's shape is the same as the
        input tensor's shape. For example: ``` input = ["This", "is", "a",
        "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4,
        0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4,
        0.3, 0.2, 0.5, 0.1]] ```
    """
    ENCODING_UNSPECIFIED = 0
    IDENTITY = 1
    BAG_OF_FEATURES = 2
    BAG_OF_FEATURES_SPARSE = 3
    INDICATOR = 4
    COMBINED_EMBEDDING = 5
    CONCAT_EMBEDDING = 6

  denseShapeTensorName = _messages.StringField(1)
  encodedBaselines = _messages.MessageField('extra_types.JsonValue', 2, repeated=True)
  encodedTensorName = _messages.StringField(3)
  encoding = _messages.EnumField('EncodingValueValuesEnum', 4)
  featureValueDomain = _messages.MessageField('GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain', 5)
  groupName = _messages.StringField(6)
  indexFeatureMapping = _messages.StringField(7, repeated=True)
  indicesTensorName = _messages.StringField(8)
  inputBaselines = _messages.MessageField('extra_types.JsonValue', 9, repeated=True)
  inputTensorName = _messages.StringField(10)
  modality = _messages.StringField(11)
  visualization = _messages.MessageField('GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization', 12)


class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain(_messages.Message):
  r"""Domain details of the input feature value. Provides numeric information
  about the feature, such as its range (min, max). If the feature has been
  pre-processed, for example with z-scoring, then it provides information
  about how to recover the original feature. For example, if the input feature
  is an image and it has been pre-processed to obtain 0-mean and stddev = 1
  values, then original_mean, and original_stddev refer to the mean and stddev
  of the original feature (e.g. image tensor) from which input feature (with
  mean = 0 and stddev = 1) was obtained.

  Fields:
    maxValue: The maximum permissible value for this feature.
    minValue: The minimum permissible value for this feature.
    originalMean: If this input feature has been normalized to a mean value of
      0, the original_mean specifies the mean value of the domain prior to
      normalization.
    originalStddev: If this input feature has been normalized to a standard
      deviation of 1.0, the original_stddev specifies the standard deviation
      of the domain prior to normalization.
  """

  maxValue = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  minValue = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  originalMean = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  originalStddev = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization(_messages.Message):
  r"""Visualization configurations for image explanation.

  Enums:
    ColorMapValueValuesEnum: The color scheme used for the highlighted areas.
      Defaults to PINK_GREEN for Integrated Gradients attribution, which shows
      positive attributions in green and negative in pink. Defaults to VIRIDIS
      for XRAI attribution, which highlights the most influential regions in
      yellow and the least influential in blue.
    OverlayTypeValueValuesEnum: How the original image is displayed in the
      visualization. Adjusting the overlay can help increase visual clarity if
      the original image makes it difficult to view the visualization.
      Defaults to NONE.
    PolarityValueValuesEnum: Whether to only highlight pixels with positive
      contributions, negative or both. Defaults to POSITIVE.
    TypeValueValuesEnum: Type of the image visualization. Only applicable to
      Integrated Gradients attribution. OUTLINES shows regions of attribution,
      while PIXELS shows per-pixel attribution. Defaults to OUTLINES.

  Fields:
    clipPercentLowerbound: Excludes attributions below the specified
      percentile, from the highlighted areas. Defaults to 62.
    clipPercentUpperbound: Excludes attributions above the specified
      percentile from the highlighted areas. Using the clip_percent_upperbound
      and clip_percent_lowerbound together can be useful for filtering out
      noise and making it easier to see areas of strong attribution. Defaults
      to 99.9.
    colorMap: The color scheme used for the highlighted areas. Defaults to
      PINK_GREEN for Integrated Gradients attribution, which shows positive
      attributions in green and negative in pink. Defaults to VIRIDIS for XRAI
      attribution, which highlights the most influential regions in yellow and
      the least influential in blue.
    overlayType: How the original image is displayed in the visualization.
      Adjusting the overlay can help increase visual clarity if the original
      image makes it difficult to view the visualization. Defaults to NONE.
    polarity: Whether to only highlight pixels with positive contributions,
      negative or both. Defaults to POSITIVE.
    type: Type of the image visualization. Only applicable to Integrated
      Gradients attribution. OUTLINES shows regions of attribution, while
      PIXELS shows per-pixel attribution. Defaults to OUTLINES.
  """

  class ColorMapValueValuesEnum(_messages.Enum):
    r"""The color scheme used for the highlighted areas. Defaults to
    PINK_GREEN for Integrated Gradients attribution, which shows positive
    attributions in green and negative in pink. Defaults to VIRIDIS for XRAI
    attribution, which highlights the most influential regions in yellow and
    the least influential in blue.

    Values:
      COLOR_MAP_UNSPECIFIED: Should not be used.
      PINK_GREEN: Positive: green. Negative: pink.
      VIRIDIS: Viridis color map: A perceptually uniform color mapping which
        is easier to see by those with colorblindness and progresses from
        yellow to green to blue. Positive: yellow. Negative: blue.
      RED: Positive: red. Negative: red.
      GREEN: Positive: green. Negative: green.
      RED_GREEN: Positive: green. Negative: red.
      PINK_WHITE_GREEN: PiYG palette.
    """
    COLOR_MAP_UNSPECIFIED = 0
    PINK_GREEN = 1
    VIRIDIS = 2
    RED = 3
    GREEN = 4
    RED_GREEN = 5
    PINK_WHITE_GREEN = 6

  class OverlayTypeValueValuesEnum(_messages.Enum):
    r"""How the original image is displayed in the visualization. Adjusting
    the overlay can help increase visual clarity if the original image makes
    it difficult to view the visualization. Defaults to NONE.

    Values:
      OVERLAY_TYPE_UNSPECIFIED: Default value. This is the same as NONE.
      NONE: No overlay.
      ORIGINAL: The attributions are shown on top of the original image.
      GRAYSCALE: The attributions are shown on top of grayscaled version of
        the original image.
      MASK_BLACK: The attributions are used as a mask to reveal predictive
        parts of the image and hide the un-predictive parts.
    """
    OVERLAY_TYPE_UNSPECIFIED = 0
    NONE = 1
    ORIGINAL = 2
    GRAYSCALE = 3
    MASK_BLACK = 4

  class PolarityValueValuesEnum(_messages.Enum):
    r"""Whether to only highlight pixels with positive contributions, negative
    or both. Defaults to POSITIVE.

    Values:
      POLARITY_UNSPECIFIED: Default value. This is the same as POSITIVE.
      POSITIVE: Highlights the pixels/outlines that were most influential to
        the model's prediction.
      NEGATIVE: Setting polarity to negative highlights areas that does not
        lead to the models's current prediction.
      BOTH: Shows both positive and negative attributions.
    """
    POLARITY_UNSPECIFIED = 0
    POSITIVE = 1
    NEGATIVE = 2
    BOTH = 3

  class TypeValueValuesEnum(_messages.Enum):
    r"""Type of the image visualization. Only applicable to Integrated
    Gradients attribution. OUTLINES shows regions of attribution, while PIXELS
    shows per-pixel attribution. Defaults to OUTLINES.

    Values:
      TYPE_UNSPECIFIED: Should not be used.
      PIXELS: Shows which pixel contributed to the image prediction.
      OUTLINES: Shows which region contributed to the image prediction by
        outlining the region.
    """
    TYPE_UNSPECIFIED = 0
    PIXELS = 1
    OUTLINES = 2

  clipPercentLowerbound = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  clipPercentUpperbound = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  colorMap = _messages.EnumField('ColorMapValueValuesEnum', 3)
  overlayType = _messages.EnumField('OverlayTypeValueValuesEnum', 4)
  polarity = _messages.EnumField('PolarityValueValuesEnum', 5)
  type = _messages.EnumField('TypeValueValuesEnum', 6)


class GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata(_messages.Message):
  r"""Metadata of the prediction output to be explained.

  Fields:
    displayNameMappingKey: Specify a field name in the prediction to look for
      the display name. Use this if the prediction contains the display names
      for the outputs. The display names in the prediction must have the same
      shape of the outputs, so that it can be located by
      Attribution.output_index for a specific output.
    indexDisplayNameMapping: Static mapping between the index and display
      name. Use this if the outputs are a deterministic n-dimensional array,
      e.g. a list of scores of all the classes in a pre-defined order for a
      multi-classification Model. It's not feasible if the outputs are non-
      deterministic, e.g. the Model produces top-k classes or sort the outputs
      by their values. The shape of the value must be an n-dimensional array
      of strings. The number of dimensions must match that of the outputs to
      be explained. The Attribution.output_display_name is populated by
      locating in the mapping with Attribution.output_index.
    outputTensorName: Name of the output tensor. Required and is only
      applicable to Vertex AI provided images for Tensorflow.
  """

  displayNameMappingKey = _messages.StringField(1)
  indexDisplayNameMapping = _messages.MessageField('extra_types.JsonValue', 2)
  outputTensorName = _messages.StringField(3)


class GoogleCloudAiplatformV1ExplanationMetadataOverride(_messages.Message):
  r"""The ExplanationMetadata entries that can be overridden at online
  explanation time.

  Messages:
    InputsValue: Required. Overrides the input metadata of the features. The
      key is the name of the feature to be overridden. The keys specified here
      must exist in the input metadata to be overridden. If a feature is not
      specified here, the corresponding feature's input metadata is not
      overridden.

  Fields:
    inputs: Required. Overrides the input metadata of the features. The key is
      the name of the feature to be overridden. The keys specified here must
      exist in the input metadata to be overridden. If a feature is not
      specified here, the corresponding feature's input metadata is not
      overridden.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputsValue(_messages.Message):
    r"""Required. Overrides the input metadata of the features. The key is the
    name of the feature to be overridden. The keys specified here must exist
    in the input metadata to be overridden. If a feature is not specified
    here, the corresponding feature's input metadata is not overridden.

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

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

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

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

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

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

  inputs = _messages.MessageField('InputsValue', 1)


class GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride(_messages.Message):
  r"""The input metadata entries to be overridden.

  Fields:
    inputBaselines: Baseline inputs for this feature. This overrides the
      `input_baseline` field of the ExplanationMetadata.InputMetadata object
      of the corresponding feature's input metadata. If it's not specified,
      the original baselines are not overridden.
  """

  inputBaselines = _messages.MessageField('extra_types.JsonValue', 1, repeated=True)


class GoogleCloudAiplatformV1ExplanationParameters(_messages.Message):
  r"""Parameters to configure explaining for Model's predictions.

  Fields:
    examples: Example-based explanations that returns the nearest neighbors
      from the provided dataset.
    integratedGradientsAttribution: An attribution method that computes
      Aumann-Shapley values taking advantage of the model's fully
      differentiable structure. Refer to this paper for more details:
      https://arxiv.org/abs/1703.01365
    outputIndices: If populated, only returns attributions that have
      output_index contained in output_indices. It must be an ndarray of
      integers, with the same shape of the output it's explaining. If not
      populated, returns attributions for top_k indices of outputs. If neither
      top_k nor output_indices is populated, returns the argmax index of the
      outputs. Only applicable to Models that predict multiple outputs (e,g,
      multi-class Models that predict multiple classes).
    sampledShapleyAttribution: An attribution method that approximates Shapley
      values for features that contribute to the label being predicted. A
      sampling strategy is used to approximate the value rather than
      considering all subsets of features. Refer to this paper for model
      details: https://arxiv.org/abs/1306.4265.
    topK: If populated, returns attributions for top K indices of outputs
      (defaults to 1). Only applies to Models that predicts more than one
      outputs (e,g, multi-class Models). When set to -1, returns explanations
      for all outputs.
    xraiAttribution: An attribution method that redistributes Integrated
      Gradients attribution to segmented regions, taking advantage of the
      model's fully differentiable structure. Refer to this paper for more
      details: https://arxiv.org/abs/1906.02825 XRAI currently performs better
      on natural images, like a picture of a house or an animal. If the images
      are taken in artificial environments, like a lab or manufacturing line,
      or from diagnostic equipment, like x-rays or quality-control cameras,
      use Integrated Gradients instead.
  """

  examples = _messages.MessageField('GoogleCloudAiplatformV1Examples', 1)
  integratedGradientsAttribution = _messages.MessageField('GoogleCloudAiplatformV1IntegratedGradientsAttribution', 2)
  outputIndices = _messages.MessageField('extra_types.JsonValue', 3, repeated=True)
  sampledShapleyAttribution = _messages.MessageField('GoogleCloudAiplatformV1SampledShapleyAttribution', 4)
  topK = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  xraiAttribution = _messages.MessageField('GoogleCloudAiplatformV1XraiAttribution', 6)


class GoogleCloudAiplatformV1ExplanationSpec(_messages.Message):
  r"""Specification of Model explanation.

  Fields:
    metadata: Optional. Metadata describing the Model's input and output for
      explanation.
    parameters: Required. Parameters that configure explaining of the Model's
      predictions.
  """

  metadata = _messages.MessageField('GoogleCloudAiplatformV1ExplanationMetadata', 1)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1ExplanationParameters', 2)


class GoogleCloudAiplatformV1ExplanationSpecOverride(_messages.Message):
  r"""The ExplanationSpec entries that can be overridden at online explanation
  time.

  Fields:
    examplesOverride: The example-based explanations parameter overrides.
    metadata: The metadata to be overridden. If not specified, no metadata is
      overridden.
    parameters: The parameters to be overridden. Note that the attribution
      method cannot be changed. If not specified, no parameter is overridden.
  """

  examplesOverride = _messages.MessageField('GoogleCloudAiplatformV1ExamplesOverride', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1ExplanationMetadataOverride', 2)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1ExplanationParameters', 3)


class GoogleCloudAiplatformV1ExportDataConfig(_messages.Message):
  r"""Describes what part of the Dataset is to be exported, the destination of
  the export and how to export.

  Enums:
    ExportUseValueValuesEnum: Indicates the usage of the exported files.

  Fields:
    annotationSchemaUri: The Cloud Storage URI that points to a YAML file
      describing the annotation schema. The schema is defined as an OpenAPI
      3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). The schema
      files that can be used here are found in gs://google-cloud-
      aiplatform/schema/dataset/annotation/, note that the chosen schema must
      be consistent with metadata of the Dataset specified by
      ExportDataRequest.name. Only used for custom training data export use
      cases. Only applicable to Datasets that have DataItems and Annotations.
      Only Annotations that both match this schema and belong to DataItems not
      ignored by the split method are used in respectively training,
      validation or test role, depending on the role of the DataItem they are
      on. When used in conjunction with annotations_filter, the Annotations
      used for training are filtered by both annotations_filter and
      annotation_schema_uri.
    annotationsFilter: An expression for filtering what part of the Dataset is
      to be exported. Only Annotations that match this filter will be
      exported. The filter syntax is the same as in ListAnnotations.
    exportUse: Indicates the usage of the exported files.
    filterSplit: Split based on the provided filters for each set.
    fractionSplit: Split based on fractions defining the size of each set.
    gcsDestination: The Google Cloud Storage location where the output is to
      be written to. In the given directory a new directory will be created
      with name: `export-data--` where timestamp is in YYYY-MM-
      DDThh:mm:ss.sssZ ISO-8601 format. All export output will be written into
      that directory. Inside that directory, annotations with the same schema
      will be grouped into sub directories which are named with the
      corresponding annotations' schema title. Inside these sub directories, a
      schema.yaml will be created to describe the output format.
    savedQueryId: The ID of a SavedQuery (annotation set) under the Dataset
      specified by ExportDataRequest.name used for filtering Annotations for
      training. Only used for custom training data export use cases. Only
      applicable to Datasets that have SavedQueries. Only Annotations that are
      associated with this SavedQuery are used in respectively training. When
      used in conjunction with annotations_filter, the Annotations used for
      training are filtered by both saved_query_id and annotations_filter.
      Only one of saved_query_id and annotation_schema_uri should be specified
      as both of them represent the same thing: problem type.
  """

  class ExportUseValueValuesEnum(_messages.Enum):
    r"""Indicates the usage of the exported files.

    Values:
      EXPORT_USE_UNSPECIFIED: Regular user export.
      CUSTOM_CODE_TRAINING: Export for custom code training.
    """
    EXPORT_USE_UNSPECIFIED = 0
    CUSTOM_CODE_TRAINING = 1

  annotationSchemaUri = _messages.StringField(1)
  annotationsFilter = _messages.StringField(2)
  exportUse = _messages.EnumField('ExportUseValueValuesEnum', 3)
  filterSplit = _messages.MessageField('GoogleCloudAiplatformV1ExportFilterSplit', 4)
  fractionSplit = _messages.MessageField('GoogleCloudAiplatformV1ExportFractionSplit', 5)
  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 6)
  savedQueryId = _messages.StringField(7)


class GoogleCloudAiplatformV1ExportDataOperationMetadata(_messages.Message):
  r"""Runtime operation information for DatasetService.ExportData.

  Fields:
    gcsOutputDirectory: A Google Cloud Storage directory which path ends with
      '/'. The exported data is stored in the directory.
    genericMetadata: The common part of the operation metadata.
  """

  gcsOutputDirectory = _messages.StringField(1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1ExportDataRequest(_messages.Message):
  r"""Request message for DatasetService.ExportData.

  Fields:
    exportConfig: Required. The desired output location.
  """

  exportConfig = _messages.MessageField('GoogleCloudAiplatformV1ExportDataConfig', 1)


class GoogleCloudAiplatformV1ExportDataResponse(_messages.Message):
  r"""Response message for DatasetService.ExportData.

  Fields:
    dataStats: Only present for custom code training export use case. Records
      data stats, i.e., train/validation/test item/annotation counts
      calculated during the export operation.
    exportedFiles: All of the files that are exported in this export
      operation. For custom code training export, only three (training,
      validation and test) Cloud Storage paths in wildcard format are
      populated (for example, gs://.../training-*).
  """

  dataStats = _messages.MessageField('GoogleCloudAiplatformV1ModelDataStats', 1)
  exportedFiles = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata(_messages.Message):
  r"""Details of operations that exports Features values.

  Fields:
    genericMetadata: Operation metadata for Featurestore export Feature
      values.
  """

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


class GoogleCloudAiplatformV1ExportFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreService.ExportFeatureValues.

  Fields:
    destination: Required. Specifies destination location and format.
    featureSelector: Required. Selects Features to export values of.
    fullExport: Exports all historical values of all entities of the
      EntityType within a time range
    settings: Per-Feature export settings.
    snapshotExport: Exports the latest Feature values of all entities of the
      EntityType within a time range.
  """

  destination = _messages.MessageField('GoogleCloudAiplatformV1FeatureValueDestination', 1)
  featureSelector = _messages.MessageField('GoogleCloudAiplatformV1FeatureSelector', 2)
  fullExport = _messages.MessageField('GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport', 3)
  settings = _messages.MessageField('GoogleCloudAiplatformV1DestinationFeatureSetting', 4, repeated=True)
  snapshotExport = _messages.MessageField('GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport', 5)


class GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport(_messages.Message):
  r"""Describes exporting all historical Feature values of all entities of the
  EntityType between [start_time, end_time].

  Fields:
    endTime: Exports Feature values as of this timestamp. If not set, retrieve
      values as of now. Timestamp, if present, must not have higher than
      millisecond precision.
    startTime: Excludes Feature values with feature generation timestamp
      before this timestamp. If not set, retrieve oldest values kept in
      Feature Store. Timestamp, if present, must not have higher than
      millisecond precision.
  """

  endTime = _messages.StringField(1)
  startTime = _messages.StringField(2)


class GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport(_messages.Message):
  r"""Describes exporting the latest Feature values of all entities of the
  EntityType between [start_time, snapshot_time].

  Fields:
    snapshotTime: Exports Feature values as of this timestamp. If not set,
      retrieve values as of now. Timestamp, if present, must not have higher
      than millisecond precision.
    startTime: Excludes Feature values with feature generation timestamp
      before this timestamp. If not set, retrieve oldest values kept in
      Feature Store. Timestamp, if present, must not have higher than
      millisecond precision.
  """

  snapshotTime = _messages.StringField(1)
  startTime = _messages.StringField(2)


class GoogleCloudAiplatformV1ExportFeatureValuesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.ExportFeatureValues."""


class GoogleCloudAiplatformV1ExportFilterSplit(_messages.Message):
  r"""Assigns input data to training, validation, and test sets based on the
  given filters, data pieces not matched by any filter are ignored. Currently
  only supported for Datasets containing DataItems. If any of the filters in
  this message are to match nothing, then they can be set as '-' (the minus
  sign). Supported only for unstructured Datasets.

  Fields:
    testFilter: Required. A filter on DataItems of the Dataset. DataItems that
      match this filter are used to test the Model. A filter with same syntax
      as the one used in DatasetService.ListDataItems may be used. If a single
      DataItem is matched by more than one of the FilterSplit filters, then it
      is assigned to the first set that applies to it in the training,
      validation, test order.
    trainingFilter: Required. A filter on DataItems of the Dataset. DataItems
      that match this filter are used to train the Model. A filter with same
      syntax as the one used in DatasetService.ListDataItems may be used. If a
      single DataItem is matched by more than one of the FilterSplit filters,
      then it is assigned to the first set that applies to it in the training,
      validation, test order.
    validationFilter: Required. A filter on DataItems of the Dataset.
      DataItems that match this filter are used to validate the Model. A
      filter with same syntax as the one used in DatasetService.ListDataItems
      may be used. If a single DataItem is matched by more than one of the
      FilterSplit filters, then it is assigned to the first set that applies
      to it in the training, validation, test order.
  """

  testFilter = _messages.StringField(1)
  trainingFilter = _messages.StringField(2)
  validationFilter = _messages.StringField(3)


class GoogleCloudAiplatformV1ExportFractionSplit(_messages.Message):
  r"""Assigns the input data to training, validation, and test sets as per the
  given fractions. Any of `training_fraction`, `validation_fraction` and
  `test_fraction` may optionally be provided, they must sum to up to 1. If the
  provided ones sum to less than 1, the remainder is assigned to sets as
  decided by Vertex AI. If none of the fractions are set, by default roughly
  80% of data is used for training, 10% for validation, and 10% for test.

  Fields:
    testFraction: The fraction of the input data that is to be used to
      evaluate the Model.
    trainingFraction: The fraction of the input data that is to be used to
      train the Model.
    validationFraction: The fraction of the input data that is to be used to
      validate the Model.
  """

  testFraction = _messages.FloatField(1)
  trainingFraction = _messages.FloatField(2)
  validationFraction = _messages.FloatField(3)


class GoogleCloudAiplatformV1ExportModelOperationMetadata(_messages.Message):
  r"""Details of ModelService.ExportModel operation.

  Fields:
    genericMetadata: The common part of the operation metadata.
    outputInfo: Output only. Information further describing the output of this
      Model export.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  outputInfo = _messages.MessageField('GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo', 2)


class GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo(_messages.Message):
  r"""Further describes the output of the ExportModel. Supplements
  ExportModelRequest.OutputConfig.

  Fields:
    artifactOutputUri: Output only. If the Model artifact is being exported to
      Google Cloud Storage this is the full path of the directory created,
      into which the Model files are being written to.
    imageOutputUri: Output only. If the Model image is being exported to
      Google Container Registry or Artifact Registry this is the full path of
      the image created.
  """

  artifactOutputUri = _messages.StringField(1)
  imageOutputUri = _messages.StringField(2)


class GoogleCloudAiplatformV1ExportModelRequest(_messages.Message):
  r"""Request message for ModelService.ExportModel.

  Fields:
    outputConfig: Required. The desired output location and configuration.
  """

  outputConfig = _messages.MessageField('GoogleCloudAiplatformV1ExportModelRequestOutputConfig', 1)


class GoogleCloudAiplatformV1ExportModelRequestOutputConfig(_messages.Message):
  r"""Output configuration for the Model export.

  Fields:
    artifactDestination: The Cloud Storage location where the Model artifact
      is to be written to. Under the directory given as the destination a new
      one with name "`model-export--`", where timestamp is in YYYY-MM-
      DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside, the Model and
      any of its supporting files will be written. This field should only be
      set when the `exportableContent` field of the
      [Model.supported_export_formats] object contains `ARTIFACT`.
    exportFormatId: The ID of the format in which the Model must be exported.
      Each Model lists the export formats it supports. If no value is provided
      here, then the first from the list of the Model's supported formats is
      used by default.
    imageDestination: The Google Container Registry or Artifact Registry uri
      where the Model container image will be copied to. This field should
      only be set when the `exportableContent` field of the
      [Model.supported_export_formats] object contains `IMAGE`.
  """

  artifactDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)
  exportFormatId = _messages.StringField(2)
  imageDestination = _messages.MessageField('GoogleCloudAiplatformV1ContainerRegistryDestination', 3)


class GoogleCloudAiplatformV1ExportModelResponse(_messages.Message):
  r"""Response message of ModelService.ExportModel operation."""


class GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest(_messages.Message):
  r"""Request message for TensorboardService.ExportTensorboardTimeSeriesData.

  Fields:
    filter: Exports the TensorboardTimeSeries' data that match the filter
      expression.
    orderBy: Field to use to sort the TensorboardTimeSeries' data. By default,
      TensorboardTimeSeries' data is returned in a pseudo random order.
    pageSize: The maximum number of data points to return per page. The
      default page_size is 1000. Values must be between 1 and 10000. Values
      above 10000 are coerced to 10000.
    pageToken: A page token, received from a previous
      ExportTensorboardTimeSeriesData call. Provide this to retrieve the
      subsequent page. When paginating, all other parameters provided to
      ExportTensorboardTimeSeriesData must match the call that provided the
      page token.
  """

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


class GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse(_messages.Message):
  r"""Response message for TensorboardService.ExportTensorboardTimeSeriesData.

  Fields:
    nextPageToken: A token, which can be sent as page_token to retrieve the
      next page. If this field is omitted, there are no subsequent pages.
    timeSeriesDataPoints: The returned time series data points.
  """

  nextPageToken = _messages.StringField(1)
  timeSeriesDataPoints = _messages.MessageField('GoogleCloudAiplatformV1TimeSeriesDataPoint', 2, repeated=True)


class GoogleCloudAiplatformV1Fact(_messages.Message):
  r"""The fact used in grounding.

  Fields:
    chunk: If present, chunk properties.
    query: Query that is used to retrieve this fact.
    score: If present, according to the underlying Vector DB and the selected
      metric type, the score can be either the distance or the similarity
      between the query and the fact and its range depends on the metric type.
      For example, if the metric type is COSINE_DISTANCE, it represents the
      distance between the query and the fact. The larger the distance, the
      less relevant the fact is to the query. The range is [0, 2], while 0
      means the most relevant and 2 means the least relevant.
    summary: If present, the summary/snippet of the fact.
    title: If present, it refers to the title of this fact.
    uri: If present, this uri links to the source of the fact.
    vectorDistance: If present, the distance between the query vector and this
      fact vector.
  """

  chunk = _messages.MessageField('GoogleCloudAiplatformV1RagChunk', 1)
  query = _messages.StringField(2)
  score = _messages.FloatField(3)
  summary = _messages.StringField(4)
  title = _messages.StringField(5)
  uri = _messages.StringField(6)
  vectorDistance = _messages.FloatField(7)


class GoogleCloudAiplatformV1FasterDeploymentConfig(_messages.Message):
  r"""Configuration for faster model deployment.

  Fields:
    fastTryoutEnabled: If true, enable fast tryout feature for this deployed
      model.
  """

  fastTryoutEnabled = _messages.BooleanField(1)


class GoogleCloudAiplatformV1Feature(_messages.Message):
  r"""Feature Metadata information. For example, color is a feature that
  describes an apple.

  Enums:
    ValueTypeValueValuesEnum: Immutable. Only applicable for Vertex AI Feature
      Store (Legacy). Type of Feature value.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your Features. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      Feature (System labels are excluded)." System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Only applicable for Vertex AI Feature Store
      (Legacy). Timestamp when this EntityType was created.
    description: Description of the Feature.
    disableMonitoring: Optional. Only applicable for Vertex AI Feature Store
      (Legacy). If not set, use the monitoring_config defined for the
      EntityType this Feature belongs to. Only Features with type
      (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring.
      If set to true, all types of data monitoring are disabled despite the
      config on EntityType.
    etag: Used to perform a consistent read-modify-write updates. If not set,
      a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      Features. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      Feature (System labels are excluded)." System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.
    monitoringStatsAnomalies: Output only. Only applicable for Vertex AI
      Feature Store (Legacy). The list of historical stats and anomalies with
      specified objectives.
    name: Immutable. Name of the Feature. Format: `projects/{project}/location
      s/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/feat
      ures/{feature}` `projects/{project}/locations/{location}/featureGroups/{
      feature_group}/features/{feature}` The last part feature is assigned by
      the client. The feature can be up to 64 characters long and can consist
      only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits
      0-9 starting with a letter. The value will be unique given an entity
      type.
    pointOfContact: Entity responsible for maintaining this feature. Can be
      comma separated list of email addresses or URIs.
    updateTime: Output only. Only applicable for Vertex AI Feature Store
      (Legacy). Timestamp when this EntityType was most recently updated.
    valueType: Immutable. Only applicable for Vertex AI Feature Store
      (Legacy). Type of Feature value.
    versionColumnName: Only applicable for Vertex AI Feature Store. The name
      of the BigQuery Table/View column hosting data for this version. If no
      value is provided, will use feature_id.
  """

  class ValueTypeValueValuesEnum(_messages.Enum):
    r"""Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type
    of Feature value.

    Values:
      VALUE_TYPE_UNSPECIFIED: The value type is unspecified.
      BOOL: Used for Feature that is a boolean.
      BOOL_ARRAY: Used for Feature that is a list of boolean.
      DOUBLE: Used for Feature that is double.
      DOUBLE_ARRAY: Used for Feature that is a list of double.
      INT64: Used for Feature that is INT64.
      INT64_ARRAY: Used for Feature that is a list of INT64.
      STRING: Used for Feature that is string.
      STRING_ARRAY: Used for Feature that is a list of String.
      BYTES: Used for Feature that is bytes.
      STRUCT: Used for Feature that is struct.
    """
    VALUE_TYPE_UNSPECIFIED = 0
    BOOL = 1
    BOOL_ARRAY = 2
    DOUBLE = 3
    DOUBLE_ARRAY = 4
    INT64 = 5
    INT64_ARRAY = 6
    STRING = 7
    STRING_ARRAY = 8
    BYTES = 9
    STRUCT = 10

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    Features. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information on and examples of labels.
    No more than 64 user labels can be associated with one Feature (System
    labels are excluded)." System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  disableMonitoring = _messages.BooleanField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  monitoringStatsAnomalies = _messages.MessageField('GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly', 6, repeated=True)
  name = _messages.StringField(7)
  pointOfContact = _messages.StringField(8)
  updateTime = _messages.StringField(9)
  valueType = _messages.EnumField('ValueTypeValueValuesEnum', 10)
  versionColumnName = _messages.StringField(11)


class GoogleCloudAiplatformV1FeatureGroup(_messages.Message):
  r"""Vertex AI Feature Group.

  Enums:
    ServiceAgentTypeValueValuesEnum: Optional. Service agent type used during
      jobs under a FeatureGroup. By default, the Vertex AI Service Agent is
      used. When using an IAM Policy to isolate this FeatureGroup within a
      project, a separate service account should be provisioned by setting
      this field to `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a
      separate service account to access the BigQuery source table.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your FeatureGroup. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureGroup(System labels are excluded)." System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    bigQuery: Indicates that features for this group come from BigQuery
      Table/View. By default treats the source as a sparse time series source.
      The BigQuery source table or view must have at least one entity ID
      column and a column named `feature_timestamp`.
    createTime: Output only. Timestamp when this FeatureGroup was created.
    description: Optional. Description of the FeatureGroup.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      FeatureGroup. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureGroup(System labels are excluded)." System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Identifier. Name of the FeatureGroup. Format:
      `projects/{project}/locations/{location}/featureGroups/{featureGroup}`
    serviceAccountEmail: Output only. A Service Account unique to this
      FeatureGroup. The role bigquery.dataViewer should be granted to this
      service account to allow Vertex AI Feature Store to access source data
      while running jobs under this FeatureGroup.
    serviceAgentType: Optional. Service agent type used during jobs under a
      FeatureGroup. By default, the Vertex AI Service Agent is used. When
      using an IAM Policy to isolate this FeatureGroup within a project, a
      separate service account should be provisioned by setting this field to
      `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate
      service account to access the BigQuery source table.
    updateTime: Output only. Timestamp when this FeatureGroup was last
      updated.
  """

  class ServiceAgentTypeValueValuesEnum(_messages.Enum):
    r"""Optional. Service agent type used during jobs under a FeatureGroup. By
    default, the Vertex AI Service Agent is used. When using an IAM Policy to
    isolate this FeatureGroup within a project, a separate service account
    should be provisioned by setting this field to
    `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service
    account to access the BigQuery source table.

    Values:
      SERVICE_AGENT_TYPE_UNSPECIFIED: By default, the project-level Vertex AI
        Service Agent is enabled.
      SERVICE_AGENT_TYPE_PROJECT: Specifies the project-level Vertex AI
        Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-
        control#service-agents).
      SERVICE_AGENT_TYPE_FEATURE_GROUP: Enable a FeatureGroup service account
        to be created by Vertex AI and output in the field
        `service_account_email`. This service account will be used to read
        from the source BigQuery table during jobs under a FeatureGroup.
    """
    SERVICE_AGENT_TYPE_UNSPECIFIED = 0
    SERVICE_AGENT_TYPE_PROJECT = 1
    SERVICE_AGENT_TYPE_FEATURE_GROUP = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    FeatureGroup. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information on and examples of labels.
    No more than 64 user labels can be associated with one FeatureGroup(System
    labels are excluded)." System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  bigQuery = _messages.MessageField('GoogleCloudAiplatformV1FeatureGroupBigQuery', 1)
  createTime = _messages.StringField(2)
  description = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  name = _messages.StringField(6)
  serviceAccountEmail = _messages.StringField(7)
  serviceAgentType = _messages.EnumField('ServiceAgentTypeValueValuesEnum', 8)
  updateTime = _messages.StringField(9)


class GoogleCloudAiplatformV1FeatureGroupBigQuery(_messages.Message):
  r"""Input source type for BigQuery Tables and Views.

  Fields:
    bigQuerySource: Required. Immutable. The BigQuery source URI that points
      to either a BigQuery Table or View.
    dense: Optional. If set, all feature values will be fetched from a single
      row per unique entityId including nulls. If not set, will collapse all
      rows for each unique entityId into a singe row with any non-null values
      if present, if no non-null values are present will sync null. ex: If
      source has schema `(entity_id, feature_timestamp, f0, f1)` and the
      following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` `(e1,
      2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, 20, null)`
      is synced to online stores. If dense is not set, `(e1, 20, 15)` is
      synced to online stores.
    entityIdColumns: Optional. Columns to construct entity_id / row keys. If
      not provided defaults to `entity_id`.
    staticDataSource: Optional. Set if the data source is not a time-series.
    timeSeries: Optional. If the source is a time-series source, this can be
      set to control how downstream sources (ex: FeatureView ) will treat
      time-series sources. If not set, will treat the source as a time-series
      source with `feature_timestamp` as timestamp column and no scan
      boundary.
  """

  bigQuerySource = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 1)
  dense = _messages.BooleanField(2)
  entityIdColumns = _messages.StringField(3, repeated=True)
  staticDataSource = _messages.BooleanField(4)
  timeSeries = _messages.MessageField('GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries', 5)


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

  Fields:
    timestampColumn: Optional. Column hosting timestamp values for a time-
      series source. Will be used to determine the latest `feature_values` for
      each entity. Optional. If not provided, column named `feature_timestamp`
      of type `TIMESTAMP` will be used.
  """

  timestampColumn = _messages.StringField(1)


class GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly(_messages.Message):
  r"""A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats
  requested by user, sorted by FeatureStatsAnomaly.start_time descending.

  Enums:
    ObjectiveValueValuesEnum: Output only. The objective for each stats.

  Fields:
    featureStatsAnomaly: Output only. The stats and anomalies generated at
      specific timestamp.
    objective: Output only. The objective for each stats.
  """

  class ObjectiveValueValuesEnum(_messages.Enum):
    r"""Output only. The objective for each stats.

    Values:
      OBJECTIVE_UNSPECIFIED: If it's OBJECTIVE_UNSPECIFIED, monitoring_stats
        will be empty.
      IMPORT_FEATURE_ANALYSIS: Stats are generated by Import Feature Analysis.
      SNAPSHOT_ANALYSIS: Stats are generated by Snapshot Analysis.
    """
    OBJECTIVE_UNSPECIFIED = 0
    IMPORT_FEATURE_ANALYSIS = 1
    SNAPSHOT_ANALYSIS = 2

  featureStatsAnomaly = _messages.MessageField('GoogleCloudAiplatformV1FeatureStatsAnomaly', 1)
  objective = _messages.EnumField('ObjectiveValueValuesEnum', 2)


class GoogleCloudAiplatformV1FeatureNoiseSigma(_messages.Message):
  r"""Noise sigma by features. Noise sigma represents the standard deviation
  of the gaussian kernel that will be used to add noise to interpolated inputs
  prior to computing gradients.

  Fields:
    noiseSigma: Noise sigma per feature. No noise is added to features that
      are not set.
  """

  noiseSigma = _messages.MessageField('GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature', 1, repeated=True)


class GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature(_messages.Message):
  r"""Noise sigma for a single feature.

  Fields:
    name: The name of the input feature for which noise sigma is provided. The
      features are defined in explanation metadata inputs.
    sigma: This represents the standard deviation of the Gaussian kernel that
      will be used to add noise to the feature prior to computing gradients.
      Similar to noise_sigma but represents the noise added to the current
      feature. Defaults to 0.1.
  """

  name = _messages.StringField(1)
  sigma = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1FeatureOnlineStore(_messages.Message):
  r"""Vertex AI Feature Online Store provides a centralized repository for
  serving ML features and embedding indexes at low latency. The Feature Online
  Store is a top-level container.

  Enums:
    StateValueValuesEnum: Output only. State of the featureOnlineStore.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your FeatureOnlineStore. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureOnlineStore(System labels are excluded)." System reserved label
      keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    bigtable: Contains settings for the Cloud Bigtable instance that will be
      created to serve featureValues for all FeatureViews under this
      FeatureOnlineStore.
    createTime: Output only. Timestamp when this FeatureOnlineStore was
      created.
    dedicatedServingEndpoint: Optional. The dedicated serving endpoint for
      this FeatureOnlineStore, which is different from common Vertex service
      endpoint.
    encryptionSpec: Optional. Customer-managed encryption key spec for data
      storage. If set, online store will be secured by this key.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      FeatureOnlineStore. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureOnlineStore(System labels are excluded)." System reserved label
      keys are prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Identifier. Name of the FeatureOnlineStore. Format: `projects/{proje
      ct}/locations/{location}/featureOnlineStores/{featureOnlineStore}`
    optimized: Contains settings for the Optimized store that will be created
      to serve featureValues for all FeatureViews under this
      FeatureOnlineStore. When choose Optimized storage type, need to set
      PrivateServiceConnectConfig.enable_private_service_connect to use
      private endpoint. Otherwise will use public endpoint by default.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    state: Output only. State of the featureOnlineStore.
    updateTime: Output only. Timestamp when this FeatureOnlineStore was last
      updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. State of the featureOnlineStore.

    Values:
      STATE_UNSPECIFIED: Default value. This value is unused.
      STABLE: State when the featureOnlineStore configuration is not being
        updated and the fields reflect the current configuration of the
        featureOnlineStore. The featureOnlineStore is usable in this state.
      UPDATING: The state of the featureOnlineStore configuration when it is
        being updated. During an update, the fields reflect either the
        original configuration or the updated configuration of the
        featureOnlineStore. The featureOnlineStore is still usable in this
        state.
    """
    STATE_UNSPECIFIED = 0
    STABLE = 1
    UPDATING = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    FeatureOnlineStore. Label keys and values can be no longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information on and examples of
    labels. No more than 64 user labels can be associated with one
    FeatureOnlineStore(System labels are excluded)." System reserved label
    keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

    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)

  bigtable = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStoreBigtable', 1)
  createTime = _messages.StringField(2)
  dedicatedServingEndpoint = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint', 3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  etag = _messages.StringField(5)
  labels = _messages.MessageField('LabelsValue', 6)
  name = _messages.StringField(7)
  optimized = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStoreOptimized', 8)
  satisfiesPzi = _messages.BooleanField(9)
  satisfiesPzs = _messages.BooleanField(10)
  state = _messages.EnumField('StateValueValuesEnum', 11)
  updateTime = _messages.StringField(12)


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

  Fields:
    autoScaling: Required. Autoscaling config applied to Bigtable Instance.
    bigtableMetadata: Output only. Metadata of the Bigtable instance. Output
      only.
    enableDirectBigtableAccess: Optional. It true, enable direct access to the
      Bigtable instance.
    zone: Optional. The zone where the underlying Bigtable cluster for the
      primary Bigtable instance will be provisioned. Only the zone must be
      provided. For example, only "us-central1-a" should be provided.
  """

  autoScaling = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling', 1)
  bigtableMetadata = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata', 2)
  enableDirectBigtableAccess = _messages.BooleanField(3)
  zone = _messages.StringField(4)


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

  Fields:
    cpuUtilizationTarget: Optional. A percentage of the cluster's CPU
      capacity. Can be from 10% to 80%. When a cluster's CPU utilization
      exceeds the target that you have set, Bigtable immediately adds nodes to
      the cluster. When CPU utilization is substantially lower than the
      target, Bigtable removes nodes. If not set will default to 50%.
    maxNodeCount: Required. The maximum number of nodes to scale up to. Must
      be greater than or equal to min_node_count, and less than or equal to 10
      times of 'min_node_count'.
    minNodeCount: Required. The minimum number of nodes to scale down to. Must
      be greater than or equal to 1.
  """

  cpuUtilizationTarget = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  maxNodeCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  minNodeCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1FeatureOnlineStoreBigtableBigtableMetadata(_messages.Message):
  r"""Metadata of the Bigtable instance. This is used by direct read access to
  the Bigtable in tenant project.

  Fields:
    instanceId: The Cloud Bigtable instance id.
    tableId: The Cloud Bigtable table id.
    tenantProjectId: Tenant project ID.
  """

  instanceId = _messages.StringField(1)
  tableId = _messages.StringField(2)
  tenantProjectId = _messages.StringField(3)


class GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint(_messages.Message):
  r"""The dedicated serving endpoint for this FeatureOnlineStore. Only need to
  set when you choose Optimized storage type. Public endpoint is provisioned
  by default.

  Fields:
    privateServiceConnectConfig: Optional. Private service connect config. The
      private service connection is available only for Optimized storage type,
      not for embedding management now. If
      PrivateServiceConnectConfig.enable_private_service_connect set to true,
      customers will use private service connection to send request.
      Otherwise, the connection will set to public endpoint.
    publicEndpointDomainName: Output only. This field will be populated with
      the domain name to use for this FeatureOnlineStore
    serviceAttachment: Output only. The name of the service attachment
      resource. Populated if private service connect is enabled and after
      FeatureViewSync is created.
  """

  privateServiceConnectConfig = _messages.MessageField('GoogleCloudAiplatformV1PrivateServiceConnectConfig', 1)
  publicEndpointDomainName = _messages.StringField(2)
  serviceAttachment = _messages.StringField(3)


class GoogleCloudAiplatformV1FeatureOnlineStoreOptimized(_messages.Message):
  r"""Optimized storage type"""


class GoogleCloudAiplatformV1FeatureSelector(_messages.Message):
  r"""Selector for Features of an EntityType.

  Fields:
    idMatcher: Required. Matches Features based on ID.
  """

  idMatcher = _messages.MessageField('GoogleCloudAiplatformV1IdMatcher', 1)


class GoogleCloudAiplatformV1FeatureStatsAnomaly(_messages.Message):
  r"""Stats and Anomaly generated at specific timestamp for specific Feature.
  The start_time and end_time are used to define the time range of the dataset
  that current stats belongs to, e.g. prediction traffic is bucketed into
  prediction datasets by time window. If the Dataset is not defined by time
  window, start_time = end_time. Timestamp of the stats and anomalies always
  refers to end_time. Raw stats and anomalies are stored in stats_uri or
  anomaly_uri in the tensorflow defined protos. Field data_stats contains
  almost identical information with the raw stats in Vertex AI defined proto,
  for UI to display.

  Fields:
    anomalyDetectionThreshold: This is the threshold used when detecting
      anomalies. The threshold can be changed by user, so this one might be
      different from ThresholdConfig.value.
    anomalyUri: Path of the anomaly file for current feature values in Cloud
      Storage bucket. Format: gs:////anomalies. Example:
      gs://monitoring_bucket/feature_name/anomalies. Stats are stored as
      binary format with Protobuf message Anoamlies are stored as binary
      format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] (https
      ://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/
      v0/anomalies.proto).
    distributionDeviation: Deviation from the current stats to baseline stats.
      1. For categorical feature, the distribution distance is calculated by
      L-inifinity norm. 2. For numerical feature, the distribution distance is
      calculated by Jensen\u2013Shannon divergence.
    endTime: The end timestamp of window where stats were generated. For
      objectives where time window doesn't make sense (e.g. Featurestore
      Snapshot Monitoring), end_time indicates the timestamp of the data used
      to generate stats (e.g. timestamp we take snapshots for feature values).
    score: Feature importance score, only populated when cross-feature
      monitoring is enabled. For now only used to represent feature
      attribution score within range [0, 1] for
      ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and
      ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.
    startTime: The start timestamp of window where stats were generated. For
      objectives where time window doesn't make sense (e.g. Featurestore
      Snapshot Monitoring), start_time is only used to indicate the monitoring
      intervals, so it always equals to (end_time - monitoring_interval).
    statsUri: Path of the stats file for current feature values in Cloud
      Storage bucket. Format: gs:////stats. Example:
      gs://monitoring_bucket/feature_name/stats. Stats are stored as binary
      format with Protobuf message [tensorflow.metadata.v0.FeatureNameStatisti
      cs](https://github.com/tensorflow/metadata/blob/master/tensorflow_metada
      ta/proto/v0/statistics.proto).
  """

  anomalyDetectionThreshold = _messages.FloatField(1)
  anomalyUri = _messages.StringField(2)
  distributionDeviation = _messages.FloatField(3)
  endTime = _messages.StringField(4)
  score = _messages.FloatField(5)
  startTime = _messages.StringField(6)
  statsUri = _messages.StringField(7)


class GoogleCloudAiplatformV1FeatureValue(_messages.Message):
  r"""Value for a feature.

  Fields:
    boolArrayValue: A list of bool type feature value.
    boolValue: Bool type feature value.
    bytesValue: Bytes feature value.
    doubleArrayValue: A list of double type feature value.
    doubleValue: Double type feature value.
    int64ArrayValue: A list of int64 type feature value.
    int64Value: Int64 feature value.
    metadata: Metadata of feature value.
    stringArrayValue: A list of string type feature value.
    stringValue: String feature value.
    structValue: A struct type feature value.
  """

  boolArrayValue = _messages.MessageField('GoogleCloudAiplatformV1BoolArray', 1)
  boolValue = _messages.BooleanField(2)
  bytesValue = _messages.BytesField(3)
  doubleArrayValue = _messages.MessageField('GoogleCloudAiplatformV1DoubleArray', 4)
  doubleValue = _messages.FloatField(5)
  int64ArrayValue = _messages.MessageField('GoogleCloudAiplatformV1Int64Array', 6)
  int64Value = _messages.IntegerField(7)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1FeatureValueMetadata', 8)
  stringArrayValue = _messages.MessageField('GoogleCloudAiplatformV1StringArray', 9)
  stringValue = _messages.StringField(10)
  structValue = _messages.MessageField('GoogleCloudAiplatformV1StructValue', 11)


class GoogleCloudAiplatformV1FeatureValueDestination(_messages.Message):
  r"""A destination location for Feature values and format.

  Fields:
    bigqueryDestination: Output in BigQuery format.
      BigQueryDestination.output_uri in
      FeatureValueDestination.bigquery_destination must refer to a table.
    csvDestination: Output in CSV format. Array Feature value types are not
      allowed in CSV format.
    tfrecordDestination: Output in TFRecord format. Below are the mapping from
      Feature value type in Featurestore to Feature value type in TFRecord:
      Value type in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY
      | FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, BYTES
      | BYTES_LIST true -> byte_string("true"), false -> byte_string("false")
      BOOL, BOOL_ARRAY (true, false) | BYTES_LIST
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 1)
  csvDestination = _messages.MessageField('GoogleCloudAiplatformV1CsvDestination', 2)
  tfrecordDestination = _messages.MessageField('GoogleCloudAiplatformV1TFRecordDestination', 3)


class GoogleCloudAiplatformV1FeatureValueList(_messages.Message):
  r"""Container for list of values.

  Fields:
    values: A list of feature values. All of them should be the same data
      type.
  """

  values = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 1, repeated=True)


class GoogleCloudAiplatformV1FeatureValueMetadata(_messages.Message):
  r"""Metadata of feature value.

  Fields:
    generateTime: Feature generation timestamp. Typically, it is provided by
      user at feature ingestion time. If not, feature store will use the
      system timestamp when the data is ingested into feature store. Legacy
      Feature Store: For streaming ingestion, the time, aligned by days, must
      be no older than five years (1825 days) and no later than one year (366
      days) in the future.
  """

  generateTime = _messages.StringField(1)


class GoogleCloudAiplatformV1FeatureView(_messages.Message):
  r"""FeatureView is representation of values that the FeatureOnlineStore will
  serve based on its syncConfig.

  Enums:
    ServiceAgentTypeValueValuesEnum: Optional. Service agent type used during
      data sync. By default, the Vertex AI Service Agent is used. When using
      an IAM Policy to isolate this FeatureView within a project, a separate
      service account should be provisioned by setting this field to
      `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service
      account to access the BigQuery source table.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your FeatureViews. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureOnlineStore(System labels are excluded)." System reserved label
      keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    bigQuerySource: Optional. Configures how data is supposed to be extracted
      from a BigQuery source to be loaded onto the FeatureOnlineStore.
    bigtableMetadata: Output only. Metadata containing information about the
      Cloud Bigtable.
    createTime: Output only. Timestamp when this FeatureView was created.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    featureRegistrySource: Optional. Configures the features from a Feature
      Registry source that need to be loaded onto the FeatureOnlineStore.
    indexConfig: Optional. Configuration for index preparation for vector
      search. It contains the required configurations to create an index from
      source data, so that approximate nearest neighbor (a.k.a ANN) algorithms
      search can be performed during online serving.
    labels: Optional. The labels with user-defined metadata to organize your
      FeatureViews. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      FeatureOnlineStore(System labels are excluded)." System reserved label
      keys are prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Identifier. Name of the FeatureView. Format: `projects/{project}/loc
      ations/{location}/featureOnlineStores/{feature_online_store}/featureView
      s/{feature_view}`
    optimizedConfig: Optional. Configuration for FeatureView created under
      Optimized FeatureOnlineStore.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    serviceAccountEmail: Output only. A Service Account unique to this
      FeatureView. The role bigquery.dataViewer should be granted to this
      service account to allow Vertex AI Feature Store to sync data to the
      online store.
    serviceAgentType: Optional. Service agent type used during data sync. By
      default, the Vertex AI Service Agent is used. When using an IAM Policy
      to isolate this FeatureView within a project, a separate service account
      should be provisioned by setting this field to
      `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate a separate service
      account to access the BigQuery source table.
    syncConfig: Configures when data is to be synced/updated for this
      FeatureView. At the end of the sync the latest featureValues for each
      entityId of this FeatureView are made ready for online serving.
    updateTime: Output only. Timestamp when this FeatureView was last updated.
    vertexRagSource: Optional. The Vertex RAG Source that the FeatureView is
      linked to.
  """

  class ServiceAgentTypeValueValuesEnum(_messages.Enum):
    r"""Optional. Service agent type used during data sync. By default, the
    Vertex AI Service Agent is used. When using an IAM Policy to isolate this
    FeatureView within a project, a separate service account should be
    provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
    This will generate a separate service account to access the BigQuery
    source table.

    Values:
      SERVICE_AGENT_TYPE_UNSPECIFIED: By default, the project-level Vertex AI
        Service Agent is enabled.
      SERVICE_AGENT_TYPE_PROJECT: Indicates the project-level Vertex AI
        Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-
        control#service-agents) will be used during sync jobs.
      SERVICE_AGENT_TYPE_FEATURE_VIEW: Enable a FeatureView service account to
        be created by Vertex AI and output in the field
        `service_account_email`. This service account will be used to read
        from the source BigQuery table during sync.
    """
    SERVICE_AGENT_TYPE_UNSPECIFIED = 0
    SERVICE_AGENT_TYPE_PROJECT = 1
    SERVICE_AGENT_TYPE_FEATURE_VIEW = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    FeatureViews. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information on and examples of labels.
    No more than 64 user labels can be associated with one
    FeatureOnlineStore(System labels are excluded)." System reserved label
    keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

    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)

  bigQuerySource = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewBigQuerySource', 1)
  bigtableMetadata = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewBigtableMetadata', 2)
  createTime = _messages.StringField(3)
  etag = _messages.StringField(4)
  featureRegistrySource = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource', 5)
  indexConfig = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewIndexConfig', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  name = _messages.StringField(8)
  optimizedConfig = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewOptimizedConfig', 9)
  satisfiesPzi = _messages.BooleanField(10)
  satisfiesPzs = _messages.BooleanField(11)
  serviceAccountEmail = _messages.StringField(12)
  serviceAgentType = _messages.EnumField('ServiceAgentTypeValueValuesEnum', 13)
  syncConfig = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewSyncConfig', 14)
  updateTime = _messages.StringField(15)
  vertexRagSource = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewVertexRagSource', 16)


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

  Fields:
    entityIdColumns: Required. Columns to construct entity_id / row keys.
    uri: Required. The BigQuery view URI that will be materialized on each
      sync trigger based on FeatureView.SyncConfig.
  """

  entityIdColumns = _messages.StringField(1, repeated=True)
  uri = _messages.StringField(2)


class GoogleCloudAiplatformV1FeatureViewBigtableMetadata(_messages.Message):
  r"""Metadata for the Cloud Bigtable that supports directly interacting
  Bigtable instances.

  Fields:
    readAppProfile: Output only. The Bigtable App Profile to use for reading
      from Bigtable.
  """

  readAppProfile = _messages.StringField(1)


class GoogleCloudAiplatformV1FeatureViewDataKey(_messages.Message):
  r"""Lookup key for a feature view.

  Fields:
    compositeKey: The actual Entity ID will be composed from this struct. This
      should match with the way ID is defined in the FeatureView spec.
    key: String key to use for lookup.
  """

  compositeKey = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey', 1)
  key = _messages.StringField(2)


class GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey(_messages.Message):
  r"""ID that is comprised from several parts (columns).

  Fields:
    parts: Parts to construct Entity ID. Should match with the same ID columns
      as defined in FeatureView in the same order.
  """

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


class GoogleCloudAiplatformV1FeatureViewDirectWriteRequest(_messages.Message):
  r"""Request message for FeatureOnlineStoreService.FeatureViewDirectWrite.

  Fields:
    dataKeyAndFeatureValues: Required. The data keys and associated feature
      values.
  """

  dataKeyAndFeatureValues = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues', 1, repeated=True)


class GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValues(_messages.Message):
  r"""A data key and associated feature values to write to the feature view.

  Fields:
    dataKey: The data key.
    features: List of features to write.
  """

  dataKey = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDataKey', 1)
  features = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature', 2, repeated=True)


class GoogleCloudAiplatformV1FeatureViewDirectWriteRequestDataKeyAndFeatureValuesFeature(_messages.Message):
  r"""Feature name & value pair.

  Fields:
    name: Feature short name.
    value: Feature value. A user provided timestamp may be set in the
      `FeatureValue.metadata.generate_time` field.
  """

  name = _messages.StringField(1)
  value = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 2)


class GoogleCloudAiplatformV1FeatureViewDirectWriteResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreService.FeatureViewDirectWrite.

  Fields:
    status: Response status for the keys listed in
      FeatureViewDirectWriteResponse.write_responses. The error only applies
      to the listed data keys - the stream will remain open for further
      FeatureOnlineStoreService.FeatureViewDirectWriteRequest requests.
      Partial failures (e.g. if the first 10 keys of a request fail, but the
      rest succeed) from a single request may result in multiple responses -
      there will be one response for the successful request keys and one
      response for the failing request keys.
    writeResponses: Details about write for each key. If status is not OK,
      WriteResponse.data_key will have the key with error, but
      WriteResponse.online_store_write_time will not be present.
  """

  status = _messages.MessageField('GoogleRpcStatus', 1)
  writeResponses = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse', 2, repeated=True)


class GoogleCloudAiplatformV1FeatureViewDirectWriteResponseWriteResponse(_messages.Message):
  r"""Details about the write for each key.

  Fields:
    dataKey: What key is this write response associated with.
    onlineStoreWriteTime: When the feature values were written to the online
      store. If FeatureViewDirectWriteResponse.status is not OK, this field is
      not populated.
  """

  dataKey = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDataKey', 1)
  onlineStoreWriteTime = _messages.StringField(2)


class GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource(_messages.Message):
  r"""A Feature Registry source for features that need to be synced to Online
  Store.

  Fields:
    featureGroups: Required. List of features that need to be synced to Online
      Store.
    projectNumber: Optional. The project number of the parent project of the
      Feature Groups.
  """

  featureGroups = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup', 1, repeated=True)
  projectNumber = _messages.IntegerField(2)


class GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup(_messages.Message):
  r"""Features belonging to a single feature group that will be synced to
  Online Store.

  Fields:
    featureGroupId: Required. Identifier of the feature group.
    featureIds: Required. Identifiers of features under the feature group.
  """

  featureGroupId = _messages.StringField(1)
  featureIds = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1FeatureViewIndexConfig(_messages.Message):
  r"""Configuration for vector indexing.

  Enums:
    DistanceMeasureTypeValueValuesEnum: Optional. The distance measure used in
      nearest neighbor search.

  Fields:
    bruteForceConfig: Optional. Configuration options for using brute force
      search, which simply implements the standard linear search in the
      database for each query. It is primarily meant for benchmarking and to
      generate the ground truth for approximate search.
    crowdingColumn: Optional. Column of crowding. This column contains
      crowding attribute which is a constraint on a neighbor list produced by
      FeatureOnlineStoreService.SearchNearestEntities to diversify search
      results. If NearestNeighborQuery.per_crowding_attribute_neighbor_count
      is set to K in SearchNearestEntitiesRequest, it's guaranteed that no
      more than K entities of the same crowding attribute are returned in the
      response.
    distanceMeasureType: Optional. The distance measure used in nearest
      neighbor search.
    embeddingColumn: Optional. Column of embedding. This column contains the
      source data to create index for vector search. embedding_column must be
      set when using vector search.
    embeddingDimension: Optional. The number of dimensions of the input
      embedding.
    filterColumns: Optional. Columns of features that're used to filter vector
      search results.
    treeAhConfig: Optional. Configuration options for the tree-AH algorithm
      (Shallow tree + Asymmetric Hashing). Please refer to this paper for more
      details: https://arxiv.org/abs/1908.10396
  """

  class DistanceMeasureTypeValueValuesEnum(_messages.Enum):
    r"""Optional. The distance measure used in nearest neighbor search.

    Values:
      DISTANCE_MEASURE_TYPE_UNSPECIFIED: Should not be set.
      SQUARED_L2_DISTANCE: Euclidean (L_2) Distance.
      COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity. We
        strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of
        COSINE distance. Our algorithms have been more optimized for
        DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is
        mathematically equivalent to COSINE distance and results in the same
        ranking.
      DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the
        dot product.
    """
    DISTANCE_MEASURE_TYPE_UNSPECIFIED = 0
    SQUARED_L2_DISTANCE = 1
    COSINE_DISTANCE = 2
    DOT_PRODUCT_DISTANCE = 3

  bruteForceConfig = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig', 1)
  crowdingColumn = _messages.StringField(2)
  distanceMeasureType = _messages.EnumField('DistanceMeasureTypeValueValuesEnum', 3)
  embeddingColumn = _messages.StringField(4)
  embeddingDimension = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  filterColumns = _messages.StringField(6, repeated=True)
  treeAhConfig = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig', 7)


class GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig(_messages.Message):
  r"""Configuration options for using brute force search."""


class GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig(_messages.Message):
  r"""Configuration options for the tree-AH algorithm.

  Fields:
    leafNodeEmbeddingCount: Optional. Number of embeddings on each leaf node.
      The default value is 1000 if not set.
  """

  leafNodeEmbeddingCount = _messages.IntegerField(1)


class GoogleCloudAiplatformV1FeatureViewOptimizedConfig(_messages.Message):
  r"""Configuration for FeatureViews created in Optimized FeatureOnlineStore.

  Fields:
    automaticResources: Optional. A description of resources that the
      FeatureView uses, which to large degree are decided by Vertex AI, and
      optionally allows only a modest additional configuration. If
      min_replica_count is not set, the default value is 2. If
      max_replica_count is not set, the default value is 6. The max allowed
      replica count is 1000.
  """

  automaticResources = _messages.MessageField('GoogleCloudAiplatformV1AutomaticResources', 1)


class GoogleCloudAiplatformV1FeatureViewSync(_messages.Message):
  r"""FeatureViewSync is a representation of sync operation which copies data
  from data source to Feature View in Online Store.

  Fields:
    createTime: Output only. Time when this FeatureViewSync is created.
      Creation of a FeatureViewSync means that the job is pending / waiting
      for sufficient resources but may not have started the actual data
      transfer yet.
    finalStatus: Output only. Final status of the FeatureViewSync.
    name: Identifier. Name of the FeatureViewSync. Format: `projects/{project}
      /locations/{location}/featureOnlineStores/{feature_online_store}/feature
      Views/{feature_view}/featureViewSyncs/{feature_view_sync}`
    runTime: Output only. Time when this FeatureViewSync is finished.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    syncSummary: Output only. Summary of the sync job.
  """

  createTime = _messages.StringField(1)
  finalStatus = _messages.MessageField('GoogleRpcStatus', 2)
  name = _messages.StringField(3)
  runTime = _messages.MessageField('GoogleTypeInterval', 4)
  satisfiesPzi = _messages.BooleanField(5)
  satisfiesPzs = _messages.BooleanField(6)
  syncSummary = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewSyncSyncSummary', 7)


class GoogleCloudAiplatformV1FeatureViewSyncConfig(_messages.Message):
  r"""Configuration for Sync. Only one option is set.

  Fields:
    continuous: Optional. If true, syncs the FeatureView in a continuous
      manner to Online Store.
    cron: Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch
      scheduled runs. To explicitly set a timezone to the cron tab, apply a
      prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or
      "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string
      from IANA time zone database. For example, "CRON_TZ=America/New_York 1 *
      * * *", or "TZ=America/New_York 1 * * * *".
  """

  continuous = _messages.BooleanField(1)
  cron = _messages.StringField(2)


class GoogleCloudAiplatformV1FeatureViewSyncSyncSummary(_messages.Message):
  r"""Summary from the Sync job. For continuous syncs, the summary is updated
  periodically. For batch syncs, it gets updated on completion of the sync.

  Fields:
    rowSynced: Output only. Total number of rows synced.
    systemWatermarkTime: Lower bound of the system time watermark for the sync
      job. This is only set for continuously syncing feature views.
    totalSlot: Output only. BigQuery slot milliseconds consumed for the sync
      job.
  """

  rowSynced = _messages.IntegerField(1)
  systemWatermarkTime = _messages.StringField(2)
  totalSlot = _messages.IntegerField(3)


class GoogleCloudAiplatformV1FeatureViewVertexRagSource(_messages.Message):
  r"""A Vertex Rag source for features that need to be synced to Online Store.

  Fields:
    ragCorpusId: Optional. The RAG corpus id corresponding to this
      FeatureView.
    uri: Required. The BigQuery view/table URI that will be materialized on
      each manual sync trigger. The table/view is expected to have the
      following columns and types at least: - `corpus_id` (STRING,
      NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - `chunk_id`
      (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING,
      NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) -
      `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING,
      NULLABLE/REQUIRED)
  """

  ragCorpusId = _messages.IntegerField(1)
  uri = _messages.StringField(2)


class GoogleCloudAiplatformV1Featurestore(_messages.Message):
  r"""Vertex AI Feature Store provides a centralized repository for
  organizing, storing, and serving ML features. The Featurestore is a top-
  level container for your features and their values.

  Enums:
    StateValueValuesEnum: Output only. State of the featurestore.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      your Featurestore. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      Featurestore(System labels are excluded)." System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Timestamp when this Featurestore was created.
    encryptionSpec: Optional. Customer-managed encryption key spec for data
      storage. If set, both of the online and offline data storage will be
      secured by this key.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Optional. The labels with user-defined metadata to organize your
      Featurestore. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information on and examples
      of labels. No more than 64 user labels can be associated with one
      Featurestore(System labels are excluded)." System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Output only. Name of the Featurestore. Format:
      `projects/{project}/locations/{location}/featurestores/{featurestore}`
    onlineServingConfig: Optional. Config for online storage resources. The
      field should not co-exist with the field of
      `OnlineStoreReplicationConfig`. If both of it and
      OnlineStoreReplicationConfig are unset, the feature store will not have
      an online store and cannot be used for online serving.
    onlineStorageTtlDays: Optional. TTL in days for feature values that will
      be stored in online serving storage. The Feature Store online storage
      periodically removes obsolete feature values older than
      `online_storage_ttl_days` since the feature generation time. Note that
      `online_storage_ttl_days` should be less than or equal to
      `offline_storage_ttl_days` for each EntityType under a featurestore. If
      not set, default to 4000 days
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    state: Output only. State of the featurestore.
    updateTime: Output only. Timestamp when this Featurestore was last
      updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. State of the featurestore.

    Values:
      STATE_UNSPECIFIED: Default value. This value is unused.
      STABLE: State when the featurestore configuration is not being updated
        and the fields reflect the current configuration of the featurestore.
        The featurestore is usable in this state.
      UPDATING: The state of the featurestore configuration when it is being
        updated. During an update, the fields reflect either the original
        configuration or the updated configuration of the featurestore. For
        example, `online_serving_config.fixed_node_count` can take minutes to
        update. While the update is in progress, the featurestore is in the
        UPDATING state, and the value of `fixed_node_count` can be the
        original value or the updated value, depending on the progress of the
        operation. Until the update completes, the actual number of nodes can
        still be the original value of `fixed_node_count`. The featurestore is
        still usable in this state.
    """
    STATE_UNSPECIFIED = 0
    STABLE = 1
    UPDATING = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize your
    Featurestore. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    See https://goo.gl/xmQnxf for more information on and examples of labels.
    No more than 64 user labels can be associated with one Featurestore(System
    labels are excluded)." System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  createTime = _messages.StringField(1)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 2)
  etag = _messages.StringField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  onlineServingConfig = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig', 6)
  onlineStorageTtlDays = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  satisfiesPzi = _messages.BooleanField(8)
  satisfiesPzs = _messages.BooleanField(9)
  state = _messages.EnumField('StateValueValuesEnum', 10)
  updateTime = _messages.StringField(11)


class GoogleCloudAiplatformV1FeaturestoreMonitoringConfig(_messages.Message):
  r"""Configuration of how features in Featurestore are monitored.

  Fields:
    categoricalThresholdConfig: Threshold for categorical features of anomaly
      detection. This is shared by all types of Featurestore Monitoring for
      categorical features (i.e. Features with type (Feature.ValueType) BOOL
      or STRING).
    importFeaturesAnalysis: The config for ImportFeatures Analysis Based
      Feature Monitoring.
    numericalThresholdConfig: Threshold for numerical features of anomaly
      detection. This is shared by all objectives of Featurestore Monitoring
      for numerical features (i.e. Features with type (Feature.ValueType)
      DOUBLE or INT64).
    snapshotAnalysis: The config for Snapshot Analysis Based Feature
      Monitoring.
  """

  categoricalThresholdConfig = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig', 1)
  importFeaturesAnalysis = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis', 2)
  numericalThresholdConfig = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig', 3)
  snapshotAnalysis = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis', 4)


class GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis(_messages.Message):
  r"""Configuration of the Featurestore's ImportFeature Analysis Based
  Monitoring. This type of analysis generates statistics for values of each
  Feature imported by every ImportFeatureValues operation.

  Enums:
    AnomalyDetectionBaselineValueValuesEnum: The baseline used to do anomaly
      detection for the statistics generated by import features analysis.
    StateValueValuesEnum: Whether to enable / disable / inherite default
      hebavior for import features analysis.

  Fields:
    anomalyDetectionBaseline: The baseline used to do anomaly detection for
      the statistics generated by import features analysis.
    state: Whether to enable / disable / inherite default hebavior for import
      features analysis.
  """

  class AnomalyDetectionBaselineValueValuesEnum(_messages.Enum):
    r"""The baseline used to do anomaly detection for the statistics generated
    by import features analysis.

    Values:
      BASELINE_UNSPECIFIED: Should not be used.
      LATEST_STATS: Choose the later one statistics generated by either most
        recent snapshot analysis or previous import features analysis. If non
        of them exists, skip anomaly detection and only generate a statistics.
      MOST_RECENT_SNAPSHOT_STATS: Use the statistics generated by the most
        recent snapshot analysis if exists.
      PREVIOUS_IMPORT_FEATURES_STATS: Use the statistics generated by the
        previous import features analysis if exists.
    """
    BASELINE_UNSPECIFIED = 0
    LATEST_STATS = 1
    MOST_RECENT_SNAPSHOT_STATS = 2
    PREVIOUS_IMPORT_FEATURES_STATS = 3

  class StateValueValuesEnum(_messages.Enum):
    r"""Whether to enable / disable / inherite default hebavior for import
    features analysis.

    Values:
      STATE_UNSPECIFIED: Should not be used.
      DEFAULT: The default behavior of whether to enable the monitoring.
        EntityType-level config: disabled. Feature-level config: inherited
        from the configuration of EntityType this Feature belongs to.
      ENABLED: Explicitly enables import features analysis. EntityType-level
        config: by default enables import features analysis for all Features
        under it. Feature-level config: enables import features analysis
        regardless of the EntityType-level config.
      DISABLED: Explicitly disables import features analysis. EntityType-level
        config: by default disables import features analysis for all Features
        under it. Feature-level config: disables import features analysis
        regardless of the EntityType-level config.
    """
    STATE_UNSPECIFIED = 0
    DEFAULT = 1
    ENABLED = 2
    DISABLED = 3

  anomalyDetectionBaseline = _messages.EnumField('AnomalyDetectionBaselineValueValuesEnum', 1)
  state = _messages.EnumField('StateValueValuesEnum', 2)


class GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis(_messages.Message):
  r"""Configuration of the Featurestore's Snapshot Analysis Based Monitoring.
  This type of analysis generates statistics for each Feature based on a
  snapshot of the latest feature value of each entities every
  monitoring_interval.

  Fields:
    disabled: The monitoring schedule for snapshot analysis. For EntityType-
      level config: unset / disabled = true indicates disabled by default for
      Features under it; otherwise by default enable snapshot analysis
      monitoring with monitoring_interval for Features under it. Feature-level
      config: disabled = true indicates disabled regardless of the EntityType-
      level config; unset monitoring_interval indicates going with EntityType-
      level config; otherwise run snapshot analysis monitoring with
      monitoring_interval regardless of the EntityType-level config.
      Explicitly Disable the snapshot analysis based monitoring.
    monitoringIntervalDays: Configuration of the snapshot analysis based
      monitoring pipeline running interval. The value indicates number of
      days.
    stalenessDays: Customized export features time window for snapshot
      analysis. Unit is one day. Default value is 3 weeks. Minimum value is 1
      day. Maximum value is 4000 days.
  """

  disabled = _messages.BooleanField(1)
  monitoringIntervalDays = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  stalenessDays = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig(_messages.Message):
  r"""The config for Featurestore Monitoring threshold.

  Fields:
    value: Specify a threshold value that can trigger the alert. 1. For
      categorical feature, the distribution distance is calculated by
      L-inifinity norm. 2. For numerical feature, the distribution distance is
      calculated by Jensen\u2013Shannon divergence. Each feature must have a
      non-zero threshold if they need to be monitored. Otherwise no alert will
      be triggered for that feature.
  """

  value = _messages.FloatField(1)


class GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig(_messages.Message):
  r"""OnlineServingConfig specifies the details for provisioning online
  serving resources.

  Fields:
    fixedNodeCount: The number of nodes for the online store. The number of
      nodes doesn't scale automatically, but you can manually update the
      number of nodes. If set to 0, the featurestore will not have an online
      store and cannot be used for online serving.
    scaling: Online serving scaling configuration. Only one of
      `fixed_node_count` and `scaling` can be set. Setting one will reset the
      other.
  """

  fixedNodeCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  scaling = _messages.MessageField('GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling', 2)


class GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling(_messages.Message):
  r"""Online serving scaling configuration. If min_node_count and
  max_node_count are set to the same value, the cluster will be configured
  with the fixed number of node (no auto-scaling).

  Fields:
    cpuUtilizationTarget: Optional. The cpu utilization that the Autoscaler
      should be trying to achieve. This number is on a scale from 0 (no
      utilization) to 100 (total utilization), and is limited between 10 and
      80. When a cluster's CPU utilization exceeds the target that you have
      set, Bigtable immediately adds nodes to the cluster. When CPU
      utilization is substantially lower than the target, Bigtable removes
      nodes. If not set or set to 0, default to 50.
    maxNodeCount: The maximum number of nodes to scale up to. Must be greater
      than min_node_count, and less than or equal to 10 times of
      'min_node_count'.
    minNodeCount: Required. The minimum number of nodes to scale down to. Must
      be greater than or equal to 1.
  """

  cpuUtilizationTarget = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  maxNodeCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  minNodeCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1FetchFeatureValuesRequest(_messages.Message):
  r"""Request message for FeatureOnlineStoreService.FetchFeatureValues. All
  the features under the requested feature view will be returned.

  Enums:
    DataFormatValueValuesEnum: Optional. Response data format. If not set,
      FeatureViewDataFormat.KEY_VALUE will be used.

  Fields:
    dataFormat: Optional. Response data format. If not set,
      FeatureViewDataFormat.KEY_VALUE will be used.
    dataKey: Optional. The request key to fetch feature values for.
  """

  class DataFormatValueValuesEnum(_messages.Enum):
    r"""Optional. Response data format. If not set,
    FeatureViewDataFormat.KEY_VALUE will be used.

    Values:
      FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED: Not set. Will be treated as the
        KeyValue format.
      KEY_VALUE: Return response data in key-value format.
      PROTO_STRUCT: Return response data in proto Struct format.
    """
    FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED = 0
    KEY_VALUE = 1
    PROTO_STRUCT = 2

  dataFormat = _messages.EnumField('DataFormatValueValuesEnum', 1)
  dataKey = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDataKey', 2)


class GoogleCloudAiplatformV1FetchFeatureValuesResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreService.FetchFeatureValues

  Messages:
    ProtoStructValue: Feature values in proto Struct format.

  Fields:
    dataKey: The data key associated with this response. Will only be
      populated for FeatureOnlineStoreService.StreamingFetchFeatureValues
      RPCs.
    keyValues: Feature values in KeyValue format.
    protoStruct: Feature values in proto Struct format.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ProtoStructValue(_messages.Message):
    r"""Feature values in proto Struct format.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ProtoStructValue 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)

  dataKey = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewDataKey', 1)
  keyValues = _messages.MessageField('GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList', 2)
  protoStruct = _messages.MessageField('ProtoStructValue', 3)


class GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList(_messages.Message):
  r"""Response structure in the format of key (feature name) and (feature)
  value pair.

  Fields:
    features: List of feature names and values.
  """

  features = _messages.MessageField('GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair', 1, repeated=True)


class GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair(_messages.Message):
  r"""Feature name & value pair.

  Fields:
    name: Feature short name.
    value: Feature value.
  """

  name = _messages.StringField(1)
  value = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 2)


class GoogleCloudAiplatformV1FileData(_messages.Message):
  r"""URI-based data. A FileData message contains a URI pointing to data of a
  specific media type. It is used to represent images, audio, and video stored
  in Google Cloud Storage.

  Fields:
    displayName: Optional. The display name of the file. Used to provide a
      label or filename to distinguish files. This field is only returned in
      `PromptMessage` for prompt management. It is used in the Gemini calls
      only when server side tools (`code_execution`, `google_search`, and
      `url_context`) are enabled.
    fileUri: Required. The URI of the file in Google Cloud Storage.
    mimeType: Required. The IANA standard MIME type of the source data.
  """

  displayName = _messages.StringField(1)
  fileUri = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1FileStatus(_messages.Message):
  r"""RagFile status.

  Enums:
    StateValueValuesEnum: Output only. RagFile state.

  Fields:
    errorStatus: Output only. Only when the `state` field is ERROR.
    state: Output only. RagFile state.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. RagFile state.

    Values:
      STATE_UNSPECIFIED: RagFile state is unspecified.
      ACTIVE: RagFile resource has been created and indexed successfully.
      ERROR: RagFile resource is in a problematic state. See `error_message`
        field for details.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    ERROR = 2

  errorStatus = _messages.StringField(1)
  state = _messages.EnumField('StateValueValuesEnum', 2)


class GoogleCloudAiplatformV1FilterSplit(_messages.Message):
  r"""Assigns input data to training, validation, and test sets based on the
  given filters, data pieces not matched by any filter are ignored. Currently
  only supported for Datasets containing DataItems. If any of the filters in
  this message are to match nothing, then they can be set as '-' (the minus
  sign). Supported only for unstructured Datasets.

  Fields:
    testFilter: Required. A filter on DataItems of the Dataset. DataItems that
      match this filter are used to test the Model. A filter with same syntax
      as the one used in DatasetService.ListDataItems may be used. If a single
      DataItem is matched by more than one of the FilterSplit filters, then it
      is assigned to the first set that applies to it in the training,
      validation, test order.
    trainingFilter: Required. A filter on DataItems of the Dataset. DataItems
      that match this filter are used to train the Model. A filter with same
      syntax as the one used in DatasetService.ListDataItems may be used. If a
      single DataItem is matched by more than one of the FilterSplit filters,
      then it is assigned to the first set that applies to it in the training,
      validation, test order.
    validationFilter: Required. A filter on DataItems of the Dataset.
      DataItems that match this filter are used to validate the Model. A
      filter with same syntax as the one used in DatasetService.ListDataItems
      may be used. If a single DataItem is matched by more than one of the
      FilterSplit filters, then it is assigned to the first set that applies
      to it in the training, validation, test order.
  """

  testFilter = _messages.StringField(1)
  trainingFilter = _messages.StringField(2)
  validationFilter = _messages.StringField(3)


class GoogleCloudAiplatformV1FluencyInput(_messages.Message):
  r"""Input for fluency metric.

  Fields:
    instance: Required. Fluency instance.
    metricSpec: Required. Spec for fluency score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1FluencyInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1FluencySpec', 2)


class GoogleCloudAiplatformV1FluencyInstance(_messages.Message):
  r"""Spec for fluency instance.

  Fields:
    prediction: Required. Output of the evaluated model.
  """

  prediction = _messages.StringField(1)


class GoogleCloudAiplatformV1FluencyResult(_messages.Message):
  r"""Spec for fluency result.

  Fields:
    confidence: Output only. Confidence for fluency score.
    explanation: Output only. Explanation for fluency score.
    score: Output only. Fluency score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1FluencySpec(_messages.Message):
  r"""Spec for fluency score metric.

  Fields:
    version: Optional. Which version to use for evaluation.
  """

  version = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1FractionSplit(_messages.Message):
  r"""Assigns the input data to training, validation, and test sets as per the
  given fractions. Any of `training_fraction`, `validation_fraction` and
  `test_fraction` may optionally be provided, they must sum to up to 1. If the
  provided ones sum to less than 1, the remainder is assigned to sets as
  decided by Vertex AI. If none of the fractions are set, by default roughly
  80% of data is used for training, 10% for validation, and 10% for test.

  Fields:
    testFraction: The fraction of the input data that is to be used to
      evaluate the Model.
    trainingFraction: The fraction of the input data that is to be used to
      train the Model.
    validationFraction: The fraction of the input data that is to be used to
      validate the Model.
  """

  testFraction = _messages.FloatField(1)
  trainingFraction = _messages.FloatField(2)
  validationFraction = _messages.FloatField(3)


class GoogleCloudAiplatformV1FulfillmentInput(_messages.Message):
  r"""Input for fulfillment metric.

  Fields:
    instance: Required. Fulfillment instance.
    metricSpec: Required. Spec for fulfillment score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1FulfillmentInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1FulfillmentSpec', 2)


class GoogleCloudAiplatformV1FulfillmentInstance(_messages.Message):
  r"""Spec for fulfillment instance.

  Fields:
    instruction: Required. Inference instruction prompt to compare prediction
      with.
    prediction: Required. Output of the evaluated model.
  """

  instruction = _messages.StringField(1)
  prediction = _messages.StringField(2)


class GoogleCloudAiplatformV1FulfillmentResult(_messages.Message):
  r"""Spec for fulfillment result.

  Fields:
    confidence: Output only. Confidence for fulfillment score.
    explanation: Output only. Explanation for fulfillment score.
    score: Output only. Fulfillment score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1FulfillmentSpec(_messages.Message):
  r"""Spec for fulfillment metric.

  Fields:
    version: Optional. Which version to use for evaluation.
  """

  version = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1FunctionCall(_messages.Message):
  r"""A predicted FunctionCall returned from the model that contains a string
  representing the FunctionDeclaration.name and a structured JSON object
  containing the parameters and their values.

  Messages:
    ArgsValue: Optional. The function parameters and values in JSON object
      format. See FunctionDeclaration.parameters for parameter details.

  Fields:
    args: Optional. The function parameters and values in JSON object format.
      See FunctionDeclaration.parameters for parameter details.
    name: Optional. The name of the function to call. Matches
      FunctionDeclaration.name.
    partialArgs: Optional. The partial argument value of the function call. If
      provided, represents the arguments/fields that are streamed
      incrementally.
    willContinue: Optional. Whether this is the last part of the FunctionCall.
      If true, another partial message for the current FunctionCall is
      expected to follow.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ArgsValue(_messages.Message):
    r"""Optional. The function parameters and values in JSON object format.
    See FunctionDeclaration.parameters for parameter details.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ArgsValue 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)

  args = _messages.MessageField('ArgsValue', 1)
  name = _messages.StringField(2)
  partialArgs = _messages.MessageField('GoogleCloudAiplatformV1PartialArg', 3, repeated=True)
  willContinue = _messages.BooleanField(4)


class GoogleCloudAiplatformV1FunctionCallingConfig(_messages.Message):
  r"""Function calling config.

  Enums:
    ModeValueValuesEnum: Optional. Function calling mode.

  Fields:
    allowedFunctionNames: Optional. Function names to call. Only set when the
      Mode is ANY. Function names should match FunctionDeclaration.name. With
      mode set to ANY, model will predict a function call from the set of
      function names provided.
    mode: Optional. Function calling mode.
    streamFunctionCallArguments: Optional. When set to true, arguments of a
      single function call will be streamed out in multiple
      parts/contents/responses. Partial parameter results will be returned in
      the `FunctionCall.partial_args` field.
  """

  class ModeValueValuesEnum(_messages.Enum):
    r"""Optional. Function calling mode.

    Values:
      MODE_UNSPECIFIED: Unspecified function calling mode. This value should
        not be used.
      AUTO: Default model behavior, model decides to predict either function
        calls or natural language response.
      ANY: Model is constrained to always predicting function calls only. If
        "allowed_function_names" are set, the predicted function calls will be
        limited to any one of "allowed_function_names", else the predicted
        function calls will be any one of the provided
        "function_declarations".
      NONE: Model will not predict any function calls. Model behavior is same
        as when not passing any function declarations.
      VALIDATED: Model is constrained to predict either function calls or
        natural language response. If "allowed_function_names" are set, the
        predicted function calls will be limited to any one of
        "allowed_function_names", else the predicted function calls will be
        any one of the provided "function_declarations".
    """
    MODE_UNSPECIFIED = 0
    AUTO = 1
    ANY = 2
    NONE = 3
    VALIDATED = 4

  allowedFunctionNames = _messages.StringField(1, repeated=True)
  mode = _messages.EnumField('ModeValueValuesEnum', 2)
  streamFunctionCallArguments = _messages.BooleanField(3)


class GoogleCloudAiplatformV1FunctionDeclaration(_messages.Message):
  r"""Structured representation of a function declaration as defined by the
  [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included
  in this declaration are the function name, description, parameters and
  response type. This FunctionDeclaration is a representation of a block of
  code that can be used as a `Tool` by the model and executed by the client.

  Fields:
    description: Optional. Description and purpose of the function. Model uses
      it to decide how and whether to call the function.
    name: Required. The name of the function to call. Must start with a letter
      or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots,
      colons and dashes, with a maximum length of 128.
    parameters: Optional. Describes the parameters to this function in JSON
      Schema Object format. Reflects the Open API 3.03 Parameter Object.
      string Key: the name of the parameter. Parameter names are case
      sensitive. Schema Value: the Schema defining the type used for the
      parameter. For function with no parameters, this can be left unset.
      Parameter names must start with a letter or an underscore and must only
      contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64.
      Example with 1 required and 1 optional parameter: type: OBJECT
      properties: param1: type: STRING param2: type: INTEGER required: -
      param1
    parametersJsonSchema: Optional. Describes the parameters to the function
      in JSON Schema format. The schema must describe an object where the
      properties are the parameters to the function. For example: ``` {
      "type": "object", "properties": { "name": { "type": "string" }, "age": {
      "type": "integer" } }, "additionalProperties": false, "required":
      ["name", "age"], "propertyOrdering": ["name", "age"] } ``` This field is
      mutually exclusive with `parameters`.
    response: Optional. Describes the output from this function in JSON Schema
      format. Reflects the Open API 3.03 Response Object. The Schema defines
      the type used for the response value of the function.
    responseJsonSchema: Optional. Describes the output from this function in
      JSON Schema format. The value specified by the schema is the response
      value of the function. This field is mutually exclusive with `response`.
  """

  description = _messages.StringField(1)
  name = _messages.StringField(2)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1Schema', 3)
  parametersJsonSchema = _messages.MessageField('extra_types.JsonValue', 4)
  response = _messages.MessageField('GoogleCloudAiplatformV1Schema', 5)
  responseJsonSchema = _messages.MessageField('extra_types.JsonValue', 6)


class GoogleCloudAiplatformV1FunctionResponse(_messages.Message):
  r"""The result output from a FunctionCall that contains a string
  representing the FunctionDeclaration.name and a structured JSON object
  containing any output from the function is used as context to the model.
  This should contain the result of a `FunctionCall` made based on model
  prediction.

  Messages:
    ResponseValue: Required. The function response in JSON object format. Use
      "output" key to specify function output and "error" key to specify error
      details (if any). If "output" and "error" keys are not specified, then
      whole "response" is treated as function output.

  Fields:
    name: Required. The name of the function to call. Matches
      FunctionDeclaration.name and FunctionCall.name.
    parts: Optional. Ordered `Parts` that constitute a function response.
      Parts may have different IANA MIME types.
    response: Required. The function response in JSON object format. Use
      "output" key to specify function output and "error" key to specify error
      details (if any). If "output" and "error" keys are not specified, then
      whole "response" is treated as function output.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResponseValue(_messages.Message):
    r"""Required. The function response in JSON object format. Use "output"
    key to specify function output and "error" key to specify error details
    (if any). If "output" and "error" keys are not specified, then whole
    "response" is treated as function output.

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

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

    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)

  name = _messages.StringField(1)
  parts = _messages.MessageField('GoogleCloudAiplatformV1FunctionResponsePart', 2, repeated=True)
  response = _messages.MessageField('ResponseValue', 3)


class GoogleCloudAiplatformV1FunctionResponseBlob(_messages.Message):
  r"""Raw media bytes for function response. Text should not be sent as raw
  bytes, use the 'text' field.

  Fields:
    data: Required. Raw bytes.
    displayName: Optional. Display name of the blob. Used to provide a label
      or filename to distinguish blobs. This field is only returned in
      PromptMessage for prompt management. It is currently used in the Gemini
      GenerateContent calls only when server side tools (code_execution,
      google_search, and url_context) are enabled.
    mimeType: Required. The IANA standard MIME type of the source data.
  """

  data = _messages.BytesField(1)
  displayName = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1FunctionResponseFileData(_messages.Message):
  r"""URI based data for function response.

  Fields:
    displayName: Optional. Display name of the file data. Used to provide a
      label or filename to distinguish file datas. This field is only returned
      in PromptMessage for prompt management. It is currently used in the
      Gemini GenerateContent calls only when server side tools
      (code_execution, google_search, and url_context) are enabled.
    fileUri: Required. URI.
    mimeType: Required. The IANA standard MIME type of the source data.
  """

  displayName = _messages.StringField(1)
  fileUri = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1FunctionResponsePart(_messages.Message):
  r"""A datatype containing media that is part of a `FunctionResponse`
  message. A `FunctionResponsePart` consists of data which has an associated
  datatype. A `FunctionResponsePart` can only contain one of the accepted
  types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a
  fixed IANA MIME type identifying the type and subtype of the media if the
  `inline_data` field is filled with raw bytes.

  Fields:
    fileData: URI based data.
    inlineData: Inline media bytes.
  """

  fileData = _messages.MessageField('GoogleCloudAiplatformV1FunctionResponseFileData', 1)
  inlineData = _messages.MessageField('GoogleCloudAiplatformV1FunctionResponseBlob', 2)


class GoogleCloudAiplatformV1GatewayConfig(_messages.Message):
  r"""Configuration for a single gateway.

  Enums:
    StateValueValuesEnum: Output only. The state of the Gateway configuration.

  Fields:
    dnsRecord: Output only. The fully qualified record name of the created
      A-record in Cloud DNS.
    dnsZoneName: Optional. FQDN of the private DNS zone to create DNS record
      set for PSC endpoint.
    ipAddress: Output only. The private IP address of the PSC endpoint.
    network: Optional. The URI of the network resource where PSC-E will be
      provisioned. if not provided `default` network will be used. Format:
      projects/{project}/global/networks/{network}
    pscEndpoint: Output only. The self-link or name of the Private Service
      Connect endpoint forwarding rule.
    state: Output only. The state of the Gateway configuration.
    subnetwork: Optional. The URI of the subnetwork resource where PSC-E will
      be provisioned. if not provided `default` subnet will be used from the
      same {location} Format:
      projects/{project}/regions/{region}/subnetworks/{subnetwork}
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of the Gateway configuration.

    Values:
      STATE_UNSPECIFIED: The default value. This value is used if the state is
        omitted.
      PROVISIONING: The Gateway is being provisioned.
      ACTIVE: The Gateway is active and ready to use.
      DEPROVISIONING: The Gateway is being de-provisioned.
      INACTIVE: The Gateway is inactive.
      FAILED: The Gateway failed to be provisioned.
    """
    STATE_UNSPECIFIED = 0
    PROVISIONING = 1
    ACTIVE = 2
    DEPROVISIONING = 3
    INACTIVE = 4
    FAILED = 5

  dnsRecord = _messages.StringField(1)
  dnsZoneName = _messages.StringField(2)
  ipAddress = _messages.StringField(3)
  network = _messages.StringField(4)
  pscEndpoint = _messages.StringField(5)
  state = _messages.EnumField('StateValueValuesEnum', 6)
  subnetwork = _messages.StringField(7)


class GoogleCloudAiplatformV1GcsDestination(_messages.Message):
  r"""The Google Cloud Storage location where the output is to be written to.

  Fields:
    outputUriPrefix: Required. Google Cloud Storage URI to output directory.
      If the uri doesn't end with '/', a '/' will be automatically appended.
      The directory is created if it doesn't exist.
  """

  outputUriPrefix = _messages.StringField(1)


class GoogleCloudAiplatformV1GcsSource(_messages.Message):
  r"""The Google Cloud Storage location for the input content.

  Fields:
    uris: Required. Google Cloud Storage URI(-s) to the input file(s). May
      contain wildcards. For more information on wildcards, see
      https://cloud.google.com/storage/docs/wildcards.
  """

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


class GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfig(_messages.Message):
  r"""Configuration for GenAiAdvancedFeatures.

  Fields:
    ragConfig: Configuration for Retrieval Augmented Generation feature.
  """

  ragConfig = _messages.MessageField('GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig', 1)


class GoogleCloudAiplatformV1GenAiAdvancedFeaturesConfigRagConfig(_messages.Message):
  r"""Configuration for Retrieval Augmented Generation feature.

  Fields:
    enableRag: If true, enable Retrieval Augmented Generation in
      ChatCompletion request. Once enabled, the endpoint will be identified as
      GenAI endpoint and Arthedain router will be used.
  """

  enableRag = _messages.BooleanField(1)


class GoogleCloudAiplatformV1GenerateContentRequest(_messages.Message):
  r"""Request message for [PredictionService.GenerateContent].

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata for the
      request. It is used for billing and reporting only. Label keys and
      values can be no longer than 63 characters (Unicode codepoints) and can
      only contain lowercase letters, numeric characters, underscores, and
      dashes. International characters are allowed. Label values are optional.
      Label keys must start with a letter.

  Fields:
    cachedContent: Optional. The name of the cached content used as context to
      serve the prediction. Note: only used in explicit caching, where users
      can have control over caching (e.g. what content to cache) and enjoy
      guaranteed cost savings. Format:
      `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
    contents: Required. The content of the current conversation with the
      model. For single-turn queries, this is a single instance. For multi-
      turn queries, this is a repeated field that contains conversation
      history + latest request.
    generationConfig: Optional. Generation config.
    labels: Optional. The labels with user-defined metadata for the request.
      It is used for billing and reporting only. Label keys and values can be
      no longer than 63 characters (Unicode codepoints) and can only contain
      lowercase letters, numeric characters, underscores, and dashes.
      International characters are allowed. Label values are optional. Label
      keys must start with a letter.
    modelArmorConfig: Optional. Settings for prompt and response sanitization
      using the Model Armor service. If supplied, safety_settings must not be
      supplied.
    safetySettings: Optional. Per request settings for blocking unsafe
      content. Enforced on GenerateContentResponse.candidates.
    systemInstruction: Optional. The user provided system instructions for the
      model. Note: only text should be used in parts and content in each part
      will be in a separate paragraph.
    toolConfig: Optional. Tool config. This config is shared for all tools
      provided in the request.
    tools: Optional. A list of `Tools` the model may use to generate the next
      response. A `Tool` is a piece of code that enables the system to
      interact with external systems to perform an action, or set of actions,
      outside of knowledge and scope of the model.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata for the request. It is
    used for billing and reporting only. Label keys and values can be no
    longer than 63 characters (Unicode codepoints) and can only contain
    lowercase letters, numeric characters, underscores, and dashes.
    International characters are allowed. Label values are optional. Label
    keys must start with a letter.

    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)

  cachedContent = _messages.StringField(1)
  contents = _messages.MessageField('GoogleCloudAiplatformV1Content', 2, repeated=True)
  generationConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfig', 3)
  labels = _messages.MessageField('LabelsValue', 4)
  modelArmorConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelArmorConfig', 5)
  safetySettings = _messages.MessageField('GoogleCloudAiplatformV1SafetySetting', 6, repeated=True)
  systemInstruction = _messages.MessageField('GoogleCloudAiplatformV1Content', 7)
  toolConfig = _messages.MessageField('GoogleCloudAiplatformV1ToolConfig', 8)
  tools = _messages.MessageField('GoogleCloudAiplatformV1Tool', 9, repeated=True)


class GoogleCloudAiplatformV1GenerateContentResponse(_messages.Message):
  r"""Response message for [PredictionService.GenerateContent].

  Fields:
    candidates: Output only. Generated candidates.
    createTime: Output only. Timestamp when the request is made to the server.
    modelVersion: Output only. The model version used to generate the
      response.
    promptFeedback: Output only. Content filter results for a prompt sent in
      the request. Note: Sent only in the first stream chunk. Only happens
      when no candidates were generated due to content violations.
    responseId: Output only. response_id is used to identify each response. It
      is the encoding of the event_id.
    usageMetadata: Usage metadata about the response(s).
  """

  candidates = _messages.MessageField('GoogleCloudAiplatformV1Candidate', 1, repeated=True)
  createTime = _messages.StringField(2)
  modelVersion = _messages.StringField(3)
  promptFeedback = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback', 4)
  responseId = _messages.StringField(5)
  usageMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata', 6)


class GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback(_messages.Message):
  r"""Content filter results for a prompt sent in the request. Note: This is
  sent only in the first stream chunk and only if no candidates were generated
  due to content violations.

  Enums:
    BlockReasonValueValuesEnum: Output only. The reason why the prompt was
      blocked.

  Fields:
    blockReason: Output only. The reason why the prompt was blocked.
    blockReasonMessage: Output only. A readable message that explains the
      reason why the prompt was blocked.
    safetyRatings: Output only. A list of safety ratings for the prompt. There
      is one rating per category.
  """

  class BlockReasonValueValuesEnum(_messages.Enum):
    r"""Output only. The reason why the prompt was blocked.

    Values:
      BLOCKED_REASON_UNSPECIFIED: The blocked reason is unspecified.
      SAFETY: The prompt was blocked for safety reasons.
      OTHER: The prompt was blocked for other reasons. For example, it may be
        due to the prompt's language, or because it contains other harmful
        content.
      BLOCKLIST: The prompt was blocked because it contains a term from the
        terminology blocklist.
      PROHIBITED_CONTENT: The prompt was blocked because it contains
        prohibited content.
      MODEL_ARMOR: The prompt was blocked by Model Armor.
      IMAGE_SAFETY: The prompt was blocked because it contains content that is
        unsafe for image generation.
      JAILBREAK: The prompt was blocked as a jailbreak attempt.
    """
    BLOCKED_REASON_UNSPECIFIED = 0
    SAFETY = 1
    OTHER = 2
    BLOCKLIST = 3
    PROHIBITED_CONTENT = 4
    MODEL_ARMOR = 5
    IMAGE_SAFETY = 6
    JAILBREAK = 7

  blockReason = _messages.EnumField('BlockReasonValueValuesEnum', 1)
  blockReasonMessage = _messages.StringField(2)
  safetyRatings = _messages.MessageField('GoogleCloudAiplatformV1SafetyRating', 3, repeated=True)


class GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata(_messages.Message):
  r"""Usage metadata about the content generation request and response. This
  message provides a detailed breakdown of token usage and other relevant
  metrics.

  Enums:
    TrafficTypeValueValuesEnum: Output only. The traffic type for this
      request.

  Fields:
    cacheTokensDetails: Output only. A detailed breakdown of the token count
      for each modality in the cached content.
    cachedContentTokenCount: Output only. The number of tokens in the cached
      content that was used for this request.
    candidatesTokenCount: The total number of tokens in the generated
      candidates.
    candidatesTokensDetails: Output only. A detailed breakdown of the token
      count for each modality in the generated candidates.
    promptTokenCount: The total number of tokens in the prompt. This includes
      any text, images, or other media provided in the request. When
      `cached_content` is set, this also includes the number of tokens in the
      cached content.
    promptTokensDetails: Output only. A detailed breakdown of the token count
      for each modality in the prompt.
    thoughtsTokenCount: Output only. The number of tokens that were part of
      the model's generated "thoughts" output, if applicable.
    toolUsePromptTokenCount: Output only. The number of tokens in the results
      from tool executions, which are provided back to the model as input, if
      applicable.
    toolUsePromptTokensDetails: Output only. A detailed breakdown by modality
      of the token counts from the results of tool executions, which are
      provided back to the model as input.
    totalTokenCount: The total number of tokens for the entire request. This
      is the sum of `prompt_token_count`, `candidates_token_count`,
      `tool_use_prompt_token_count`, and `thoughts_token_count`.
    trafficType: Output only. The traffic type for this request.
  """

  class TrafficTypeValueValuesEnum(_messages.Enum):
    r"""Output only. The traffic type for this request.

    Values:
      TRAFFIC_TYPE_UNSPECIFIED: Unspecified request traffic type.
      ON_DEMAND: The request was processed using Pay-As-You-Go quota.
      ON_DEMAND_PRIORITY: Type for Priority Pay-As-You-Go traffic.
      ON_DEMAND_FLEX: Type for Flex traffic.
      PROVISIONED_THROUGHPUT: Type for Provisioned Throughput traffic.
    """
    TRAFFIC_TYPE_UNSPECIFIED = 0
    ON_DEMAND = 1
    ON_DEMAND_PRIORITY = 2
    ON_DEMAND_FLEX = 3
    PROVISIONED_THROUGHPUT = 4

  cacheTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 1, repeated=True)
  cachedContentTokenCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  candidatesTokenCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  candidatesTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 4, repeated=True)
  promptTokenCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  promptTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 6, repeated=True)
  thoughtsTokenCount = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  toolUsePromptTokenCount = _messages.IntegerField(8, variant=_messages.Variant.INT32)
  toolUsePromptTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 9, repeated=True)
  totalTokenCount = _messages.IntegerField(10, variant=_messages.Variant.INT32)
  trafficType = _messages.EnumField('TrafficTypeValueValuesEnum', 11)


class GoogleCloudAiplatformV1GenerateFetchAccessTokenRequest(_messages.Message):
  r"""Request message for FeatureOnlineStoreService.GenerateFetchAccessToken.
  """



class GoogleCloudAiplatformV1GenerateFetchAccessTokenResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreService.GenerateFetchAccessToken.

  Fields:
    accessToken: The OAuth 2.0 access token.
    expireTime: Token expiration time. This is always set
  """

  accessToken = _messages.StringField(1)
  expireTime = _messages.StringField(2)


class GoogleCloudAiplatformV1GenerateSyntheticDataRequest(_messages.Message):
  r"""Request message for DataFoundryService.GenerateSyntheticData. It
  contains the settings and information needed to generate synthetic data.

  Fields:
    count: Required. The number of synthetic examples to generate. For this
      stateless API, you can generate up to 50 examples in a single request.
    examples: Optional. A list of few-shot examples that help the model
      understand the desired style, tone, and format of the generated
      synthetic data. Providing these few-shot examples can significantly
      improve the quality and relevance of the output.
    outputFieldSpecs: Required. Defines the schema of each synthetic example
      to be generated, defined by a list of fields.
    taskDescription: Generates synthetic data based on a high-level
      description of the task or data you want.
  """

  count = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  examples = _messages.MessageField('GoogleCloudAiplatformV1SyntheticExample', 2, repeated=True)
  outputFieldSpecs = _messages.MessageField('GoogleCloudAiplatformV1OutputFieldSpec', 3, repeated=True)
  taskDescription = _messages.MessageField('GoogleCloudAiplatformV1TaskDescriptionStrategy', 4)


class GoogleCloudAiplatformV1GenerateSyntheticDataResponse(_messages.Message):
  r"""The response message for the `GenerateSyntheticData` method, containing
  the synthetic examples generated by the Gen AI evaluation service.

  Fields:
    syntheticExamples: A list of generated synthetic examples, each containing
      a complete synthetic data instance generated based on your request.
  """

  syntheticExamples = _messages.MessageField('GoogleCloudAiplatformV1SyntheticExample', 1, repeated=True)


class GoogleCloudAiplatformV1GenerateVideoResponse(_messages.Message):
  r"""Generate video response.

  Fields:
    generatedSamples: The cloud storage uris of the generated videos.
    raiMediaFilteredCount: Returns if any videos were filtered due to RAI
      policies.
    raiMediaFilteredReasons: Returns rai failure reasons if any.
  """

  generatedSamples = _messages.StringField(1, repeated=True)
  raiMediaFilteredCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  raiMediaFilteredReasons = _messages.StringField(3, repeated=True)


class GoogleCloudAiplatformV1GenerationConfig(_messages.Message):
  r"""Configuration for content generation. This message contains all the
  parameters that control how the model generates content. It allows you to
  influence the randomness, length, and structure of the output.

  Enums:
    MediaResolutionValueValuesEnum: Optional. The token resolution at which
      input media content is sampled. This is used to control the trade-off
      between the quality of the response and the number of tokens used to
      represent the media. A higher resolution allows the model to perceive
      more detail, which can lead to a more nuanced response, but it will also
      use more tokens. This does not affect the image dimensions sent to the
      model.
    ResponseModalitiesValueListEntryValuesEnum:

  Fields:
    audioTimestamp: Optional. If enabled, audio timestamps will be included in
      the request to the model. This can be useful for synchronizing audio
      with other modalities in the response.
    candidateCount: Optional. The number of candidate responses to generate. A
      higher `candidate_count` can provide more options to choose from, but it
      also consumes more resources. This can be useful for generating a
      variety of responses and selecting the best one.
    enableAffectiveDialog: Optional. If enabled, the model will detect
      emotions and adapt its responses accordingly. For example, if the model
      detects that the user is frustrated, it may provide a more empathetic
      response.
    frequencyPenalty: Optional. Penalizes tokens based on their frequency in
      the generated text. A positive value helps to reduce the repetition of
      words and phrases. Valid values can range from [-2.0, 2.0].
    imageConfig: Optional. Config for image generation features. Deprecated:
      Use `response_format.image` instead.
    logprobs: Optional. The number of top log probabilities to return for each
      token. This can be used to see which other tokens were considered likely
      candidates for a given position. A higher value will return more
      options, but it will also increase the size of the response.
    maxOutputTokens: Optional. The maximum number of tokens to generate in the
      response. A token is approximately four characters. The default value
      varies by model. This parameter can be used to control the length of the
      generated text and prevent overly long responses.
    mediaResolution: Optional. The token resolution at which input media
      content is sampled. This is used to control the trade-off between the
      quality of the response and the number of tokens used to represent the
      media. A higher resolution allows the model to perceive more detail,
      which can lead to a more nuanced response, but it will also use more
      tokens. This does not affect the image dimensions sent to the model.
    presencePenalty: Optional. Penalizes tokens that have already appeared in
      the generated text. A positive value encourages the model to generate
      more diverse and less repetitive text. Valid values can range from
      [-2.0, 2.0].
    responseJsonSchema: Optional. When this field is set, response_schema must
      be omitted and response_mime_type must be set to `application/json`.
      Deprecated: Use `response_format` instead.
    responseLogprobs: Optional. If set to true, the log probabilities of the
      output tokens are returned. Log probabilities are the logarithm of the
      probability of a token appearing in the output. A higher log probability
      means the token is more likely to be generated. This can be useful for
      analyzing the model's confidence in its own output and for debugging.
    responseMimeType: Optional. The IANA standard MIME type of the response.
      The model will generate output that conforms to this MIME type.
      Supported values include 'text/plain' (default) and 'application/json'.
      The model needs to be prompted to output the appropriate response type,
      otherwise the behavior is undefined. Deprecated: Use `response_format`
      instead.
    responseModalities: Optional. The modalities of the response. The model
      will generate a response that includes all the specified modalities. For
      example, if this is set to `[TEXT, IMAGE]`, the response will include
      both text and an image.
    responseSchema: Optional. Lets you to specify a schema for the model's
      response, ensuring that the output conforms to a particular structure.
      This is useful for generating structured data such as JSON. The schema
      is a subset of the [OpenAPI 3.0 schema
      object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this
      field is set, you must also set the `response_mime_type` to
      `application/json`. Deprecated: Use `response_format` instead.
    routingConfig: Optional. Routing configuration.
    seed: Optional. A seed for the random number generator. By setting a seed,
      you can make the model's output mostly deterministic. For a given prompt
      and parameters (like temperature, top_p, etc.), the model will produce
      the same response every time. However, it's not a guaranteed absolute
      deterministic behavior. This is different from parameters like
      `temperature`, which control the *level* of randomness. `seed` ensures
      that the "random" choices the model makes are the same on every run,
      making it essential for testing and ensuring reproducible results.
    speechConfig: Optional. The speech generation config.
    stopSequences: Optional. A list of character sequences that will stop the
      model from generating further tokens. If a stop sequence is generated,
      the output will end at that point. This is useful for controlling the
      length and structure of the output. For example, you can use ["\n",
      "###"] to stop generation at a new line or a specific marker.
    temperature: Optional. Controls the randomness of the output. A higher
      temperature results in more creative and diverse responses, while a
      lower temperature makes the output more predictable and focused. The
      valid range is (0.0, 2.0].
    thinkingConfig: Optional. Configuration for thinking features. An error
      will be returned if this field is set for models that don't support
      thinking.
    topK: Optional. Specifies the top-k sampling threshold. The model
      considers only the top k most probable tokens for the next token. This
      can be useful for generating more coherent and less random text. For
      example, a `top_k` of 40 means the model will choose the next word from
      the 40 most likely words.
    topP: Optional. Specifies the nucleus sampling threshold. The model
      considers only the smallest set of tokens whose cumulative probability
      is at least `top_p`. This helps generate more diverse and less
      repetitive responses. For example, a `top_p` of 0.9 means the model
      considers tokens until the cumulative probability of the tokens to
      select from reaches 0.9. It's recommended to adjust either temperature
      or `top_p`, but not both.
  """

  class MediaResolutionValueValuesEnum(_messages.Enum):
    r"""Optional. The token resolution at which input media content is
    sampled. This is used to control the trade-off between the quality of the
    response and the number of tokens used to represent the media. A higher
    resolution allows the model to perceive more detail, which can lead to a
    more nuanced response, but it will also use more tokens. This does not
    affect the image dimensions sent to the model.

    Values:
      MEDIA_RESOLUTION_UNSPECIFIED: Media resolution has not been set.
      MEDIA_RESOLUTION_LOW: Media resolution set to low (64 tokens).
      MEDIA_RESOLUTION_MEDIUM: Media resolution set to medium (256 tokens).
      MEDIA_RESOLUTION_HIGH: Media resolution set to high (zoomed reframing
        with 256 tokens).
    """
    MEDIA_RESOLUTION_UNSPECIFIED = 0
    MEDIA_RESOLUTION_LOW = 1
    MEDIA_RESOLUTION_MEDIUM = 2
    MEDIA_RESOLUTION_HIGH = 3

  class ResponseModalitiesValueListEntryValuesEnum(_messages.Enum):
    r"""ResponseModalitiesValueListEntryValuesEnum enum type.

    Values:
      MODALITY_UNSPECIFIED: Unspecified modality. Will be processed as text.
      TEXT: Text modality.
      IMAGE: Image modality.
      AUDIO: Audio modality.
      VIDEO: Video modality.
    """
    MODALITY_UNSPECIFIED = 0
    TEXT = 1
    IMAGE = 2
    AUDIO = 3
    VIDEO = 4

  audioTimestamp = _messages.BooleanField(1)
  candidateCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  enableAffectiveDialog = _messages.BooleanField(3)
  frequencyPenalty = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  imageConfig = _messages.MessageField('GoogleCloudAiplatformV1ImageConfig', 5)
  logprobs = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  maxOutputTokens = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  mediaResolution = _messages.EnumField('MediaResolutionValueValuesEnum', 8)
  presencePenalty = _messages.FloatField(9, variant=_messages.Variant.FLOAT)
  responseJsonSchema = _messages.MessageField('extra_types.JsonValue', 10)
  responseLogprobs = _messages.BooleanField(11)
  responseMimeType = _messages.StringField(12)
  responseModalities = _messages.EnumField('ResponseModalitiesValueListEntryValuesEnum', 13, repeated=True)
  responseSchema = _messages.MessageField('GoogleCloudAiplatformV1Schema', 14)
  routingConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfigRoutingConfig', 15)
  seed = _messages.IntegerField(16, variant=_messages.Variant.INT32)
  speechConfig = _messages.MessageField('GoogleCloudAiplatformV1SpeechConfig', 17)
  stopSequences = _messages.StringField(18, repeated=True)
  temperature = _messages.FloatField(19, variant=_messages.Variant.FLOAT)
  thinkingConfig = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfigThinkingConfig', 20)
  topK = _messages.FloatField(21, variant=_messages.Variant.FLOAT)
  topP = _messages.FloatField(22, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1GenerationConfigRoutingConfig(_messages.Message):
  r"""The configuration for routing the request to a specific model. This can
  be used to control which model is used for the generation, either
  automatically or by specifying a model name.

  Fields:
    autoMode: In this mode, the model is selected automatically based on the
      content of the request.
    manualMode: In this mode, the model is specified manually.
  """

  autoMode = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode', 1)
  manualMode = _messages.MessageField('GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode', 2)


class GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode(_messages.Message):
  r"""The configuration for automated routing. When automated routing is
  specified, the routing will be determined by the pretrained routing model
  and customer provided model routing preference.

  Enums:
    ModelRoutingPreferenceValueValuesEnum: The model routing preference.

  Fields:
    modelRoutingPreference: The model routing preference.
  """

  class ModelRoutingPreferenceValueValuesEnum(_messages.Enum):
    r"""The model routing preference.

    Values:
      UNKNOWN: Unspecified model routing preference.
      PRIORITIZE_QUALITY: The model will be selected to prioritize the quality
        of the response.
      BALANCED: The model will be selected to balance quality and cost.
      PRIORITIZE_COST: The model will be selected to prioritize the cost of
        the request.
    """
    UNKNOWN = 0
    PRIORITIZE_QUALITY = 1
    BALANCED = 2
    PRIORITIZE_COST = 3

  modelRoutingPreference = _messages.EnumField('ModelRoutingPreferenceValueValuesEnum', 1)


class GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode(_messages.Message):
  r"""The configuration for manual routing. When manual routing is specified,
  the model will be selected based on the model name provided.

  Fields:
    modelName: The name of the model to use. Only public LLM models are
      accepted.
  """

  modelName = _messages.StringField(1)


class GoogleCloudAiplatformV1GenerationConfigThinkingConfig(_messages.Message):
  r"""Configuration for the model's thinking features. "Thinking" is a process
  where the model breaks down a complex task into smaller, manageable steps.
  This allows the model to reason about the task, plan its approach, and
  execute the plan to generate a high-quality response.

  Enums:
    ThinkingLevelValueValuesEnum: Optional. The number of thoughts tokens that
      the model should generate.

  Fields:
    includeThoughts: Optional. If true, the model will include its thoughts in
      the response. "Thoughts" are the intermediate steps the model takes to
      arrive at the final response. They can provide insights into the model's
      reasoning process and help with debugging. If this is true, thoughts are
      returned only when available.
    thinkingBudget: Optional. The token budget for the model's thinking
      process. The model will make a best effort to stay within this budget.
      This can be used to control the trade-off between response quality and
      latency.
    thinkingLevel: Optional. The number of thoughts tokens that the model
      should generate.
  """

  class ThinkingLevelValueValuesEnum(_messages.Enum):
    r"""Optional. The number of thoughts tokens that the model should
    generate.

    Values:
      THINKING_LEVEL_UNSPECIFIED: Unspecified thinking level.
      LOW: Low thinking level.
      MEDIUM: Medium thinking level.
      HIGH: High thinking level.
      MINIMAL: MINIMAL thinking level.
    """
    THINKING_LEVEL_UNSPECIFIED = 0
    LOW = 1
    MEDIUM = 2
    HIGH = 3
    MINIMAL = 4

  includeThoughts = _messages.BooleanField(1)
  thinkingBudget = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  thinkingLevel = _messages.EnumField('ThinkingLevelValueValuesEnum', 3)


class GoogleCloudAiplatformV1GenericOperationMetadata(_messages.Message):
  r"""Generic Metadata shared by all operations.

  Fields:
    createTime: Output only. Time when the operation was created.
    partialFailures: Output only. Partial failures encountered. E.g. single
      files that couldn't be read. This field should never exceed 20 entries.
      Status details field will contain standard Google Cloud error details.
    updateTime: Output only. Time when the operation was updated for the last
      time. If the operation has finished (successfully or not), this is the
      finish time.
  """

  createTime = _messages.StringField(1)
  partialFailures = _messages.MessageField('GoogleRpcStatus', 2, repeated=True)
  updateTime = _messages.StringField(3)


class GoogleCloudAiplatformV1GenieSource(_messages.Message):
  r"""Contains information about the source of the models generated from
  Generative AI Studio.

  Fields:
    baseModelUri: Required. The public base model URI.
  """

  baseModelUri = _messages.StringField(1)


class GoogleCloudAiplatformV1GoogleDriveSource(_messages.Message):
  r"""The Google Drive location for the input content.

  Fields:
    resourceIds: Required. Google Drive resource IDs.
  """

  resourceIds = _messages.MessageField('GoogleCloudAiplatformV1GoogleDriveSourceResourceId', 1, repeated=True)


class GoogleCloudAiplatformV1GoogleDriveSourceResourceId(_messages.Message):
  r"""The type and ID of the Google Drive resource.

  Enums:
    ResourceTypeValueValuesEnum: Required. The type of the Google Drive
      resource.

  Fields:
    resourceId: Required. The ID of the Google Drive resource.
    resourceType: Required. The type of the Google Drive resource.
  """

  class ResourceTypeValueValuesEnum(_messages.Enum):
    r"""Required. The type of the Google Drive resource.

    Values:
      RESOURCE_TYPE_UNSPECIFIED: Unspecified resource type.
      RESOURCE_TYPE_FILE: File resource type.
      RESOURCE_TYPE_FOLDER: Folder resource type.
    """
    RESOURCE_TYPE_UNSPECIFIED = 0
    RESOURCE_TYPE_FILE = 1
    RESOURCE_TYPE_FOLDER = 2

  resourceId = _messages.StringField(1)
  resourceType = _messages.EnumField('ResourceTypeValueValuesEnum', 2)


class GoogleCloudAiplatformV1GoogleMaps(_messages.Message):
  r"""Tool to retrieve public maps data for grounding, powered by Google.

  Fields:
    enableWidget: Optional. Deprecated: The Google Maps contextual widget
      behavior in Grounding with Google Maps is being deprecated; this field
      is planned for removal and no longer has any effect once removed. If
      true, include the widget context token in the response.
  """

  enableWidget = _messages.BooleanField(1)


class GoogleCloudAiplatformV1GoogleSearchRetrieval(_messages.Message):
  r"""Tool to retrieve public web data for grounding, powered by Google.

  Fields:
    dynamicRetrievalConfig: Specifies the dynamic retrieval configuration for
      the given source.
  """

  dynamicRetrievalConfig = _messages.MessageField('GoogleCloudAiplatformV1DynamicRetrievalConfig', 1)


class GoogleCloudAiplatformV1GroundednessInput(_messages.Message):
  r"""Input for groundedness metric.

  Fields:
    instance: Required. Groundedness instance.
    metricSpec: Required. Spec for groundedness metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1GroundednessInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1GroundednessSpec', 2)


class GoogleCloudAiplatformV1GroundednessInstance(_messages.Message):
  r"""Spec for groundedness instance.

  Fields:
    context: Required. Background information provided in context used to
      compare against the prediction.
    prediction: Required. Output of the evaluated model.
  """

  context = _messages.StringField(1)
  prediction = _messages.StringField(2)


class GoogleCloudAiplatformV1GroundednessResult(_messages.Message):
  r"""Spec for groundedness result.

  Fields:
    confidence: Output only. Confidence for groundedness score.
    explanation: Output only. Explanation for groundedness score.
    score: Output only. Groundedness score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1GroundednessSpec(_messages.Message):
  r"""Spec for groundedness metric.

  Fields:
    version: Optional. Which version to use for evaluation.
  """

  version = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1GroundingChunk(_messages.Message):
  r"""A piece of evidence that supports a claim made by the model. This is
  used to show a citation for a claim made by the model. When grounding is
  enabled, the model returns a `GroundingChunk` that contains a reference to
  the source of the information.

  Fields:
    maps: A grounding chunk from Google Maps. See the `Maps` message for
      details.
    retrievedContext: A grounding chunk from a data source retrieved by a
      retrieval tool, such as Vertex AI Search. See the `RetrievedContext`
      message for details
    web: A grounding chunk from a web page, typically from Google Search. See
      the `Web` message for details.
  """

  maps = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunkMaps', 1)
  retrievedContext = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunkRetrievedContext', 2)
  web = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunkWeb', 3)


class GoogleCloudAiplatformV1GroundingChunkMaps(_messages.Message):
  r"""A `Maps` chunk is a piece of evidence that comes from Google Maps,
  containing information about places or routes. This is used to provide the
  user with rich, location-based information.

  Fields:
    placeAnswerSources: The sources that were used to generate the place
      answer. This includes review snippets and photos that were used to
      generate the answer, as well as URIs to flag content.
    placeId: This Place's resource name, in `places/{place_id}` format. This
      can be used to look up the place in the Google Maps API.
    text: The text of the place answer.
    title: The title of the place.
    uri: The URI of the place.
  """

  placeAnswerSources = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources', 1)
  placeId = _messages.StringField(2)
  text = _messages.StringField(3)
  title = _messages.StringField(4)
  uri = _messages.StringField(5)


class GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSources(_messages.Message):
  r"""The sources that were used to generate the place answer. This includes
  review snippets and photos that were used to generate the answer, as well as
  URIs to flag content.

  Fields:
    reviewSnippets: Snippets of reviews that were used to generate the answer.
  """

  reviewSnippets = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet', 1, repeated=True)


class GoogleCloudAiplatformV1GroundingChunkMapsPlaceAnswerSourcesReviewSnippet(_messages.Message):
  r"""A review snippet that is used to generate the answer.

  Fields:
    googleMapsUri: A link to show the review on Google Maps.
    reviewId: The ID of the review that is being referenced.
    title: The title of the review.
  """

  googleMapsUri = _messages.StringField(1)
  reviewId = _messages.StringField(2)
  title = _messages.StringField(3)


class GoogleCloudAiplatformV1GroundingChunkRetrievedContext(_messages.Message):
  r"""Context retrieved from a data source to ground the model's response.
  This is used when a retrieval tool fetches information from a user-provided
  corpus or a public dataset.

  Fields:
    documentName: Output only. The full resource name of the referenced Vertex
      AI Search document. This is used to identify the specific document that
      was retrieved. The format is `projects/{project}/locations/{location}/co
      llections/{collection}/dataStores/{data_store}/branches/{branch}/documen
      ts/{document}`.
    ragChunk: Additional context for a Retrieval-Augmented Generation (RAG)
      retrieval result. This is populated only when the RAG retrieval tool is
      used.
    text: The content of the retrieved data source.
    title: The title of the retrieved data source.
    uri: The URI of the retrieved data source.
  """

  documentName = _messages.StringField(1)
  ragChunk = _messages.MessageField('GoogleCloudAiplatformV1RagChunk', 2)
  text = _messages.StringField(3)
  title = _messages.StringField(4)
  uri = _messages.StringField(5)


class GoogleCloudAiplatformV1GroundingChunkWeb(_messages.Message):
  r"""A `Web` chunk is a piece of evidence that comes from a web page. It
  contains the URI of the web page, the title of the page, and the domain of
  the page. This is used to provide the user with a link to the source of the
  information.

  Fields:
    domain: The domain of the web page that contains the evidence. This can be
      used to filter out low-quality sources.
    title: The title of the web page that contains the evidence.
    uri: The URI of the web page that contains the evidence.
  """

  domain = _messages.StringField(1)
  title = _messages.StringField(2)
  uri = _messages.StringField(3)


class GoogleCloudAiplatformV1GroundingMetadata(_messages.Message):
  r"""Information about the sources that support the content of a response.
  When grounding is enabled, the model returns citations for claims in the
  response. This object contains the retrieved sources.

  Fields:
    googleMapsWidgetContextToken: Optional. Output only. Deprecated: The
      Google Maps contextual widget behavior in Grounding with Google Maps is
      being deprecated; this field is planned for removal and will no longer
      be populated once removed. A token that can be used to render a Google
      Maps widget with the contextual data. This field is populated only when
      the grounding source is Google Maps.
    groundingChunks: A list of supporting references retrieved from the
      grounding source. This field is populated when the grounding source is
      Google Search, Vertex AI Search, or Google Maps.
    groundingSupports: Optional. A list of grounding supports that connect the
      generated content to the grounding chunks. This field is populated when
      the grounding source is Google Search or Vertex AI Search.
    imageSearchQueries: Optional. The image search queries that were used to
      generate the content. This field is populated only when the grounding
      source is Google Search with the Image Search search_type enabled.
    retrievalMetadata: Optional. Output only. Metadata related to the
      retrieval grounding source.
    searchEntryPoint: Optional. A web search entry point that can be used to
      display search results. This field is populated only when the grounding
      source is Google Search.
    sourceFlaggingUris: Optional. Output only. A list of URIs that can be used
      to flag a place or review for inappropriate content. This field is
      populated only when the grounding source is Google Maps.
    webSearchQueries: Optional. The web search queries that were used to
      generate the content. This field is populated only when the grounding
      source is Google Search.
  """

  googleMapsWidgetContextToken = _messages.StringField(1)
  groundingChunks = _messages.MessageField('GoogleCloudAiplatformV1GroundingChunk', 2, repeated=True)
  groundingSupports = _messages.MessageField('GoogleCloudAiplatformV1GroundingSupport', 3, repeated=True)
  imageSearchQueries = _messages.StringField(4, repeated=True)
  retrievalMetadata = _messages.MessageField('GoogleCloudAiplatformV1RetrievalMetadata', 5)
  searchEntryPoint = _messages.MessageField('GoogleCloudAiplatformV1SearchEntryPoint', 6)
  sourceFlaggingUris = _messages.MessageField('GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri', 7, repeated=True)
  webSearchQueries = _messages.StringField(8, repeated=True)


class GoogleCloudAiplatformV1GroundingMetadataSourceFlaggingUri(_messages.Message):
  r"""A URI that can be used to flag a place or review for inappropriate
  content. This is populated only when the grounding source is Google Maps.

  Fields:
    flagContentUri: The URI that can be used to flag the content.
    sourceId: The ID of the place or review.
  """

  flagContentUri = _messages.StringField(1)
  sourceId = _messages.StringField(2)


class GoogleCloudAiplatformV1GroundingSupport(_messages.Message):
  r"""A collection of supporting references for a segment or part of the
  model's response.

  Fields:
    confidenceScores: The confidence scores for the support references. This
      list is parallel to the `grounding_chunk_indices` list. A score is a
      value between 0.0 and 1.0, with a higher score indicating a higher
      confidence that the reference supports the claim. For Gemini 2.0 and
      before, this list has the same size as `grounding_chunk_indices`. For
      Gemini 2.5 and later, this list is empty and should be ignored.
    groundingChunkIndices: A list of indices into the `grounding_chunks` field
      of the `GroundingMetadata` message. These indices specify which
      grounding chunks support the claim made in the content segment. For
      example, if this field has the values `[1, 3]`, it means that
      `grounding_chunks[1]` and `grounding_chunks[3]` are the sources for the
      claim in the content segment.
    renderedParts: Indices into the `rendered_parts` field of the
      `GroundingMetadata` message. These indices specify which rendered parts
      are associated with this support message.
    segment: The content segment that this support message applies to.
  """

  confidenceScores = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)
  groundingChunkIndices = _messages.IntegerField(2, repeated=True, variant=_messages.Variant.INT32)
  renderedParts = _messages.IntegerField(3, repeated=True, variant=_messages.Variant.INT32)
  segment = _messages.MessageField('GoogleCloudAiplatformV1Segment', 4)


class GoogleCloudAiplatformV1HyperparameterTuningJob(_messages.Message):
  r"""Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a
  Study specification and multiple CustomJobs with identical CustomJob
  specification.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize
      HyperparameterTuningJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Time when the HyperparameterTuningJob was
      created.
    displayName: Required. The display name of the HyperparameterTuningJob.
      The name can be up to 128 characters long and can consist of any UTF-8
      characters.
    encryptionSpec: Customer-managed encryption key options for a
      HyperparameterTuningJob. If this is set, then all resources created by
      the HyperparameterTuningJob will be encrypted with the provided
      encryption key.
    endTime: Output only. Time when the HyperparameterTuningJob entered any of
      the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
      `JOB_STATE_CANCELLED`.
    error: Output only. Only populated when job's state is JOB_STATE_FAILED or
      JOB_STATE_CANCELLED.
    labels: The labels with user-defined metadata to organize
      HyperparameterTuningJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    maxFailedTrialCount: The number of failed Trials that need to be seen
      before failing the HyperparameterTuningJob. If set to 0, Vertex AI
      decides how many Trials must fail before the whole job fails.
    maxTrialCount: Required. The desired total number of Trials.
    name: Output only. Resource name of the HyperparameterTuningJob.
    parallelTrialCount: Required. The desired number of Trials to run in
      parallel.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    startTime: Output only. Time when the HyperparameterTuningJob for the
      first time entered the `JOB_STATE_RUNNING` state.
    state: Output only. The detailed state of the job.
    studySpec: Required. Study configuration of the HyperparameterTuningJob.
    trialJobSpec: Required. The spec of a trial job. The same spec applies to
      the CustomJobs created in all the trials.
    trials: Output only. Trials of the HyperparameterTuningJob.
    updateTime: Output only. Time when the HyperparameterTuningJob was most
      recently updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize
    HyperparameterTuningJobs. Label keys and values can be no longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information and examples of
    labels.

    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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 3)
  endTime = _messages.StringField(4)
  error = _messages.MessageField('GoogleRpcStatus', 5)
  labels = _messages.MessageField('LabelsValue', 6)
  maxFailedTrialCount = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  maxTrialCount = _messages.IntegerField(8, variant=_messages.Variant.INT32)
  name = _messages.StringField(9)
  parallelTrialCount = _messages.IntegerField(10, variant=_messages.Variant.INT32)
  satisfiesPzi = _messages.BooleanField(11)
  satisfiesPzs = _messages.BooleanField(12)
  startTime = _messages.StringField(13)
  state = _messages.EnumField('StateValueValuesEnum', 14)
  studySpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpec', 15)
  trialJobSpec = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 16)
  trials = _messages.MessageField('GoogleCloudAiplatformV1Trial', 17, repeated=True)
  updateTime = _messages.StringField(18)


class GoogleCloudAiplatformV1IdMatcher(_messages.Message):
  r"""Matcher for Features of an EntityType by Feature ID.

  Fields:
    ids: Required. The following are accepted as `ids`: * A single-element
      list containing only `*`, which selects all Features in the target
      EntityType, or * A list containing only Feature IDs, which selects only
      Features with those IDs in the target EntityType.
  """

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


class GoogleCloudAiplatformV1ImageConfig(_messages.Message):
  r"""Configuration for image generation. This message allows you to control
  various aspects of image generation, such as the output format, aspect
  ratio, and whether the model can generate images of people.

  Enums:
    PersonGenerationValueValuesEnum: Optional. Controls whether the model can
      generate people.

  Fields:
    aspectRatio: Optional. The desired aspect ratio for the generated images.
      The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4",
      "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
    imageOutputOptions: Optional. The image output format for generated
      images.
    imageSize: Optional. Specifies the size of generated images. Supported
      values are `1K`, `2K`, `4K`. If not specified, the model will use
      default value `1K`.
    personGeneration: Optional. Controls whether the model can generate
      people.
  """

  class PersonGenerationValueValuesEnum(_messages.Enum):
    r"""Optional. Controls whether the model can generate people.

    Values:
      PERSON_GENERATION_UNSPECIFIED: The default behavior is unspecified. The
        model will decide whether to generate images of people.
      ALLOW_ALL: Allows the model to generate images of people, including
        adults and children.
      ALLOW_ADULT: Allows the model to generate images of adults, but not
        children.
      ALLOW_NONE: Prevents the model from generating images of people.
    """
    PERSON_GENERATION_UNSPECIFIED = 0
    ALLOW_ALL = 1
    ALLOW_ADULT = 2
    ALLOW_NONE = 3

  aspectRatio = _messages.StringField(1)
  imageOutputOptions = _messages.MessageField('GoogleCloudAiplatformV1ImageConfigImageOutputOptions', 2)
  imageSize = _messages.StringField(3)
  personGeneration = _messages.EnumField('PersonGenerationValueValuesEnum', 4)


class GoogleCloudAiplatformV1ImageConfigImageOutputOptions(_messages.Message):
  r"""The image output format for generated images.

  Fields:
    compressionQuality: Optional. The compression quality of the output image.
    mimeType: Optional. The image format that the output should be saved as.
  """

  compressionQuality = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1ImportDataConfig(_messages.Message):
  r"""Describes the location from where we import data into a Dataset,
  together with the labels that will be applied to the DataItems and the
  Annotations.

  Messages:
    AnnotationLabelsValue: Labels that will be applied to newly imported
      Annotations. If two Annotations are identical, one of them will be
      deduped. Two Annotations are considered identical if their payload,
      payload_schema_uri and all of their labels are the same. These labels
      will be overridden by Annotation labels specified inside index file
      referenced by import_schema_uri, e.g. jsonl file.
    DataItemLabelsValue: Labels that will be applied to newly imported
      DataItems. If an identical DataItem as one being imported already exists
      in the Dataset, then these labels will be appended to these of the
      already existing one, and if labels with identical key is imported
      before, the old label value will be overwritten. If two DataItems are
      identical in the same import data operation, the labels will be combined
      and if key collision happens in this case, one of the values will be
      picked randomly. Two DataItems are considered identical if their content
      bytes are identical (e.g. image bytes or pdf bytes). These labels will
      be overridden by Annotation labels specified inside index file
      referenced by import_schema_uri, e.g. jsonl file.

  Fields:
    annotationLabels: Labels that will be applied to newly imported
      Annotations. If two Annotations are identical, one of them will be
      deduped. Two Annotations are considered identical if their payload,
      payload_schema_uri and all of their labels are the same. These labels
      will be overridden by Annotation labels specified inside index file
      referenced by import_schema_uri, e.g. jsonl file.
    dataItemLabels: Labels that will be applied to newly imported DataItems.
      If an identical DataItem as one being imported already exists in the
      Dataset, then these labels will be appended to these of the already
      existing one, and if labels with identical key is imported before, the
      old label value will be overwritten. If two DataItems are identical in
      the same import data operation, the labels will be combined and if key
      collision happens in this case, one of the values will be picked
      randomly. Two DataItems are considered identical if their content bytes
      are identical (e.g. image bytes or pdf bytes). These labels will be
      overridden by Annotation labels specified inside index file referenced
      by import_schema_uri, e.g. jsonl file.
    gcsSource: The Google Cloud Storage location for the input content.
    importSchemaUri: Required. Points to a YAML file stored on Google Cloud
      Storage describing the import format. Validation will be done against
      the schema. The schema is defined as an [OpenAPI 3.0.2 Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject).
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AnnotationLabelsValue(_messages.Message):
    r"""Labels that will be applied to newly imported Annotations. If two
    Annotations are identical, one of them will be deduped. Two Annotations
    are considered identical if their payload, payload_schema_uri and all of
    their labels are the same. These labels will be overridden by Annotation
    labels specified inside index file referenced by import_schema_uri, e.g.
    jsonl file.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a AnnotationLabelsValue 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 DataItemLabelsValue(_messages.Message):
    r"""Labels that will be applied to newly imported DataItems. If an
    identical DataItem as one being imported already exists in the Dataset,
    then these labels will be appended to these of the already existing one,
    and if labels with identical key is imported before, the old label value
    will be overwritten. If two DataItems are identical in the same import
    data operation, the labels will be combined and if key collision happens
    in this case, one of the values will be picked randomly. Two DataItems are
    considered identical if their content bytes are identical (e.g. image
    bytes or pdf bytes). These labels will be overridden by Annotation labels
    specified inside index file referenced by import_schema_uri, e.g. jsonl
    file.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DataItemLabelsValue 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)

  annotationLabels = _messages.MessageField('AnnotationLabelsValue', 1)
  dataItemLabels = _messages.MessageField('DataItemLabelsValue', 2)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 3)
  importSchemaUri = _messages.StringField(4)


class GoogleCloudAiplatformV1ImportDataOperationMetadata(_messages.Message):
  r"""Runtime operation information for DatasetService.ImportData.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

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


class GoogleCloudAiplatformV1ImportDataRequest(_messages.Message):
  r"""Request message for DatasetService.ImportData.

  Fields:
    importConfigs: Required. The desired input locations. The contents of all
      input locations will be imported in one batch.
  """

  importConfigs = _messages.MessageField('GoogleCloudAiplatformV1ImportDataConfig', 1, repeated=True)


class GoogleCloudAiplatformV1ImportDataResponse(_messages.Message):
  r"""Response message for DatasetService.ImportData."""


class GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata(_messages.Message):
  r"""Details of operations that perform import Feature values.

  Fields:
    blockingOperationIds: List of ImportFeatureValues operations running under
      a single EntityType that are blocking this operation.
    genericMetadata: Operation metadata for Featurestore import Feature
      values.
    importedEntityCount: Number of entities that have been imported by the
      operation.
    importedFeatureValueCount: Number of Feature values that have been
      imported by the operation.
    invalidRowCount: The number of rows in input source that weren't imported
      due to either * Not having any featureValues. * Having a null entityId.
      * Having a null timestamp. * Not being parsable (applicable for CSV
      sources).
    sourceUris: The source URI from where Feature values are imported.
    timestampOutsideRetentionRowsCount: The number rows that weren't ingested
      due to having timestamps outside the retention boundary.
  """

  blockingOperationIds = _messages.IntegerField(1, repeated=True)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)
  importedEntityCount = _messages.IntegerField(3)
  importedFeatureValueCount = _messages.IntegerField(4)
  invalidRowCount = _messages.IntegerField(5)
  sourceUris = _messages.StringField(6, repeated=True)
  timestampOutsideRetentionRowsCount = _messages.IntegerField(7)


class GoogleCloudAiplatformV1ImportFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreService.ImportFeatureValues.

  Fields:
    avroSource: A GoogleCloudAiplatformV1AvroSource attribute.
    bigquerySource: A GoogleCloudAiplatformV1BigQuerySource attribute.
    csvSource: A GoogleCloudAiplatformV1CsvSource attribute.
    disableIngestionAnalysis: If true, API doesn't start ingestion analysis
      pipeline.
    disableOnlineServing: If set, data will not be imported for online
      serving. This is typically used for backfilling, where Feature
      generation timestamps are not in the timestamp range needed for online
      serving.
    entityIdField: Source column that holds entity IDs. If not provided,
      entity IDs are extracted from the column named entity_id.
    featureSpecs: Required. Specifications defining which Feature values to
      import from the entity. The request fails if no feature_specs are
      provided, and having multiple feature_specs for one Feature is not
      allowed.
    featureTime: Single Feature timestamp for all entities being imported. The
      timestamp must not have higher than millisecond precision.
    featureTimeField: Source column that holds the Feature timestamp for all
      Feature values in each entity.
    workerCount: Specifies the number of workers that are used to write data
      to the Featurestore. Consider the online serving capacity that you
      require to achieve the desired import throughput without interfering
      with online serving. The value must be positive, and less than or equal
      to 100. If not set, defaults to using 1 worker. The low count ensures
      minimal impact on online serving performance.
  """

  avroSource = _messages.MessageField('GoogleCloudAiplatformV1AvroSource', 1)
  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 2)
  csvSource = _messages.MessageField('GoogleCloudAiplatformV1CsvSource', 3)
  disableIngestionAnalysis = _messages.BooleanField(4)
  disableOnlineServing = _messages.BooleanField(5)
  entityIdField = _messages.StringField(6)
  featureSpecs = _messages.MessageField('GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec', 7, repeated=True)
  featureTime = _messages.StringField(8)
  featureTimeField = _messages.StringField(9)
  workerCount = _messages.IntegerField(10, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec(_messages.Message):
  r"""Defines the Feature value(s) to import.

  Fields:
    id: Required. ID of the Feature to import values of. This Feature must
      exist in the target EntityType, or the request will fail.
    sourceField: Source column to get the Feature values from. If not set,
      uses the column with the same name as the Feature ID.
  """

  id = _messages.StringField(1)
  sourceField = _messages.StringField(2)


class GoogleCloudAiplatformV1ImportFeatureValuesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.ImportFeatureValues.

  Fields:
    importedEntityCount: Number of entities that have been imported by the
      operation.
    importedFeatureValueCount: Number of Feature values that have been
      imported by the operation.
    invalidRowCount: The number of rows in input source that weren't imported
      due to either * Not having any featureValues. * Having a null entityId.
      * Having a null timestamp. * Not being parsable (applicable for CSV
      sources).
    timestampOutsideRetentionRowsCount: The number rows that weren't ingested
      due to having feature timestamps outside the retention boundary.
  """

  importedEntityCount = _messages.IntegerField(1)
  importedFeatureValueCount = _messages.IntegerField(2)
  invalidRowCount = _messages.IntegerField(3)
  timestampOutsideRetentionRowsCount = _messages.IntegerField(4)


class GoogleCloudAiplatformV1ImportModelEvaluationRequest(_messages.Message):
  r"""Request message for ModelService.ImportModelEvaluation

  Fields:
    modelEvaluation: Required. Model evaluation resource to be imported.
  """

  modelEvaluation = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluation', 1)


class GoogleCloudAiplatformV1ImportRagFilesConfig(_messages.Message):
  r"""Config for importing RagFiles.

  Fields:
    gcsSource: Google Cloud Storage location. Supports importing individual
      files as well as entire Google Cloud Storage directories. Sample
      formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` -
      `gs://bucket_name/my_directory`
    googleDriveSource: Google Drive location. Supports importing individual
      files as well as Google Drive folders.
    importResultBigquerySink: The BigQuery destination to write import result
      to. It should be a bigquery table resource name (e.g.
      "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the
      table does not exist, it will be created with the expected schema. If
      the table exists, the schema will be validated and data will be added to
      this existing table.
    importResultGcsSink: The Cloud Storage path to write import result to.
    jiraSource: Jira queries with their corresponding authentication.
    maxEmbeddingRequestsPerMin: Optional. The max number of queries per minute
      that this job is allowed to make to the embedding model specified on the
      corpus. This value is specific to this job and not shared across other
      import jobs. Consult the Quotas page on the project to set an
      appropriate value here. If unspecified, a default value of 1,000 QPM
      would be used.
    partialFailureBigquerySink: The BigQuery destination to write partial
      failures to. It should be a bigquery table resource name (e.g.
      "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the
      table does not exist, it will be created with the expected schema. If
      the table exists, the schema will be validated and data will be added to
      this existing table. Deprecated. Prefer to use `import_result_bq_sink`.
    partialFailureGcsSink: The Cloud Storage path to write partial failures
      to. Deprecated. Prefer to use `import_result_gcs_sink`.
    ragFileParsingConfig: Optional. Specifies the parsing config for RagFiles.
      RAG will use the default parser if this field is not set.
    ragFileTransformationConfig: Specifies the transformation config for
      RagFiles.
    rebuildAnnIndex: Rebuilds the ANN index to optimize for recall on the
      imported data. Only applicable for RagCorpora running on RagManagedDb
      with `retrieval_strategy` set to `ANN`. The rebuild will be performed
      using the existing ANN config set on the RagCorpus. To change the ANN
      config, please use the UpdateRagCorpus API. Default is false, i.e.,
      index is not rebuilt.
    sharePointSources: SharePoint sources.
    slackSource: Slack channels with their corresponding access tokens.
  """

  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 1)
  googleDriveSource = _messages.MessageField('GoogleCloudAiplatformV1GoogleDriveSource', 2)
  importResultBigquerySink = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 3)
  importResultGcsSink = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 4)
  jiraSource = _messages.MessageField('GoogleCloudAiplatformV1JiraSource', 5)
  maxEmbeddingRequestsPerMin = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  partialFailureBigquerySink = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 7)
  partialFailureGcsSink = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 8)
  ragFileParsingConfig = _messages.MessageField('GoogleCloudAiplatformV1RagFileParsingConfig', 9)
  ragFileTransformationConfig = _messages.MessageField('GoogleCloudAiplatformV1RagFileTransformationConfig', 10)
  rebuildAnnIndex = _messages.BooleanField(11)
  sharePointSources = _messages.MessageField('GoogleCloudAiplatformV1SharePointSources', 12)
  slackSource = _messages.MessageField('GoogleCloudAiplatformV1SlackSource', 13)


class GoogleCloudAiplatformV1ImportRagFilesRequest(_messages.Message):
  r"""Request message for VertexRagDataService.ImportRagFiles.

  Fields:
    importRagFilesConfig: Required. The config for the RagFiles to be synced
      and imported into the RagCorpus. VertexRagDataService.ImportRagFiles.
  """

  importRagFilesConfig = _messages.MessageField('GoogleCloudAiplatformV1ImportRagFilesConfig', 1)


class GoogleCloudAiplatformV1Index(_messages.Message):
  r"""A representation of a collection of database items organized in a way
  that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.

  Enums:
    IndexUpdateMethodValueValuesEnum: Immutable. The update method to use with
      this Index. If not set, BATCH_UPDATE will be used by default.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Indexes. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Timestamp when this Index was created.
    deployedIndexes: Output only. The pointers to DeployedIndexes created from
      this Index. An Index can be only deleted if all its DeployedIndexes had
      been undeployed first.
    description: The description of the Index.
    displayName: Required. The display name of the Index. The name can be up
      to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Immutable. Customer-managed encryption key spec for an
      Index. If set, this Index and all sub-resources of this Index will be
      secured by this key.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    indexStats: Output only. Stats of the index resource.
    indexUpdateMethod: Immutable. The update method to use with this Index. If
      not set, BATCH_UPDATE will be used by default.
    labels: The labels with user-defined metadata to organize your Indexes.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    metadata: An additional information about the Index; the schema of the
      metadata can be found in metadata_schema.
    metadataSchemaUri: Immutable. Points to a YAML file stored on Google Cloud
      Storage describing additional information about the Index, that is
      specific to it. Unset if the Index does not have any additional
      information. The schema is defined as an OpenAPI 3.0.2 [Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). Note: The URI
      given on output will be immutable and probably different, including the
      URI scheme, than the one given on input. The output URI will point to a
      location where the user only has a read access.
    name: Output only. The resource name of the Index.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this Index was most recently
      updated. This also includes any update to the contents of the Index.
      Note that Operations working on this Index may have their
      Operations.metadata.generic_metadata.update_time a little after the
      value of this timestamp, yet that does not mean their results are not
      already reflected in the Index. Result of any successfully completed
      Operation on the Index is reflected in it.
  """

  class IndexUpdateMethodValueValuesEnum(_messages.Enum):
    r"""Immutable. The update method to use with this Index. If not set,
    BATCH_UPDATE will be used by default.

    Values:
      INDEX_UPDATE_METHOD_UNSPECIFIED: Should not be used.
      BATCH_UPDATE: BatchUpdate: user can call UpdateIndex with files on Cloud
        Storage of Datapoints to update.
      STREAM_UPDATE: StreamUpdate: user can call
        UpsertDatapoints/DeleteDatapoints to update the Index and the updates
        will be applied in corresponding DeployedIndexes in nearly real-time.
    """
    INDEX_UPDATE_METHOD_UNSPECIFIED = 0
    BATCH_UPDATE = 1
    STREAM_UPDATE = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Indexes. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels.

    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)

  createTime = _messages.StringField(1)
  deployedIndexes = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndexRef', 2, repeated=True)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  etag = _messages.StringField(6)
  indexStats = _messages.MessageField('GoogleCloudAiplatformV1IndexStats', 7)
  indexUpdateMethod = _messages.EnumField('IndexUpdateMethodValueValuesEnum', 8)
  labels = _messages.MessageField('LabelsValue', 9)
  metadata = _messages.MessageField('extra_types.JsonValue', 10)
  metadataSchemaUri = _messages.StringField(11)
  name = _messages.StringField(12)
  satisfiesPzi = _messages.BooleanField(13)
  satisfiesPzs = _messages.BooleanField(14)
  updateTime = _messages.StringField(15)


class GoogleCloudAiplatformV1IndexDatapoint(_messages.Message):
  r"""A datapoint of Index.

  Messages:
    EmbeddingMetadataValue: Optional. The key-value map of additional metadata
      for the datapoint.

  Fields:
    crowdingTag: Optional. CrowdingTag of the datapoint, the number of
      neighbors to return in each crowding can be configured during query.
    datapointId: Required. Unique identifier of the datapoint.
    embeddingMetadata: Optional. The key-value map of additional metadata for
      the datapoint.
    featureVector: Required. Feature embedding vector for dense index. An
      array of numbers with the length of
      [NearestNeighborSearchConfig.dimensions].
    numericRestricts: Optional. List of Restrict of the datapoint, used to
      perform "restricted searches" where boolean rule are used to filter the
      subset of the database eligible for matching. This uses numeric
      comparisons.
    restricts: Optional. List of Restrict of the datapoint, used to perform
      "restricted searches" where boolean rule are used to filter the subset
      of the database eligible for matching. This uses categorical tokens.
      See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering
    sparseEmbedding: Optional. Feature embedding vector for sparse index.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class EmbeddingMetadataValue(_messages.Message):
    r"""Optional. The key-value map of additional metadata for the datapoint.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a EmbeddingMetadataValue 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)

  crowdingTag = _messages.MessageField('GoogleCloudAiplatformV1IndexDatapointCrowdingTag', 1)
  datapointId = _messages.StringField(2)
  embeddingMetadata = _messages.MessageField('EmbeddingMetadataValue', 3)
  featureVector = _messages.FloatField(4, repeated=True, variant=_messages.Variant.FLOAT)
  numericRestricts = _messages.MessageField('GoogleCloudAiplatformV1IndexDatapointNumericRestriction', 5, repeated=True)
  restricts = _messages.MessageField('GoogleCloudAiplatformV1IndexDatapointRestriction', 6, repeated=True)
  sparseEmbedding = _messages.MessageField('GoogleCloudAiplatformV1IndexDatapointSparseEmbedding', 7)


class GoogleCloudAiplatformV1IndexDatapointCrowdingTag(_messages.Message):
  r"""Crowding tag is a constraint on a neighbor list produced by nearest
  neighbor search requiring that no more than some value k' of the k neighbors
  returned have the same value of crowding_attribute.

  Fields:
    crowdingAttribute: The attribute value used for crowding. The maximum
      number of neighbors to return per crowding attribute value
      (per_crowding_attribute_num_neighbors) is configured per-query. This
      field is ignored if per_crowding_attribute_num_neighbors is larger than
      the total number of neighbors to return for a given query.
  """

  crowdingAttribute = _messages.StringField(1)


class GoogleCloudAiplatformV1IndexDatapointNumericRestriction(_messages.Message):
  r"""This field allows restricts to be based on numeric comparisons rather
  than categorical tokens.

  Enums:
    OpValueValuesEnum: This MUST be specified for queries and must NOT be
      specified for datapoints.

  Fields:
    namespace: The namespace of this restriction. e.g.: cost.
    op: This MUST be specified for queries and must NOT be specified for
      datapoints.
    valueDouble: Represents 64 bit float.
    valueFloat: Represents 32 bit float.
    valueInt: Represents 64 bit integer.
  """

  class OpValueValuesEnum(_messages.Enum):
    r"""This MUST be specified for queries and must NOT be specified for
    datapoints.

    Values:
      OPERATOR_UNSPECIFIED: Default value of the enum.
      LESS: Datapoints are eligible iff their value is < the query's.
      LESS_EQUAL: Datapoints are eligible iff their value is <= the query's.
      EQUAL: Datapoints are eligible iff their value is == the query's.
      GREATER_EQUAL: Datapoints are eligible iff their value is >= the
        query's.
      GREATER: Datapoints are eligible iff their value is > the query's.
      NOT_EQUAL: Datapoints are eligible iff their value is != the query's.
    """
    OPERATOR_UNSPECIFIED = 0
    LESS = 1
    LESS_EQUAL = 2
    EQUAL = 3
    GREATER_EQUAL = 4
    GREATER = 5
    NOT_EQUAL = 6

  namespace = _messages.StringField(1)
  op = _messages.EnumField('OpValueValuesEnum', 2)
  valueDouble = _messages.FloatField(3)
  valueFloat = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  valueInt = _messages.IntegerField(5)


class GoogleCloudAiplatformV1IndexDatapointRestriction(_messages.Message):
  r"""Restriction of a datapoint which describe its attributes(tokens) from
  each of several attribute categories(namespaces).

  Fields:
    allowList: The attributes to allow in this namespace. e.g.: 'red'
    denyList: The attributes to deny in this namespace. e.g.: 'blue'
    namespace: The namespace of this restriction. e.g.: color.
  """

  allowList = _messages.StringField(1, repeated=True)
  denyList = _messages.StringField(2, repeated=True)
  namespace = _messages.StringField(3)


class GoogleCloudAiplatformV1IndexDatapointSparseEmbedding(_messages.Message):
  r"""Feature embedding vector for sparse index. An array of numbers whose
  values are located in the specified dimensions.

  Fields:
    dimensions: Required. The list of indexes for the embedding values of the
      sparse vector.
    values: Required. The list of embedding values of the sparse vector.
  """

  dimensions = _messages.IntegerField(1, repeated=True)
  values = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1IndexEndpoint(_messages.Message):
  r"""Indexes are deployed into it. An IndexEndpoint can have multiple
  DeployedIndexes.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      IndexEndpoints. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Timestamp when this IndexEndpoint was created.
    deployedIndexes: Output only. The indexes deployed in this endpoint.
    description: The description of the IndexEndpoint.
    displayName: Required. The display name of the IndexEndpoint. The name can
      be up to 128 characters long and can consist of any UTF-8 characters.
    enablePrivateServiceConnect: Optional. Deprecated: If true, expose the
      IndexEndpoint via private service connect. Only one of the fields,
      network or enable_private_service_connect, can be set.
    encryptionSpec: Immutable. Customer-managed encryption key spec for an
      IndexEndpoint. If set, this IndexEndpoint and all sub-resources of this
      IndexEndpoint will be secured by this key.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your
      IndexEndpoints. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    name: Output only. The resource name of the IndexEndpoint.
    network: Optional. The full name of the Google Compute Engine
      [network](https://cloud.google.com/compute/docs/networks-and-
      firewalls#networks) to which the IndexEndpoint should be peered. Private
      services access must already be configured for the network. If left
      unspecified, the Endpoint is not peered with any network. network and
      private_service_connect_config are mutually exclusive. [Format](https://
      cloud.google.com/compute/docs/reference/rest/v1/networks/insert):
      `projects/{project}/global/networks/{network}`. Where {project} is a
      project number, as in '12345', and {network} is network name.
    privateServiceConnectConfig: Optional. Configuration for private service
      connect. network and private_service_connect_config are mutually
      exclusive.
    publicEndpointDomainName: Output only. If public_endpoint_enabled is true,
      this field will be populated with the domain name to use for this index
      endpoint.
    publicEndpointEnabled: Optional. If true, the deployed index will be
      accessible through public endpoint.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this IndexEndpoint was last
      updated. This timestamp is not updated when the endpoint's
      DeployedIndexes are updated, e.g. due to updates of the original Indexes
      they are the deployments of.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your IndexEndpoints.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. See
    https://goo.gl/xmQnxf for more information and examples of labels.

    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)

  createTime = _messages.StringField(1)
  deployedIndexes = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndex', 2, repeated=True)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  enablePrivateServiceConnect = _messages.BooleanField(5)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 6)
  etag = _messages.StringField(7)
  labels = _messages.MessageField('LabelsValue', 8)
  name = _messages.StringField(9)
  network = _messages.StringField(10)
  privateServiceConnectConfig = _messages.MessageField('GoogleCloudAiplatformV1PrivateServiceConnectConfig', 11)
  publicEndpointDomainName = _messages.StringField(12)
  publicEndpointEnabled = _messages.BooleanField(13)
  satisfiesPzi = _messages.BooleanField(14)
  satisfiesPzs = _messages.BooleanField(15)
  updateTime = _messages.StringField(16)


class GoogleCloudAiplatformV1IndexPrivateEndpoints(_messages.Message):
  r"""IndexPrivateEndpoints proto is used to provide paths for users to send
  requests via private endpoints (e.g. private service access, private service
  connect). To send request via private service access, use
  match_grpc_address. To send request via private service connect, use
  service_attachment.

  Fields:
    matchGrpcAddress: Output only. The ip address used to send match gRPC
      requests.
    pscAutomatedEndpoints: Output only. PscAutomatedEndpoints is populated if
      private service connect is enabled if PscAutomatedConfig is set.
    serviceAttachment: Output only. The name of the service attachment
      resource. Populated if private service connect is enabled.
  """

  matchGrpcAddress = _messages.StringField(1)
  pscAutomatedEndpoints = _messages.MessageField('GoogleCloudAiplatformV1PscAutomatedEndpoints', 2, repeated=True)
  serviceAttachment = _messages.StringField(3)


class GoogleCloudAiplatformV1IndexStats(_messages.Message):
  r"""Stats of the Index.

  Fields:
    shardsCount: Output only. The number of shards in the Index.
    sparseVectorsCount: Output only. The number of sparse vectors in the
      Index.
    vectorsCount: Output only. The number of dense vectors in the Index.
  """

  shardsCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  sparseVectorsCount = _messages.IntegerField(2)
  vectorsCount = _messages.IntegerField(3)


class GoogleCloudAiplatformV1InputDataConfig(_messages.Message):
  r"""Specifies Vertex AI owned input data to be used for training, and
  possibly evaluating, the Model.

  Fields:
    annotationSchemaUri: Applicable only to custom training with Datasets that
      have DataItems and Annotations. Cloud Storage URI that points to a YAML
      file describing the annotation schema. The schema is defined as an
      OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). The schema
      files that can be used here are found in gs://google-cloud-
      aiplatform/schema/dataset/annotation/ , note that the chosen schema must
      be consistent with metadata of the Dataset specified by dataset_id. Only
      Annotations that both match this schema and belong to DataItems not
      ignored by the split method are used in respectively training,
      validation or test role, depending on the role of the DataItem they are
      on. When used in conjunction with annotations_filter, the Annotations
      used for training are filtered by both annotations_filter and
      annotation_schema_uri.
    annotationsFilter: Applicable only to Datasets that have DataItems and
      Annotations. A filter on Annotations of the Dataset. Only Annotations
      that both match this filter and belong to DataItems not ignored by the
      split method are used in respectively training, validation or test role,
      depending on the role of the DataItem they are on (for the auto-assigned
      that role is decided by Vertex AI). A filter with same syntax as the one
      used in ListAnnotations may be used, but note here it filters across all
      Annotations of the Dataset, and not just within a single DataItem.
    bigqueryDestination: Only applicable to custom training with tabular
      Dataset with BigQuery source. The BigQuery project location where the
      training data is to be written to. In the given project a new dataset is
      created with name `dataset___` where timestamp is in
      YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written into
      that dataset. In the dataset three tables are created, `training`,
      `validation` and `test`. * AIP_DATA_FORMAT = "bigquery". *
      AIP_TRAINING_DATA_URI = "bigquery_destination.dataset___.training" *
      AIP_VALIDATION_DATA_URI = "bigquery_destination.dataset___.validation" *
      AIP_TEST_DATA_URI = "bigquery_destination.dataset___.test"
    datasetId: Required. The ID of the Dataset in the same Project and
      Location which data will be used to train the Model. The Dataset must
      use schema compatible with Model being trained, and what is compatible
      should be described in the used TrainingPipeline's
      training_task_definition. For tabular Datasets, all their data is
      exported to training, to pick and choose from.
    filterSplit: Split based on the provided filters for each set.
    fractionSplit: Split based on fractions defining the size of each set.
    gcsDestination: The Cloud Storage location where the training data is to
      be written to. In the given directory a new directory is created with
      name: `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ
      ISO-8601 format. All training input data is written into that directory.
      The Vertex AI environment variables representing Cloud Storage data URIs
      are represented in the Cloud Storage wildcard format to support sharded
      data. e.g.: "gs://.../training-*.jsonl" * AIP_DATA_FORMAT = "jsonl" for
      non-tabular data, "csv" for tabular data * AIP_TRAINING_DATA_URI =
      "gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}" *
      AIP_VALIDATION_DATA_URI =
      "gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}" *
      AIP_TEST_DATA_URI =
      "gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}"
    persistMlUseAssignment: Whether to persist the ML use assignment to data
      item system labels.
    predefinedSplit: Supported only for tabular Datasets. Split based on a
      predefined key.
    savedQueryId: Only applicable to Datasets that have SavedQueries. The ID
      of a SavedQuery (annotation set) under the Dataset specified by
      dataset_id used for filtering Annotations for training. Only Annotations
      that are associated with this SavedQuery are used in respectively
      training. When used in conjunction with annotations_filter, the
      Annotations used for training are filtered by both saved_query_id and
      annotations_filter. Only one of saved_query_id and annotation_schema_uri
      should be specified as both of them represent the same thing: problem
      type.
    stratifiedSplit: Supported only for tabular Datasets. Split based on the
      distribution of the specified column.
    timestampSplit: Supported only for tabular Datasets. Split based on the
      timestamp of the input data pieces.
  """

  annotationSchemaUri = _messages.StringField(1)
  annotationsFilter = _messages.StringField(2)
  bigqueryDestination = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 3)
  datasetId = _messages.StringField(4)
  filterSplit = _messages.MessageField('GoogleCloudAiplatformV1FilterSplit', 5)
  fractionSplit = _messages.MessageField('GoogleCloudAiplatformV1FractionSplit', 6)
  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 7)
  persistMlUseAssignment = _messages.BooleanField(8)
  predefinedSplit = _messages.MessageField('GoogleCloudAiplatformV1PredefinedSplit', 9)
  savedQueryId = _messages.StringField(10)
  stratifiedSplit = _messages.MessageField('GoogleCloudAiplatformV1StratifiedSplit', 11)
  timestampSplit = _messages.MessageField('GoogleCloudAiplatformV1TimestampSplit', 12)


class GoogleCloudAiplatformV1Int64Array(_messages.Message):
  r"""A list of int64 values.

  Fields:
    values: A list of int64 values.
  """

  values = _messages.IntegerField(1, repeated=True)


class GoogleCloudAiplatformV1IntegratedGradientsAttribution(_messages.Message):
  r"""An attribution method that computes the Aumann-Shapley value taking
  advantage of the model's fully differentiable structure. Refer to this paper
  for more details: https://arxiv.org/abs/1703.01365

  Fields:
    blurBaselineConfig: Config for IG with blur baseline. When enabled, a
      linear path from the maximally blurred image to the input image is
      created. Using a blurred baseline instead of zero (black image) is
      motivated by the BlurIG approach explained here:
      https://arxiv.org/abs/2004.03383
    smoothGradConfig: Config for SmoothGrad approximation of gradients. When
      enabled, the gradients are approximated by averaging the gradients from
      noisy samples in the vicinity of the inputs. Adding noise can help
      improve the computed gradients. Refer to this paper for more details:
      https://arxiv.org/pdf/1706.03825.pdf
    stepCount: Required. The number of steps for approximating the path
      integral. A good value to start is 50 and gradually increase until the
      sum to diff property is within the desired error range. Valid range of
      its value is [1, 100], inclusively.
  """

  blurBaselineConfig = _messages.MessageField('GoogleCloudAiplatformV1BlurBaselineConfig', 1)
  smoothGradConfig = _messages.MessageField('GoogleCloudAiplatformV1SmoothGradConfig', 2)
  stepCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1JiraSource(_messages.Message):
  r"""The Jira source for the ImportRagFilesRequest.

  Fields:
    jiraQueries: Required. The Jira queries.
  """

  jiraQueries = _messages.MessageField('GoogleCloudAiplatformV1JiraSourceJiraQueries', 1, repeated=True)


class GoogleCloudAiplatformV1JiraSourceJiraQueries(_messages.Message):
  r"""JiraQueries contains the Jira queries and corresponding authentication.

  Fields:
    apiKeyConfig: Required. The SecretManager secret version resource name
      (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing
      the Jira API key. See [Manage API tokens for your Atlassian
      account](https://support.atlassian.com/atlassian-account/docs/manage-
      api-tokens-for-your-atlassian-account/).
    customQueries: A list of custom Jira queries to import. For information
      about JQL (Jira Query Language), see https://support.atlassian.com/jira-
      service-management-cloud/docs/use-advanced-search-with-jira-query-
      language-jql/
    email: Required. The Jira email address.
    projects: A list of Jira projects to import in their entirety.
    serverUri: Required. The Jira server URI.
  """

  apiKeyConfig = _messages.MessageField('GoogleCloudAiplatformV1ApiAuthApiKeyConfig', 1)
  customQueries = _messages.StringField(2, repeated=True)
  email = _messages.StringField(3)
  projects = _messages.StringField(4, repeated=True)
  serverUri = _messages.StringField(5)


class GoogleCloudAiplatformV1KeepAliveProbe(_messages.Message):
  r"""Represents the configuration for keep-alive probe. Contains
  configuration on a specified endpoint that a deployment host should use to
  keep the container alive based on the probe settings.

  Fields:
    httpGet: Optional. Specifies the HTTP GET configuration for the probe.
    maxSeconds: Optional. Specifies the maximum duration (in seconds) to keep
      the instance alive via this probe. Can be a maximum of 3600 seconds (1
      hour).
  """

  httpGet = _messages.MessageField('GoogleCloudAiplatformV1KeepAliveProbeHttpGet', 1)
  maxSeconds = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1KeepAliveProbeHttpGet(_messages.Message):
  r"""Specifies the HTTP GET configuration for the probe.

  Fields:
    path: Required. Specifies the path of the HTTP GET request (e.g.,
      `"/is_busy"`).
    port: Optional. Specifies the port number on the container to which the
      request is sent.
  """

  path = _messages.StringField(1)
  port = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1LLMBasedMetricSpec(_messages.Message):
  r"""Specification for an LLM based metric.

  Messages:
    AdditionalConfigValue: Optional. Optional additional configuration for the
      metric.

  Fields:
    additionalConfig: Optional. Optional additional configuration for the
      metric.
    judgeAutoraterConfig: Optional. Optional configuration for the judge LLM
      (Autorater).
    metricPromptTemplate: Required. Template for the prompt sent to the judge
      model.
    predefinedRubricGenerationSpec: Dynamically generate rubrics using a
      predefined spec.
    resultParserConfig: Optional. The parser config for the metric result.
    rubricGroupKey: Use a pre-defined group of rubrics associated with the
      input. Refers to a key in the rubric_groups map of EvaluationInstance.
    systemInstruction: Optional. System instructions for the judge model.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AdditionalConfigValue(_messages.Message):
    r"""Optional. Optional additional configuration for the metric.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a AdditionalConfigValue 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)

  additionalConfig = _messages.MessageField('AdditionalConfigValue', 1)
  judgeAutoraterConfig = _messages.MessageField('GoogleCloudAiplatformV1AutoraterConfig', 2)
  metricPromptTemplate = _messages.StringField(3)
  predefinedRubricGenerationSpec = _messages.MessageField('GoogleCloudAiplatformV1PredefinedMetricSpec', 4)
  resultParserConfig = _messages.MessageField('GoogleCloudAiplatformV1EvaluationParserConfig', 5)
  rubricGroupKey = _messages.StringField(6)
  systemInstruction = _messages.StringField(7)


class GoogleCloudAiplatformV1LargeModelReference(_messages.Message):
  r"""Contains information about the Large Model.

  Fields:
    name: Required. The unique name of the large Foundation or pre-built
      model. Like "chat-bison", "text-bison". Or model name with version ID,
      like "chat-bison@001", "text-bison@005", etc.
  """

  name = _messages.StringField(1)


class GoogleCloudAiplatformV1LineageSubgraph(_messages.Message):
  r"""A subgraph of the overall lineage graph. Event edges connect Artifact
  and Execution nodes.

  Fields:
    artifacts: The Artifact nodes in the subgraph.
    events: The Event edges between Artifacts and Executions in the subgraph.
    executions: The Execution nodes in the subgraph.
  """

  artifacts = _messages.MessageField('GoogleCloudAiplatformV1Artifact', 1, repeated=True)
  events = _messages.MessageField('GoogleCloudAiplatformV1Event', 2, repeated=True)
  executions = _messages.MessageField('GoogleCloudAiplatformV1Execution', 3, repeated=True)


class GoogleCloudAiplatformV1ListAnnotationsResponse(_messages.Message):
  r"""Response message for DatasetService.ListAnnotations.

  Fields:
    annotations: A list of Annotations that matches the specified filter in
      the request.
    nextPageToken: The standard List next-page token.
  """

  annotations = _messages.MessageField('GoogleCloudAiplatformV1Annotation', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListArtifactsResponse(_messages.Message):
  r"""Response message for MetadataService.ListArtifacts.

  Fields:
    artifacts: The Artifacts retrieved from the MetadataStore.
    nextPageToken: A token, which can be sent as
      ListArtifactsRequest.page_token to retrieve the next page. If this field
      is not populated, there are no subsequent pages.
  """

  artifacts = _messages.MessageField('GoogleCloudAiplatformV1Artifact', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListBatchPredictionJobsResponse(_messages.Message):
  r"""Response message for JobService.ListBatchPredictionJobs

  Fields:
    batchPredictionJobs: List of BatchPredictionJobs in the requested page.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListBatchPredictionJobsRequest.page_token to obtain that page.
  """

  batchPredictionJobs = _messages.MessageField('GoogleCloudAiplatformV1BatchPredictionJob', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListCachedContentsResponse(_messages.Message):
  r"""Response with a list of CachedContents.

  Fields:
    cachedContents: List of cached contents.
    nextPageToken: A token, which can be sent as `page_token` to retrieve the
      next page. If this field is omitted, there are no subsequent pages.
  """

  cachedContents = _messages.MessageField('GoogleCloudAiplatformV1CachedContent', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListContextsResponse(_messages.Message):
  r"""Response message for MetadataService.ListContexts.

  Fields:
    contexts: The Contexts retrieved from the MetadataStore.
    nextPageToken: A token, which can be sent as
      ListContextsRequest.page_token to retrieve the next page. If this field
      is not populated, there are no subsequent pages.
  """

  contexts = _messages.MessageField('GoogleCloudAiplatformV1Context', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListCustomJobsResponse(_messages.Message):
  r"""Response message for JobService.ListCustomJobs

  Fields:
    customJobs: List of CustomJobs in the requested page.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListCustomJobsRequest.page_token to obtain that page.
  """

  customJobs = _messages.MessageField('GoogleCloudAiplatformV1CustomJob', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListDataItemsResponse(_messages.Message):
  r"""Response message for DatasetService.ListDataItems.

  Fields:
    dataItems: A list of DataItems that matches the specified filter in the
      request.
    nextPageToken: The standard List next-page token.
  """

  dataItems = _messages.MessageField('GoogleCloudAiplatformV1DataItem', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListDatasetVersionsResponse(_messages.Message):
  r"""Response message for DatasetService.ListDatasetVersions.

  Fields:
    datasetVersions: A list of DatasetVersions that matches the specified
      filter in the request.
    nextPageToken: The standard List next-page token.
  """

  datasetVersions = _messages.MessageField('GoogleCloudAiplatformV1DatasetVersion', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListDatasetsResponse(_messages.Message):
  r"""Response message for DatasetService.ListDatasets.

  Fields:
    datasets: A list of Datasets that matches the specified filter in the
      request.
    nextPageToken: The standard List next-page token.
  """

  datasets = _messages.MessageField('GoogleCloudAiplatformV1Dataset', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse(_messages.Message):
  r"""Response message for ListDeploymentResourcePools method.

  Fields:
    deploymentResourcePools: The DeploymentResourcePools from the specified
      location.
    nextPageToken: A token, which can be sent as `page_token` to retrieve the
      next page. If this field is omitted, there are no subsequent pages.
  """

  deploymentResourcePools = _messages.MessageField('GoogleCloudAiplatformV1DeploymentResourcePool', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListEndpointsResponse(_messages.Message):
  r"""Response message for EndpointService.ListEndpoints.

  Fields:
    endpoints: List of Endpoints in the requested page.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListEndpointsRequest.page_token to obtain that page.
  """

  endpoints = _messages.MessageField('GoogleCloudAiplatformV1Endpoint', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListEntityTypesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.ListEntityTypes.

  Fields:
    entityTypes: The EntityTypes matching the request.
    nextPageToken: A token, which can be sent as
      ListEntityTypesRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
  """

  entityTypes = _messages.MessageField('GoogleCloudAiplatformV1EntityType', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListEventsResponse(_messages.Message):
  r"""Response message for SessionService.ListEvents.

  Fields:
    nextPageToken: A token, which can be sent as ListEventsRequest.page_token
      to retrieve the next page. Absence of this field indicates there are no
      subsequent pages.
    sessionEvents: A list of events matching the request. Ordered by timestamp
      in ascending order.
  """

  nextPageToken = _messages.StringField(1)
  sessionEvents = _messages.MessageField('GoogleCloudAiplatformV1SessionEvent', 2, repeated=True)


class GoogleCloudAiplatformV1ListExecutionsResponse(_messages.Message):
  r"""Response message for MetadataService.ListExecutions.

  Fields:
    executions: The Executions retrieved from the MetadataStore.
    nextPageToken: A token, which can be sent as
      ListExecutionsRequest.page_token to retrieve the next page. If this
      field is not populated, there are no subsequent pages.
  """

  executions = _messages.MessageField('GoogleCloudAiplatformV1Execution', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeatureGroupsResponse(_messages.Message):
  r"""Response message for FeatureRegistryService.ListFeatureGroups.

  Fields:
    featureGroups: The FeatureGroups matching the request.
    nextPageToken: A token, which can be sent as
      ListFeatureGroupsRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
  """

  featureGroups = _messages.MessageField('GoogleCloudAiplatformV1FeatureGroup', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse(_messages.Message):
  r"""Response message for
  FeatureOnlineStoreAdminService.ListFeatureOnlineStores.

  Fields:
    featureOnlineStores: The FeatureOnlineStores matching the request.
    nextPageToken: A token, which can be sent as
      ListFeatureOnlineStoresRequest.page_token to retrieve the next page. If
      this field is omitted, there are no subsequent pages.
  """

  featureOnlineStores = _messages.MessageField('GoogleCloudAiplatformV1FeatureOnlineStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeatureViewSyncsResponse(_messages.Message):
  r"""Response message for
  FeatureOnlineStoreAdminService.ListFeatureViewSyncs.

  Fields:
    featureViewSyncs: The FeatureViewSyncs matching the request.
    nextPageToken: A token, which can be sent as
      ListFeatureViewSyncsRequest.page_token to retrieve the next page. If
      this field is omitted, there are no subsequent pages.
  """

  featureViewSyncs = _messages.MessageField('GoogleCloudAiplatformV1FeatureViewSync', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeatureViewsResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreAdminService.ListFeatureViews.

  Fields:
    featureViews: The FeatureViews matching the request.
    nextPageToken: A token, which can be sent as
      ListFeatureViewsRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
  """

  featureViews = _messages.MessageField('GoogleCloudAiplatformV1FeatureView', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeaturesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.ListFeatures. Response message
  for FeatureRegistryService.ListFeatures.

  Fields:
    features: The Features matching the request.
    nextPageToken: A token, which can be sent as
      ListFeaturesRequest.page_token to retrieve the next page. If this field
      is omitted, there are no subsequent pages.
  """

  features = _messages.MessageField('GoogleCloudAiplatformV1Feature', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListFeaturestoresResponse(_messages.Message):
  r"""Response message for FeaturestoreService.ListFeaturestores.

  Fields:
    featurestores: The Featurestores matching the request.
    nextPageToken: A token, which can be sent as
      ListFeaturestoresRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
  """

  featurestores = _messages.MessageField('GoogleCloudAiplatformV1Featurestore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse(_messages.Message):
  r"""Response message for JobService.ListHyperparameterTuningJobs

  Fields:
    hyperparameterTuningJobs: List of HyperparameterTuningJobs in the
      requested page. HyperparameterTuningJob.trials of the jobs will be not
      be returned.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListHyperparameterTuningJobsRequest.page_token to obtain that page.
  """

  hyperparameterTuningJobs = _messages.MessageField('GoogleCloudAiplatformV1HyperparameterTuningJob', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListIndexEndpointsResponse(_messages.Message):
  r"""Response message for IndexEndpointService.ListIndexEndpoints.

  Fields:
    indexEndpoints: List of IndexEndpoints in the requested page.
    nextPageToken: A token to retrieve next page of results. Pass to
      ListIndexEndpointsRequest.page_token to obtain that page.
  """

  indexEndpoints = _messages.MessageField('GoogleCloudAiplatformV1IndexEndpoint', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListIndexesResponse(_messages.Message):
  r"""Response message for IndexService.ListIndexes.

  Fields:
    indexes: List of indexes in the requested page.
    nextPageToken: A token to retrieve next page of results. Pass to
      ListIndexesRequest.page_token to obtain that page.
  """

  indexes = _messages.MessageField('GoogleCloudAiplatformV1Index', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListMetadataSchemasResponse(_messages.Message):
  r"""Response message for MetadataService.ListMetadataSchemas.

  Fields:
    metadataSchemas: The MetadataSchemas found for the MetadataStore.
    nextPageToken: A token, which can be sent as
      ListMetadataSchemasRequest.page_token to retrieve the next page. If this
      field is not populated, there are no subsequent pages.
  """

  metadataSchemas = _messages.MessageField('GoogleCloudAiplatformV1MetadataSchema', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListMetadataStoresResponse(_messages.Message):
  r"""Response message for MetadataService.ListMetadataStores.

  Fields:
    metadataStores: The MetadataStores found for the Location.
    nextPageToken: A token, which can be sent as
      ListMetadataStoresRequest.page_token to retrieve the next page. If this
      field is not populated, there are no subsequent pages.
  """

  metadataStores = _messages.MessageField('GoogleCloudAiplatformV1MetadataStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse(_messages.Message):
  r"""Response message for JobService.ListModelDeploymentMonitoringJobs.

  Fields:
    modelDeploymentMonitoringJobs: A list of ModelDeploymentMonitoringJobs
      that matches the specified filter in the request.
    nextPageToken: The standard List next-page token.
  """

  modelDeploymentMonitoringJobs = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringJob', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse(_messages.Message):
  r"""Response message for ModelService.ListModelEvaluationSlices.

  Fields:
    modelEvaluationSlices: List of ModelEvaluations in the requested page.
    nextPageToken: A token to retrieve next page of results. Pass to
      ListModelEvaluationSlicesRequest.page_token to obtain that page.
  """

  modelEvaluationSlices = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSlice', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelEvaluationsResponse(_messages.Message):
  r"""Response message for ModelService.ListModelEvaluations.

  Fields:
    modelEvaluations: List of ModelEvaluations in the requested page.
    nextPageToken: A token to retrieve next page of results. Pass to
      ListModelEvaluationsRequest.page_token to obtain that page.
  """

  modelEvaluations = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluation', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse(_messages.Message):
  r"""Response message for ModelService.ListModelVersionCheckpoints

  Fields:
    checkpoints: List of Model Version checkpoints.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListModelVersionCheckpointsRequest.page_token to obtain that page.
  """

  checkpoints = _messages.MessageField('GoogleCloudAiplatformV1ModelVersionCheckpoint', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelVersionsResponse(_messages.Message):
  r"""Response message for ModelService.ListModelVersions

  Fields:
    models: List of Model versions in the requested page. In the returned
      Model name field, version ID instead of regvision tag will be included.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListModelVersionsRequest.page_token to obtain that page.
  """

  models = _messages.MessageField('GoogleCloudAiplatformV1Model', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListModelsResponse(_messages.Message):
  r"""Response message for ModelService.ListModels

  Fields:
    models: List of Models in the requested page.
    nextPageToken: A token to retrieve next page of results. Pass to
      ListModelsRequest.page_token to obtain that page.
  """

  models = _messages.MessageField('GoogleCloudAiplatformV1Model', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListNasJobsResponse(_messages.Message):
  r"""Response message for JobService.ListNasJobs

  Fields:
    nasJobs: List of NasJobs in the requested page. NasJob.nas_job_output of
      the jobs will not be returned.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListNasJobsRequest.page_token to obtain that page.
  """

  nasJobs = _messages.MessageField('GoogleCloudAiplatformV1NasJob', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListNasTrialDetailsResponse(_messages.Message):
  r"""Response message for JobService.ListNasTrialDetails

  Fields:
    nasTrialDetails: List of top NasTrials in the requested page.
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListNasTrialDetailsRequest.page_token to obtain that page.
  """

  nasTrialDetails = _messages.MessageField('GoogleCloudAiplatformV1NasTrialDetail', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse(_messages.Message):
  r"""Response message for [NotebookService.CreateNotebookExecutionJob]

  Fields:
    nextPageToken: A token to retrieve next page of results. Pass to
      ListNotebookExecutionJobsRequest.page_token to obtain that page.
    notebookExecutionJobs: List of NotebookExecutionJobs in the requested
      page.
  """

  nextPageToken = _messages.StringField(1)
  notebookExecutionJobs = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJob', 2, repeated=True)


class GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse(_messages.Message):
  r"""Response message for NotebookService.ListNotebookRuntimeTemplates.

  Fields:
    nextPageToken: A token to retrieve next page of results. Pass to
      ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.
    notebookRuntimeTemplates: List of NotebookRuntimeTemplates in the
      requested page.
  """

  nextPageToken = _messages.StringField(1)
  notebookRuntimeTemplates = _messages.MessageField('GoogleCloudAiplatformV1NotebookRuntimeTemplate', 2, repeated=True)


class GoogleCloudAiplatformV1ListNotebookRuntimesResponse(_messages.Message):
  r"""Response message for NotebookService.ListNotebookRuntimes.

  Fields:
    nextPageToken: A token to retrieve next page of results. Pass to
      ListNotebookRuntimesRequest.page_token to obtain that page.
    notebookRuntimes: List of NotebookRuntimes in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  notebookRuntimes = _messages.MessageField('GoogleCloudAiplatformV1NotebookRuntime', 2, repeated=True)


class GoogleCloudAiplatformV1ListOptimalTrialsRequest(_messages.Message):
  r"""Request message for VizierService.ListOptimalTrials."""


class GoogleCloudAiplatformV1ListOptimalTrialsResponse(_messages.Message):
  r"""Response message for VizierService.ListOptimalTrials.

  Fields:
    optimalTrials: The pareto-optimal Trials for multiple objective Study or
      the optimal trial for single objective Study. The definition of pareto-
      optimal can be checked in wiki page.
      https://en.wikipedia.org/wiki/Pareto_efficiency
  """

  optimalTrials = _messages.MessageField('GoogleCloudAiplatformV1Trial', 1, repeated=True)


class GoogleCloudAiplatformV1ListPersistentResourcesResponse(_messages.Message):
  r"""Response message for PersistentResourceService.ListPersistentResources

  Fields:
    nextPageToken: A token to retrieve next page of results. Pass to
      ListPersistentResourcesRequest.page_token to obtain that page.
    persistentResources: A GoogleCloudAiplatformV1PersistentResource
      attribute.
  """

  nextPageToken = _messages.StringField(1)
  persistentResources = _messages.MessageField('GoogleCloudAiplatformV1PersistentResource', 2, repeated=True)


class GoogleCloudAiplatformV1ListPipelineJobsResponse(_messages.Message):
  r"""Response message for PipelineService.ListPipelineJobs

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListPipelineJobsRequest.page_token to obtain that page.
    pipelineJobs: List of PipelineJobs in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  pipelineJobs = _messages.MessageField('GoogleCloudAiplatformV1PipelineJob', 2, repeated=True)


class GoogleCloudAiplatformV1ListRagCorporaResponse(_messages.Message):
  r"""Response message for VertexRagDataService.ListRagCorpora.

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListRagCorporaRequest.page_token to obtain that page.
    ragCorpora: List of RagCorpora in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  ragCorpora = _messages.MessageField('GoogleCloudAiplatformV1RagCorpus', 2, repeated=True)


class GoogleCloudAiplatformV1ListRagFilesResponse(_messages.Message):
  r"""Response message for VertexRagDataService.ListRagFiles.

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListRagFilesRequest.page_token to obtain that page.
    ragFiles: List of RagFiles in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  ragFiles = _messages.MessageField('GoogleCloudAiplatformV1RagFile', 2, repeated=True)


class GoogleCloudAiplatformV1ListReasoningEnginesResponse(_messages.Message):
  r"""Response message for ReasoningEngineService.ListReasoningEngines

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListReasoningEnginesRequest.page_token to obtain that page.
    reasoningEngines: List of ReasoningEngines in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  reasoningEngines = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngine', 2, repeated=True)


class GoogleCloudAiplatformV1ListSavedQueriesResponse(_messages.Message):
  r"""Response message for DatasetService.ListSavedQueries.

  Fields:
    nextPageToken: The standard List next-page token.
    savedQueries: A list of SavedQueries that match the specified filter in
      the request.
  """

  nextPageToken = _messages.StringField(1)
  savedQueries = _messages.MessageField('GoogleCloudAiplatformV1SavedQuery', 2, repeated=True)


class GoogleCloudAiplatformV1ListSchedulesResponse(_messages.Message):
  r"""Response message for ScheduleService.ListSchedules

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListSchedulesRequest.page_token to obtain that page.
    schedules: List of Schedules in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  schedules = _messages.MessageField('GoogleCloudAiplatformV1Schedule', 2, repeated=True)


class GoogleCloudAiplatformV1ListSemanticGovernancePoliciesResponse(_messages.Message):
  r"""Response message for
  SemanticGovernancePolicyService.ListSemanticGovernancePolicies.

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListSemanticGovernancePoliciesRequest.page_token to obtain that page.
    semanticGovernancePolicies: The list of SemanticGovernancePolicies.
  """

  nextPageToken = _messages.StringField(1)
  semanticGovernancePolicies = _messages.MessageField('GoogleCloudAiplatformV1SemanticGovernancePolicy', 2, repeated=True)


class GoogleCloudAiplatformV1ListSessionsResponse(_messages.Message):
  r"""Response message for SessionService.ListSessions.

  Fields:
    nextPageToken: A token, which can be sent as
      ListSessionsRequest.page_token to retrieve the next page. Absence of
      this field indicates there are no subsequent pages.
    sessions: A list of sessions matching the request.
  """

  nextPageToken = _messages.StringField(1)
  sessions = _messages.MessageField('GoogleCloudAiplatformV1Session', 2, repeated=True)


class GoogleCloudAiplatformV1ListSpecialistPoolsResponse(_messages.Message):
  r"""Response message for SpecialistPoolService.ListSpecialistPools.

  Fields:
    nextPageToken: The standard List next-page token.
    specialistPools: A list of SpecialistPools that matches the specified
      filter in the request.
  """

  nextPageToken = _messages.StringField(1)
  specialistPools = _messages.MessageField('GoogleCloudAiplatformV1SpecialistPool', 2, repeated=True)


class GoogleCloudAiplatformV1ListStudiesResponse(_messages.Message):
  r"""Response message for VizierService.ListStudies.

  Fields:
    nextPageToken: Passes this token as the `page_token` field of the request
      for a subsequent call. If this field is omitted, there are no subsequent
      pages.
    studies: The studies associated with the project.
  """

  nextPageToken = _messages.StringField(1)
  studies = _messages.MessageField('GoogleCloudAiplatformV1Study', 2, repeated=True)


class GoogleCloudAiplatformV1ListTensorboardExperimentsResponse(_messages.Message):
  r"""Response message for TensorboardService.ListTensorboardExperiments.

  Fields:
    nextPageToken: A token, which can be sent as
      ListTensorboardExperimentsRequest.page_token to retrieve the next page.
      If this field is omitted, there are no subsequent pages.
    tensorboardExperiments: The TensorboardExperiments mathching the request.
  """

  nextPageToken = _messages.StringField(1)
  tensorboardExperiments = _messages.MessageField('GoogleCloudAiplatformV1TensorboardExperiment', 2, repeated=True)


class GoogleCloudAiplatformV1ListTensorboardRunsResponse(_messages.Message):
  r"""Response message for TensorboardService.ListTensorboardRuns.

  Fields:
    nextPageToken: A token, which can be sent as
      ListTensorboardRunsRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
    tensorboardRuns: The TensorboardRuns mathching the request.
  """

  nextPageToken = _messages.StringField(1)
  tensorboardRuns = _messages.MessageField('GoogleCloudAiplatformV1TensorboardRun', 2, repeated=True)


class GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse(_messages.Message):
  r"""Response message for TensorboardService.ListTensorboardTimeSeries.

  Fields:
    nextPageToken: A token, which can be sent as
      ListTensorboardTimeSeriesRequest.page_token to retrieve the next page.
      If this field is omitted, there are no subsequent pages.
    tensorboardTimeSeries: The TensorboardTimeSeries mathching the request.
  """

  nextPageToken = _messages.StringField(1)
  tensorboardTimeSeries = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTimeSeries', 2, repeated=True)


class GoogleCloudAiplatformV1ListTensorboardsResponse(_messages.Message):
  r"""Response message for TensorboardService.ListTensorboards.

  Fields:
    nextPageToken: A token, which can be sent as
      ListTensorboardsRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
    tensorboards: The Tensorboards mathching the request.
  """

  nextPageToken = _messages.StringField(1)
  tensorboards = _messages.MessageField('GoogleCloudAiplatformV1Tensorboard', 2, repeated=True)


class GoogleCloudAiplatformV1ListTrainingPipelinesResponse(_messages.Message):
  r"""Response message for PipelineService.ListTrainingPipelines

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass to
      ListTrainingPipelinesRequest.page_token to obtain that page.
    trainingPipelines: List of TrainingPipelines in the requested page.
  """

  nextPageToken = _messages.StringField(1)
  trainingPipelines = _messages.MessageField('GoogleCloudAiplatformV1TrainingPipeline', 2, repeated=True)


class GoogleCloudAiplatformV1ListTrialsResponse(_messages.Message):
  r"""Response message for VizierService.ListTrials.

  Fields:
    nextPageToken: Pass this token as the `page_token` field of the request
      for a subsequent call. If this field is omitted, there are no subsequent
      pages.
    trials: The Trials associated with the Study.
  """

  nextPageToken = _messages.StringField(1)
  trials = _messages.MessageField('GoogleCloudAiplatformV1Trial', 2, repeated=True)


class GoogleCloudAiplatformV1ListTuningJobsResponse(_messages.Message):
  r"""Response message for GenAiTuningService.ListTuningJobs

  Fields:
    nextPageToken: A token to retrieve the next page of results. Pass this
      token in a subsequent [GenAiTuningService.ListTuningJobs] call to
      retrieve the next page of results.
    tuningJobs: The tuning jobs that match the request.
  """

  nextPageToken = _messages.StringField(1)
  tuningJobs = _messages.MessageField('GoogleCloudAiplatformV1TuningJob', 2, repeated=True)


class GoogleCloudAiplatformV1LogprobsResult(_messages.Message):
  r"""The log probabilities of the tokens generated by the model. This is
  useful for understanding the model's confidence in its predictions and for
  debugging. For example, you can use log probabilities to identify when the
  model is making a less confident prediction or to explore alternative
  responses that the model considered. A low log probability can also indicate
  that the model is "hallucinating" or generating factually incorrect
  information.

  Fields:
    chosenCandidates: A list of the chosen candidate tokens at each decoding
      step. The length of this list is equal to the total number of decoding
      steps. Note that the chosen candidate might not be in `top_candidates`.
    topCandidates: A list of the top candidate tokens at each decoding step.
      The length of this list is equal to the total number of decoding steps.
  """

  chosenCandidates = _messages.MessageField('GoogleCloudAiplatformV1LogprobsResultCandidate', 1, repeated=True)
  topCandidates = _messages.MessageField('GoogleCloudAiplatformV1LogprobsResultTopCandidates', 2, repeated=True)


class GoogleCloudAiplatformV1LogprobsResultCandidate(_messages.Message):
  r"""A single token and its associated log probability.

  Fields:
    logProbability: The log probability of this token. A higher value
      indicates that the model was more confident in this token. The log
      probability can be used to assess the relative likelihood of different
      tokens and to identify when the model is uncertain.
    token: The token's string representation.
    tokenId: The token's numerical ID. While the `token` field provides the
      string representation of the token, the `token_id` is the numerical
      representation that the model uses internally. This can be useful for
      developers who want to build custom logic based on the model's
      vocabulary.
  """

  logProbability = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  token = _messages.StringField(2)
  tokenId = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1LogprobsResultTopCandidates(_messages.Message):
  r"""A list of the top candidate tokens and their log probabilities at each
  decoding step. This can be used to see what other tokens the model
  considered.

  Fields:
    candidates: The list of candidate tokens, sorted by log probability in
      descending order.
  """

  candidates = _messages.MessageField('GoogleCloudAiplatformV1LogprobsResultCandidate', 1, repeated=True)


class GoogleCloudAiplatformV1LookupStudyRequest(_messages.Message):
  r"""Request message for VizierService.LookupStudy.

  Fields:
    displayName: Required. The user-defined display name of the Study
  """

  displayName = _messages.StringField(1)


class GoogleCloudAiplatformV1LustreMount(_messages.Message):
  r"""Represents a mount configuration for Lustre file system.

  Fields:
    filesystem: Required. The name of the Lustre filesystem.
    instanceIp: Required. IP address of the Lustre instance.
    mountPoint: Required. Destination mount path. The Lustre file system will
      be mounted for the user under /mnt/lustre/
    volumeHandle: Required. The unique identifier of the Lustre volume.
  """

  filesystem = _messages.StringField(1)
  instanceIp = _messages.StringField(2)
  mountPoint = _messages.StringField(3)
  volumeHandle = _messages.StringField(4)


class GoogleCloudAiplatformV1MachineSpec(_messages.Message):
  r"""Specification of a single machine.

  Enums:
    AcceleratorTypeValueValuesEnum: Immutable. The type of accelerator(s) that
      may be attached to the machine as per accelerator_count.

  Fields:
    acceleratorCount: The number of accelerators to attach to the machine. For
      [accelerator optimized machine
      types](https://cloud.google.com/compute/docs/accelerator-optimized-
      machines), One may set the accelerator_count from 1 to N for machine
      with N GPUs. If accelerator_count is less than or equal to N / 2, Agent
      Platform co-schedules the replicas of the model into the same VM to save
      cost. For example, if the machine type is a3-highgpu-8g, which has 8
      H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count
      is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of
      the model into the same VM to save cost. When co-scheduling, CPU, memory
      and storage on the VM will be distributed to replicas on the VM. For
      example, one can expect a co-scheduled replica requesting 2 GPUs out of
      a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM.
      Note that the feature is not compatible with multihost_gpu_node_count.
      When multihost_gpu_node_count is set, the co-scheduling will not be
      enabled.
    acceleratorType: Immutable. The type of accelerator(s) that may be
      attached to the machine as per accelerator_count.
    gpuPartitionSize: Optional. Immutable. The Nvidia GPU partition size. When
      specified, the requested accelerators will be partitioned into smaller
      GPU partitions. For example, if the request is for 8 units of NVIDIA
      A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 *
      7 = 56 partitioned MIG instances. The partition size must be a value
      supported by the requested accelerator. Refer to [Nvidia GPU
      Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-
      to/gpus-multi#multi-instance_gpu_partitions) for the available partition
      sizes. If set, the accelerator_count should be set to 1.
    machineType: Immutable. The type of the machine. See the [list of machine
      types supported for prediction](https://cloud.google.com/gemini-
      enterprise-agent-platform/machine-learning/predictions/configure-
      compute#machine-types) See the [list of machine types supported for
      custom training](https://cloud.google.com/gemini-enterprise-agent-
      platform/machine-learning/training/configure-compute#machine-types). For
      DeployedModel this field is optional, and the default value is
      `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec
      this field is required.
    reservationAffinity: Optional. Immutable. Configuration controlling how
      this resource pool consumes reservation.
    tpuTopology: Immutable. The topology of the TPUs. Corresponds to the TPU
      topologies available from GKE. (Example: tpu_topology: "2x2x1").
  """

  class AcceleratorTypeValueValuesEnum(_messages.Enum):
    r"""Immutable. The type of accelerator(s) that may be attached to the
    machine as per accelerator_count.

    Values:
      ACCELERATOR_TYPE_UNSPECIFIED: Unspecified accelerator type, which means
        no accelerator.
      NVIDIA_TESLA_K80: Deprecated: Nvidia Tesla K80 GPU has reached end of
        support, see https://cloud.google.com/compute/docs/eol/k80-eol.
      NVIDIA_TESLA_P100: Nvidia Tesla P100 GPU.
      NVIDIA_TESLA_V100: Nvidia Tesla V100 GPU.
      NVIDIA_TESLA_P4: Nvidia Tesla P4 GPU.
      NVIDIA_TESLA_T4: Nvidia Tesla T4 GPU.
      NVIDIA_TESLA_A100: Nvidia Tesla A100 GPU.
      NVIDIA_A100_80GB: Nvidia A100 80GB GPU.
      NVIDIA_L4: Nvidia L4 GPU.
      NVIDIA_H100_80GB: Nvidia H100 80Gb GPU.
      NVIDIA_H100_MEGA_80GB: Nvidia H100 Mega 80Gb GPU.
      NVIDIA_H200_141GB: Nvidia H200 141Gb GPU.
      NVIDIA_B200: Nvidia B200 GPU.
      NVIDIA_GB200: Nvidia GB200 GPU.
      NVIDIA_RTX_PRO_6000: Nvidia RTX Pro 6000 GPU.
      TPU_V2: TPU v2.
      TPU_V3: TPU v3.
      TPU_V4_POD: TPU v4.
      TPU_V5_LITEPOD: TPU v5.
    """
    ACCELERATOR_TYPE_UNSPECIFIED = 0
    NVIDIA_TESLA_K80 = 1
    NVIDIA_TESLA_P100 = 2
    NVIDIA_TESLA_V100 = 3
    NVIDIA_TESLA_P4 = 4
    NVIDIA_TESLA_T4 = 5
    NVIDIA_TESLA_A100 = 6
    NVIDIA_A100_80GB = 7
    NVIDIA_L4 = 8
    NVIDIA_H100_80GB = 9
    NVIDIA_H100_MEGA_80GB = 10
    NVIDIA_H200_141GB = 11
    NVIDIA_B200 = 12
    NVIDIA_GB200 = 13
    NVIDIA_RTX_PRO_6000 = 14
    TPU_V2 = 15
    TPU_V3 = 16
    TPU_V4_POD = 17
    TPU_V5_LITEPOD = 18

  acceleratorCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  acceleratorType = _messages.EnumField('AcceleratorTypeValueValuesEnum', 2)
  gpuPartitionSize = _messages.StringField(3)
  machineType = _messages.StringField(4)
  reservationAffinity = _messages.MessageField('GoogleCloudAiplatformV1ReservationAffinity', 5)
  tpuTopology = _messages.StringField(6)


class GoogleCloudAiplatformV1ManualBatchTuningParameters(_messages.Message):
  r"""Manual batch tuning parameters.

  Fields:
    batchSize: Immutable. The number of the records (e.g. instances) of the
      operation given in each batch to a machine replica. Machine type, and
      size of a single record should be considered when setting this
      parameter, higher value speeds up the batch operation's execution, but
      too high value will result in a whole batch not fitting in a machine's
      memory, and the whole operation will fail. The default value is 64.
  """

  batchSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1Measurement(_messages.Message):
  r"""A message representing a Measurement of a Trial. A Measurement contains
  the Metrics got by executing a Trial using suggested hyperparameter values.

  Fields:
    elapsedDuration: Output only. Time that the Trial has been running at the
      point of this Measurement.
    metrics: Output only. A list of metrics got by evaluating the objective
      functions using suggested Parameter values.
    stepCount: Output only. The number of steps the machine learning model has
      been trained for. Must be non-negative.
  """

  elapsedDuration = _messages.StringField(1)
  metrics = _messages.MessageField('GoogleCloudAiplatformV1MeasurementMetric', 2, repeated=True)
  stepCount = _messages.IntegerField(3)


class GoogleCloudAiplatformV1MeasurementMetric(_messages.Message):
  r"""A message representing a metric in the measurement.

  Fields:
    metricId: Output only. The ID of the Metric. The Metric should be defined
      in StudySpec's Metrics.
    value: Output only. The value for this metric.
  """

  metricId = _messages.StringField(1)
  value = _messages.FloatField(2)


class GoogleCloudAiplatformV1MergeVersionAliasesRequest(_messages.Message):
  r"""Request message for ModelService.MergeVersionAliases.

  Fields:
    versionAliases: Required. The set of version aliases to merge. The alias
      should be at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add
      the `-` prefix to an alias means removing that alias from the version.
      `-` is NOT counted in the 128 characters. Example: `-golden` means
      removing the `golden` alias from the version. There is NO ordering in
      aliases, which means 1) The aliases returned from GetModel API might not
      have the exactly same order from this MergeVersionAliases API. 2) Adding
      and deleting the same alias in the request is not recommended, and the 2
      operations will be cancelled out.
  """

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


class GoogleCloudAiplatformV1MetadataSchema(_messages.Message):
  r"""Instance of a general MetadataSchema.

  Enums:
    SchemaTypeValueValuesEnum: The type of the MetadataSchema. This is a
      property that identifies which metadata types will use the
      MetadataSchema.

  Fields:
    createTime: Output only. Timestamp when this MetadataSchema was created.
    description: Description of the Metadata Schema
    name: Output only. The resource name of the MetadataSchema.
    schema: Required. The raw YAML string representation of the
      MetadataSchema. The combination of [MetadataSchema.version] and the
      schema name given by `title` in [MetadataSchema.schema] must be unique
      within a MetadataStore. The schema is defined as an OpenAPI 3.0.2
      [MetadataSchema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/master/versions/3.0.2.md#schemaObject)
    schemaType: The type of the MetadataSchema. This is a property that
      identifies which metadata types will use the MetadataSchema.
    schemaVersion: The version of the MetadataSchema. The version's format
      must match the following regular expression: `^[0-9]+.+.+$`, which would
      allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc.
  """

  class SchemaTypeValueValuesEnum(_messages.Enum):
    r"""The type of the MetadataSchema. This is a property that identifies
    which metadata types will use the MetadataSchema.

    Values:
      METADATA_SCHEMA_TYPE_UNSPECIFIED: Unspecified type for the
        MetadataSchema.
      ARTIFACT_TYPE: A type indicating that the MetadataSchema will be used by
        Artifacts.
      EXECUTION_TYPE: A typee indicating that the MetadataSchema will be used
        by Executions.
      CONTEXT_TYPE: A state indicating that the MetadataSchema will be used by
        Contexts.
    """
    METADATA_SCHEMA_TYPE_UNSPECIFIED = 0
    ARTIFACT_TYPE = 1
    EXECUTION_TYPE = 2
    CONTEXT_TYPE = 3

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  name = _messages.StringField(3)
  schema = _messages.StringField(4)
  schemaType = _messages.EnumField('SchemaTypeValueValuesEnum', 5)
  schemaVersion = _messages.StringField(6)


class GoogleCloudAiplatformV1MetadataStore(_messages.Message):
  r"""Instance of a metadata store. Contains a set of metadata that can be
  queried.

  Fields:
    createTime: Output only. Timestamp when this MetadataStore was created.
    dataplexConfig: Optional. Dataplex integration settings.
    description: Description of the MetadataStore.
    encryptionSpec: Customer-managed encryption key spec for a Metadata Store.
      If set, this Metadata Store and all sub-resources of this Metadata Store
      are secured using this key.
    name: Output only. The resource name of the MetadataStore instance.
    state: Output only. State information of the MetadataStore.
    updateTime: Output only. Timestamp when this MetadataStore was last
      updated.
  """

  createTime = _messages.StringField(1)
  dataplexConfig = _messages.MessageField('GoogleCloudAiplatformV1MetadataStoreDataplexConfig', 2)
  description = _messages.StringField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  name = _messages.StringField(5)
  state = _messages.MessageField('GoogleCloudAiplatformV1MetadataStoreMetadataStoreState', 6)
  updateTime = _messages.StringField(7)


class GoogleCloudAiplatformV1MetadataStoreDataplexConfig(_messages.Message):
  r"""Represents Dataplex integration settings.

  Fields:
    enabledPipelinesLineage: Optional. Whether or not Data Lineage
      synchronization is enabled for Vertex Pipelines.
  """

  enabledPipelinesLineage = _messages.BooleanField(1)


class GoogleCloudAiplatformV1MetadataStoreMetadataStoreState(_messages.Message):
  r"""Represents state information for a MetadataStore.

  Fields:
    diskUtilizationBytes: The disk utilization of the MetadataStore in bytes.
  """

  diskUtilizationBytes = _messages.IntegerField(1)


class GoogleCloudAiplatformV1Metric(_messages.Message):
  r"""The metric used for running evaluations.

  Enums:
    AggregationMetricsValueListEntryValuesEnum:

  Fields:
    aggregationMetrics: Optional. The aggregation metrics to use.
    bleuSpec: Spec for bleu metric.
    computationBasedMetricSpec: Spec for a computation based metric.
    exactMatchSpec: Spec for exact match metric.
    llmBasedMetricSpec: Spec for an LLM based metric.
    pairwiseMetricSpec: Spec for pairwise metric.
    pointwiseMetricSpec: Spec for pointwise metric.
    predefinedMetricSpec: The spec for a pre-defined metric.
    rougeSpec: Spec for rouge metric.
  """

  class AggregationMetricsValueListEntryValuesEnum(_messages.Enum):
    r"""AggregationMetricsValueListEntryValuesEnum enum type.

    Values:
      AGGREGATION_METRIC_UNSPECIFIED: Unspecified aggregation metric.
      AVERAGE: Average aggregation metric. Not supported for Pairwise metric.
      MODE: Mode aggregation metric.
      STANDARD_DEVIATION: Standard deviation aggregation metric. Not supported
        for pairwise metric.
      VARIANCE: Variance aggregation metric. Not supported for pairwise
        metric.
      MINIMUM: Minimum aggregation metric. Not supported for pairwise metric.
      MAXIMUM: Maximum aggregation metric. Not supported for pairwise metric.
      MEDIAN: Median aggregation metric. Not supported for pairwise metric.
      PERCENTILE_P90: 90th percentile aggregation metric. Not supported for
        pairwise metric.
      PERCENTILE_P95: 95th percentile aggregation metric. Not supported for
        pairwise metric.
      PERCENTILE_P99: 99th percentile aggregation metric. Not supported for
        pairwise metric.
    """
    AGGREGATION_METRIC_UNSPECIFIED = 0
    AVERAGE = 1
    MODE = 2
    STANDARD_DEVIATION = 3
    VARIANCE = 4
    MINIMUM = 5
    MAXIMUM = 6
    MEDIAN = 7
    PERCENTILE_P90 = 8
    PERCENTILE_P95 = 9
    PERCENTILE_P99 = 10

  aggregationMetrics = _messages.EnumField('AggregationMetricsValueListEntryValuesEnum', 1, repeated=True)
  bleuSpec = _messages.MessageField('GoogleCloudAiplatformV1BleuSpec', 2)
  computationBasedMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1ComputationBasedMetricSpec', 3)
  exactMatchSpec = _messages.MessageField('GoogleCloudAiplatformV1ExactMatchSpec', 4)
  llmBasedMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1LLMBasedMetricSpec', 5)
  pairwiseMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricSpec', 6)
  pointwiseMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricSpec', 7)
  predefinedMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1PredefinedMetricSpec', 8)
  rougeSpec = _messages.MessageField('GoogleCloudAiplatformV1RougeSpec', 9)


class GoogleCloudAiplatformV1MetricResult(_messages.Message):
  r"""Result for a single metric on a single instance.

  Fields:
    error: Output only. The error status for the metric result.
    explanation: Output only. The explanation for the metric result.
    score: Output only. The score for the metric. Please refer to each
      metric's documentation for the meaning of the score.
  """

  error = _messages.MessageField('GoogleRpcStatus', 1)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1MetricxInput(_messages.Message):
  r"""Input for MetricX metric.

  Fields:
    instance: Required. Metricx instance.
    metricSpec: Required. Spec for Metricx metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1MetricxInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1MetricxSpec', 2)


class GoogleCloudAiplatformV1MetricxInstance(_messages.Message):
  r"""Spec for MetricX instance - The fields used for evaluation are dependent
  on the MetricX version.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
    source: Optional. Source text in original language.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)
  source = _messages.StringField(3)


class GoogleCloudAiplatformV1MetricxResult(_messages.Message):
  r"""Spec for MetricX result - calculates the MetricX score for the given
  instance using the version specified in the spec.

  Fields:
    score: Output only. MetricX score. Range depends on version.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1MetricxSpec(_messages.Message):
  r"""Spec for MetricX metric.

  Enums:
    VersionValueValuesEnum: Required. Which version to use for evaluation.

  Fields:
    sourceLanguage: Optional. Source language in BCP-47 format.
    targetLanguage: Optional. Target language in BCP-47 format. Covers both
      prediction and reference.
    version: Required. Which version to use for evaluation.
  """

  class VersionValueValuesEnum(_messages.Enum):
    r"""Required. Which version to use for evaluation.

    Values:
      METRICX_VERSION_UNSPECIFIED: MetricX version unspecified.
      METRICX_24_REF: MetricX 2024 (2.6) for translation + reference
        (reference-based).
      METRICX_24_SRC: MetricX 2024 (2.6) for translation + source (QE).
      METRICX_24_SRC_REF: MetricX 2024 (2.6) for translation + source +
        reference (source-reference-combined).
    """
    METRICX_VERSION_UNSPECIFIED = 0
    METRICX_24_REF = 1
    METRICX_24_SRC = 2
    METRICX_24_SRC_REF = 3

  sourceLanguage = _messages.StringField(1)
  targetLanguage = _messages.StringField(2)
  version = _messages.EnumField('VersionValueValuesEnum', 3)


class GoogleCloudAiplatformV1MigratableResource(_messages.Message):
  r"""Represents one resource that exists in automl.googleapis.com,
  datalabeling.googleapis.com or ml.googleapis.com.

  Fields:
    automlDataset: Output only. Represents one Dataset in
      automl.googleapis.com.
    automlModel: Output only. Represents one Model in automl.googleapis.com.
    dataLabelingDataset: Output only. Deprecated: Data Labeling Dataset
      migration is no longer supported. Represents one Dataset in
      datalabeling.googleapis.com.
    lastMigrateTime: Output only. Timestamp when the last migration attempt on
      this MigratableResource started. Will not be set if there's no migration
      attempt on this MigratableResource.
    lastUpdateTime: Output only. Timestamp when this MigratableResource was
      last updated.
    mlEngineModelVersion: Output only. Represents one Version in
      ml.googleapis.com.
  """

  automlDataset = _messages.MessageField('GoogleCloudAiplatformV1MigratableResourceAutomlDataset', 1)
  automlModel = _messages.MessageField('GoogleCloudAiplatformV1MigratableResourceAutomlModel', 2)
  dataLabelingDataset = _messages.MessageField('GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset', 3)
  lastMigrateTime = _messages.StringField(4)
  lastUpdateTime = _messages.StringField(5)
  mlEngineModelVersion = _messages.MessageField('GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion', 6)


class GoogleCloudAiplatformV1MigratableResourceAutomlDataset(_messages.Message):
  r"""Represents one Dataset in automl.googleapis.com.

  Fields:
    dataset: Full resource name of automl Dataset. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`.
    datasetDisplayName: The Dataset's display name in automl.googleapis.com.
  """

  dataset = _messages.StringField(1)
  datasetDisplayName = _messages.StringField(2)


class GoogleCloudAiplatformV1MigratableResourceAutomlModel(_messages.Message):
  r"""Represents one Model in automl.googleapis.com.

  Fields:
    model: Full resource name of automl Model. Format:
      `projects/{project}/locations/{location}/models/{model}`.
    modelDisplayName: The Model's display name in automl.googleapis.com.
  """

  model = _messages.StringField(1)
  modelDisplayName = _messages.StringField(2)


class GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset(_messages.Message):
  r"""Represents one Dataset in datalabeling.googleapis.com.

  Fields:
    dataLabelingAnnotatedDatasets: The migratable AnnotatedDataset in
      datalabeling.googleapis.com belongs to the data labeling Dataset.
    dataset: Full resource name of data labeling Dataset. Format:
      `projects/{project}/datasets/{dataset}`.
    datasetDisplayName: The Dataset's display name in
      datalabeling.googleapis.com.
  """

  dataLabelingAnnotatedDatasets = _messages.MessageField('GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset', 1, repeated=True)
  dataset = _messages.StringField(2)
  datasetDisplayName = _messages.StringField(3)


class GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset(_messages.Message):
  r"""Represents one AnnotatedDataset in datalabeling.googleapis.com.

  Fields:
    annotatedDataset: Full resource name of data labeling AnnotatedDataset.
      Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annota
      ted_dataset}`.
    annotatedDatasetDisplayName: The AnnotatedDataset's display name in
      datalabeling.googleapis.com.
  """

  annotatedDataset = _messages.StringField(1)
  annotatedDatasetDisplayName = _messages.StringField(2)


class GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion(_messages.Message):
  r"""Represents one model Version in ml.googleapis.com.

  Fields:
    endpoint: The ml.googleapis.com endpoint that this model Version currently
      lives in. Example values: * ml.googleapis.com * us-centrall-
      ml.googleapis.com * europe-west4-ml.googleapis.com * asia-
      east1-ml.googleapis.com
    version: Full resource name of ml engine model Version. Format:
      `projects/{project}/models/{model}/versions/{version}`.
  """

  endpoint = _messages.StringField(1)
  version = _messages.StringField(2)


class GoogleCloudAiplatformV1MigrateResourceRequest(_messages.Message):
  r"""Config of migrating one resource from automl.googleapis.com,
  datalabeling.googleapis.com and ml.googleapis.com to Vertex AI.

  Fields:
    migrateAutomlDatasetConfig: Config for migrating Dataset in
      automl.googleapis.com to Vertex AI's Dataset.
    migrateAutomlModelConfig: Config for migrating Model in
      automl.googleapis.com to Vertex AI's Model.
    migrateDataLabelingDatasetConfig: Deprecated: Data labeling service is
      shut down. Config for migrating Dataset in datalabeling.googleapis.com
      to Vertex AI's Dataset.
    migrateMlEngineModelVersionConfig: Config for migrating Version in
      ml.googleapis.com to Vertex AI's Model.
  """

  migrateAutomlDatasetConfig = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig', 1)
  migrateAutomlModelConfig = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig', 2)
  migrateDataLabelingDatasetConfig = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig', 3)
  migrateMlEngineModelVersionConfig = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig', 4)


class GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig(_messages.Message):
  r"""Config for migrating Dataset in automl.googleapis.com to Vertex AI's
  Dataset.

  Fields:
    dataset: Required. Full resource name of automl Dataset. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`.
    datasetDisplayName: Required. Display name of the Dataset in Vertex AI.
      System will pick a display name if unspecified.
  """

  dataset = _messages.StringField(1)
  datasetDisplayName = _messages.StringField(2)


class GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig(_messages.Message):
  r"""Config for migrating Model in automl.googleapis.com to Vertex AI's
  Model.

  Fields:
    model: Required. Full resource name of automl Model. Format:
      `projects/{project}/locations/{location}/models/{model}`.
    modelDisplayName: Optional. Display name of the model in Vertex AI. System
      will pick a display name if unspecified.
  """

  model = _messages.StringField(1)
  modelDisplayName = _messages.StringField(2)


class GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig(_messages.Message):
  r"""Config for migrating Dataset in datalabeling.googleapis.com to Vertex
  AI's Dataset.

  Fields:
    dataset: Required. Full resource name of data labeling Dataset. Format:
      `projects/{project}/datasets/{dataset}`.
    datasetDisplayName: Optional. Display name of the Dataset in Vertex AI.
      System will pick a display name if unspecified.
    migrateDataLabelingAnnotatedDatasetConfigs: Optional. Configs for
      migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's
      SavedQuery. The specified AnnotatedDatasets have to belong to the
      datalabeling Dataset.
  """

  dataset = _messages.StringField(1)
  datasetDisplayName = _messages.StringField(2)
  migrateDataLabelingAnnotatedDatasetConfigs = _messages.MessageField('GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig', 3, repeated=True)


class GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig(_messages.Message):
  r"""Config for migrating AnnotatedDataset in datalabeling.googleapis.com to
  Vertex AI's SavedQuery.

  Fields:
    annotatedDataset: Required. Full resource name of data labeling
      AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotat
      edDatasets/{annotated_dataset}`.
  """

  annotatedDataset = _messages.StringField(1)


class GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig(_messages.Message):
  r"""Config for migrating version in ml.googleapis.com to Vertex AI's Model.

  Fields:
    endpoint: Required. The ml.googleapis.com endpoint that this model version
      should be migrated from. Example values: * ml.googleapis.com * us-
      centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-
      east1-ml.googleapis.com
    modelDisplayName: Required. Display name of the model in Vertex AI. System
      will pick a display name if unspecified.
    modelVersion: Required. Full resource name of ml engine model version.
      Format: `projects/{project}/models/{model}/versions/{version}`.
  """

  endpoint = _messages.StringField(1)
  modelDisplayName = _messages.StringField(2)
  modelVersion = _messages.StringField(3)


class GoogleCloudAiplatformV1MigrateResourceResponse(_messages.Message):
  r"""Describes a successfully migrated resource.

  Fields:
    dataset: Migrated Dataset's resource name.
    migratableResource: Before migration, the identifier in ml.googleapis.com,
      automl.googleapis.com or datalabeling.googleapis.com.
    model: Migrated Model's resource name.
  """

  dataset = _messages.StringField(1)
  migratableResource = _messages.MessageField('GoogleCloudAiplatformV1MigratableResource', 2)
  model = _messages.StringField(3)


class GoogleCloudAiplatformV1ModalityTokenCount(_messages.Message):
  r"""Represents a breakdown of token usage by modality. This message is used
  in CountTokensResponse and GenerateContentResponse.UsageMetadata to provide
  a detailed view of how many tokens are used by each modality (e.g., text,
  image, video) in a request. This is particularly useful for multimodal
  models, allowing you to track and manage token consumption for billing and
  quota purposes.

  Enums:
    ModalityValueValuesEnum: The modality that this token count applies to.

  Fields:
    modality: The modality that this token count applies to.
    tokenCount: The number of tokens counted for this modality.
  """

  class ModalityValueValuesEnum(_messages.Enum):
    r"""The modality that this token count applies to.

    Values:
      MODALITY_UNSPECIFIED: When a modality is not specified, it is treated as
        `TEXT`.
      TEXT: The `Part` contains plain text.
      IMAGE: The `Part` contains an image.
      VIDEO: The `Part` contains a video.
      AUDIO: The `Part` contains audio.
      DOCUMENT: The `Part` contains a document, such as a PDF.
    """
    MODALITY_UNSPECIFIED = 0
    TEXT = 1
    IMAGE = 2
    VIDEO = 3
    AUDIO = 4
    DOCUMENT = 5

  modality = _messages.EnumField('ModalityValueValuesEnum', 1)
  tokenCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1Model(_messages.Message):
  r"""A trained machine learning Model.

  Enums:
    SupportedDeploymentResourcesTypesValueListEntryValuesEnum:

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Models. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    artifactUri: Immutable. The path to the directory containing the Model
      artifact and any of its supporting files. Not required for AutoML
      Models.
    baseModelSource: Optional. User input field to specify the base model
      source. Currently it only supports specifing the Model Garden models and
      Genie models.
    checkpoints: Optional. Output only. The checkpoints of the model.
    containerSpec: Input only. The specification of the container that is to
      be used when deploying this Model. The specification is ingested upon
      ModelService.UploadModel, and all binaries it contains are copied and
      stored internally by Vertex AI. Not required for AutoML Models.
    createTime: Output only. Timestamp when this Model was uploaded into
      Vertex AI.
    dataStats: Stats of data used for training or evaluating the Model. Only
      populated when the Model is trained by a TrainingPipeline with
      data_input_config.
    defaultCheckpointId: The default checkpoint id of a model version.
    deployedModels: Output only. The pointers to DeployedModels created from
      this Model. Note that Model could have been deployed to Endpoints in
      different Locations.
    description: The description of the Model.
    displayName: Required. The display name of the Model. The name can be up
      to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Customer-managed encryption key spec for a Model. If set,
      this Model and all sub-resources of this Model will be secured by this
      key.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    explanationSpec: The default explanation specification for this Model. The
      Model can be used for requesting explanation after being deployed if it
      is populated. The Model can be used for batch explanation if it is
      populated. All fields of the explanation_spec can be overridden by
      explanation_spec of DeployModelRequest.deployed_model, or
      explanation_spec of BatchPredictionJob. If the default explanation
      specification is not set for this Model, this Model can still be used
      for requesting explanation by setting explanation_spec of
      DeployModelRequest.deployed_model and for batch explanation by setting
      explanation_spec of BatchPredictionJob.
    labels: The labels with user-defined metadata to organize your Models.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    metadata: Immutable. An additional information about the Model; the schema
      of the metadata can be found in metadata_schema. Unset if the Model does
      not have any additional information.
    metadataArtifact: Output only. The resource name of the Artifact that was
      created in MetadataStore when creating the Model. The Artifact resource
      name pattern is `projects/{project}/locations/{location}/metadataStores/
      {metadata_store}/artifacts/{artifact}`.
    metadataSchemaUri: Immutable. Points to a YAML file stored on Google Cloud
      Storage describing additional information about the Model, that is
      specific to it. Unset if the Model does not have any additional
      information. The schema is defined as an OpenAPI 3.0.2 [Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models
      always have this field populated by Vertex AI, if no additional metadata
      is needed, this field is set to an empty string. Note: The URI given on
      output will be immutable and probably different, including the URI
      scheme, than the one given on input. The output URI will point to a
      location where the user only has a read access.
    modelSourceInfo: Output only. Source of a model. It can either be automl
      training pipeline, custom training pipeline, BigQuery ML, or saved and
      tuned from Genie or Model Garden.
    name: Identifier. The resource name of the Model.
    originalModelInfo: Output only. If this Model is a copy of another Model,
      this contains info about the original.
    pipelineJob: Optional. This field is populated if the model is produced by
      a pipeline job.
    predictSchemata: The schemata that describe formats of the Model's
      predictions and explanations as given and returned via
      PredictionService.Predict and PredictionService.Explain.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    supportedDeploymentResourcesTypes: Output only. When this Model is
      deployed, its prediction resources are described by the
      `prediction_resources` field of the Endpoint.deployed_models object.
      Because not all Models support all resource configuration types, the
      configuration types this Model supports are listed here. If no
      configuration types are listed, the Model cannot be deployed to an
      Endpoint and does not support online predictions
      (PredictionService.Predict or PredictionService.Explain). Such a Model
      can serve predictions by using a BatchPredictionJob, if it has at least
      one entry each in supported_input_storage_formats and
      supported_output_storage_formats.
    supportedExportFormats: Output only. The formats in which this Model may
      be exported. If empty, this Model is not available for export.
    supportedInputStorageFormats: Output only. The formats this Model supports
      in BatchPredictionJob.input_config. If
      PredictSchemata.instance_schema_uri exists, the instances should be
      given as per that schema. The possible formats are: * `jsonl` The JSON
      Lines format, where each instance is a single line. Uses GcsSource. *
      `csv` The CSV format, where each instance is a single comma-separated
      line. The first line in the file is the header, containing comma-
      separated field names. Uses GcsSource. * `tf-record` The TFRecord
      format, where each instance is a single record in tfrecord syntax. Uses
      GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is
      gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in
      BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is
      the location of an instance to process, uses `gcs_source` field of the
      InputConfig object. If this Model doesn't support any of these formats
      it means it cannot be used with a BatchPredictionJob. However, if it has
      supported_deployment_resources_types, it could serve online predictions
      by using PredictionService.Predict or PredictionService.Explain.
    supportedOutputStorageFormats: Output only. The formats this Model
      supports in BatchPredictionJob.output_config. If both
      PredictSchemata.instance_schema_uri and
      PredictSchemata.prediction_schema_uri exist, the predictions are
      returned together with their instances. In other words, the prediction
      has the original instance data first, followed by the actual prediction
      content (as per the schema). The possible formats are: * `jsonl` The
      JSON Lines format, where each prediction is a single line. Uses
      GcsDestination. * `csv` The CSV format, where each prediction is a
      single comma-separated line. The first line in the file is the header,
      containing comma-separated field names. Uses GcsDestination. *
      `bigquery` Each prediction is a single row in a BigQuery table, uses
      BigQueryDestination . If this Model doesn't support any of these formats
      it means it cannot be used with a BatchPredictionJob. However, if it has
      supported_deployment_resources_types, it could serve online predictions
      by using PredictionService.Predict or PredictionService.Explain.
    trainingPipeline: Output only. The resource name of the TrainingPipeline
      that uploaded this Model, if any.
    updateTime: Output only. Timestamp when this Model was most recently
      updated.
    versionAliases: User provided version aliases so that a model version can
      be referenced via alias (i.e. `projects/{project}/locations/{location}/m
      odels/{model_id}@{version_alias}` instead of auto-generated version id
      (i.e. `projects/{project}/locations/{location}/models/{model_id}@{versio
      n_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from
      version_id. A default version alias will be created for the first
      version of the model, and there must be exactly one default version
      alias for a model.
    versionCreateTime: Output only. Timestamp when this version was created.
    versionDescription: The description of this version.
    versionId: Output only. Immutable. The version ID of the model. A new
      version is committed when a new model version is uploaded or trained
      under an existing model id. It is an auto-incrementing decimal number in
      string representation.
    versionUpdateTime: Output only. Timestamp when this version was most
      recently updated.
  """

  class SupportedDeploymentResourcesTypesValueListEntryValuesEnum(_messages.Enum):
    r"""SupportedDeploymentResourcesTypesValueListEntryValuesEnum enum type.

    Values:
      DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED: Should not be used.
      DEDICATED_RESOURCES: Resources that are dedicated to the DeployedModel,
        and that need a higher degree of manual configuration.
      AUTOMATIC_RESOURCES: Resources that to large degree are decided by
        Vertex AI, and require only a modest additional configuration.
      SHARED_RESOURCES: Resources that can be shared by multiple
        DeployedModels. A pre-configured DeploymentResourcePool is required.
    """
    DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED = 0
    DEDICATED_RESOURCES = 1
    AUTOMATIC_RESOURCES = 2
    SHARED_RESOURCES = 3

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Models. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels.

    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)

  artifactUri = _messages.StringField(1)
  baseModelSource = _messages.MessageField('GoogleCloudAiplatformV1ModelBaseModelSource', 2)
  checkpoints = _messages.MessageField('GoogleCloudAiplatformV1Checkpoint', 3, repeated=True)
  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ModelContainerSpec', 4)
  createTime = _messages.StringField(5)
  dataStats = _messages.MessageField('GoogleCloudAiplatformV1ModelDataStats', 6)
  defaultCheckpointId = _messages.StringField(7)
  deployedModels = _messages.MessageField('GoogleCloudAiplatformV1DeployedModelRef', 8, repeated=True)
  description = _messages.StringField(9)
  displayName = _messages.StringField(10)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 11)
  etag = _messages.StringField(12)
  explanationSpec = _messages.MessageField('GoogleCloudAiplatformV1ExplanationSpec', 13)
  labels = _messages.MessageField('LabelsValue', 14)
  metadata = _messages.MessageField('extra_types.JsonValue', 15)
  metadataArtifact = _messages.StringField(16)
  metadataSchemaUri = _messages.StringField(17)
  modelSourceInfo = _messages.MessageField('GoogleCloudAiplatformV1ModelSourceInfo', 18)
  name = _messages.StringField(19)
  originalModelInfo = _messages.MessageField('GoogleCloudAiplatformV1ModelOriginalModelInfo', 20)
  pipelineJob = _messages.StringField(21)
  predictSchemata = _messages.MessageField('GoogleCloudAiplatformV1PredictSchemata', 22)
  satisfiesPzi = _messages.BooleanField(23)
  satisfiesPzs = _messages.BooleanField(24)
  supportedDeploymentResourcesTypes = _messages.EnumField('SupportedDeploymentResourcesTypesValueListEntryValuesEnum', 25, repeated=True)
  supportedExportFormats = _messages.MessageField('GoogleCloudAiplatformV1ModelExportFormat', 26, repeated=True)
  supportedInputStorageFormats = _messages.StringField(27, repeated=True)
  supportedOutputStorageFormats = _messages.StringField(28, repeated=True)
  trainingPipeline = _messages.StringField(29)
  updateTime = _messages.StringField(30)
  versionAliases = _messages.StringField(31, repeated=True)
  versionCreateTime = _messages.StringField(32)
  versionDescription = _messages.StringField(33)
  versionId = _messages.StringField(34)
  versionUpdateTime = _messages.StringField(35)


class GoogleCloudAiplatformV1ModelArmorConfig(_messages.Message):
  r"""Configuration for Model Armor. Model Armor is a Google Cloud service
  that provides safety and security filtering for prompts and responses. It
  helps protect your AI applications from risks such as harmful content,
  sensitive data leakage, and prompt injection attacks.

  Fields:
    promptTemplateName: Optional. The resource name of the Model Armor
      template to use for prompt screening. A Model Armor template is a set of
      customized filters and thresholds that define how Model Armor screens
      content. If specified, Model Armor will use this template to check the
      user's prompt for safety and security risks before it is sent to the
      model. The name must be in the format
      `projects/{project}/locations/{location}/templates/{template}`.
    responseTemplateName: Optional. The resource name of the Model Armor
      template to use for response screening. A Model Armor template is a set
      of customized filters and thresholds that define how Model Armor screens
      content. If specified, Model Armor will use this template to check the
      model's response for safety and security risks before it is returned to
      the user. The name must be in the format
      `projects/{project}/locations/{location}/templates/{template}`.
  """

  promptTemplateName = _messages.StringField(1)
  responseTemplateName = _messages.StringField(2)


class GoogleCloudAiplatformV1ModelBaseModelSource(_messages.Message):
  r"""User input field to specify the base model source. Currently it only
  supports specifing the Model Garden models and Genie models.

  Fields:
    genieSource: Information about the base model of Genie models.
    modelGardenSource: Source information of Model Garden models.
  """

  genieSource = _messages.MessageField('GoogleCloudAiplatformV1GenieSource', 1)
  modelGardenSource = _messages.MessageField('GoogleCloudAiplatformV1ModelGardenSource', 2)


class GoogleCloudAiplatformV1ModelContainerSpec(_messages.Message):
  r"""Specification of a container for serving predictions. Some fields in
  this message correspond to fields in the [Kubernetes Container v1 core
  specification](https://kubernetes.io/docs/reference/generated/kubernetes-
  api/v1.23/#container-v1-core).

  Fields:
    args: Immutable. Specifies arguments for the command that runs when the
      container starts. This overrides the container's
      [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify
      this field as an array of executable and arguments, similar to a Docker
      `CMD`'s "default parameters" form. If you don't specify this field but
      do specify the command field, then the command from the `command` field
      runs without any additional arguments. See the [Kubernetes documentation
      about how the `command` and `args` fields interact with a container's
      `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-
      application/define-command-argument-container/#notes). If you don't
      specify this field and don't specify the `command` field, then the
      container's
      [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd)
      and `CMD` determine what runs based on their default behavior. See the
      Docker documentation about [how `CMD` and `ENTRYPOINT`
      interact](https://docs.docker.com/engine/reference/builder/#understand-
      how-cmd-and-entrypoint-interact). In this field, you can reference
      [environment variables set by Vertex
      AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-
      container-requirements#aip-variables) and environment variables set in
      the env field. You cannot reference environment variables set in the
      Docker image. In order for environment variables to be expanded,
      reference them by using the following syntax: $( VARIABLE_NAME) Note
      that this differs from Bash variable expansion, which does not use
      parentheses. If a variable cannot be resolved, the reference in the
      input string is used unchanged. To avoid variable expansion, you can
      escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field
      corresponds to the `args` field of the Kubernetes Containers [v1 core
      API](https://kubernetes.io/docs/reference/generated/kubernetes-
      api/v1.23/#container-v1-core).
    command: Immutable. Specifies the command that runs when the container
      starts. This overrides the container's [ENTRYPOINT](https://docs.docker.
      com/engine/reference/builder/#entrypoint). Specify this field as an
      array of executable and arguments, similar to a Docker `ENTRYPOINT`'s
      "exec" form, not its "shell" form. If you do not specify this field,
      then the container's `ENTRYPOINT` runs, in conjunction with the args
      field or the container's
      [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if
      either exists. If this field is not specified and the container does not
      have an `ENTRYPOINT`, then refer to the Docker documentation about [how
      `CMD` and `ENTRYPOINT`
      interact](https://docs.docker.com/engine/reference/builder/#understand-
      how-cmd-and-entrypoint-interact). If you specify this field, then you
      can also specify the `args` field to provide additional arguments for
      this command. However, if you specify this field, then the container's
      `CMD` is ignored. See the [Kubernetes documentation about how the
      `command` and `args` fields interact with a container's `ENTRYPOINT` and
      `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-
      command-argument-container/#notes). In this field, you can reference
      [environment variables set by Vertex
      AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-
      container-requirements#aip-variables) and environment variables set in
      the env field. You cannot reference environment variables set in the
      Docker image. In order for environment variables to be expanded,
      reference them by using the following syntax: $( VARIABLE_NAME) Note
      that this differs from Bash variable expansion, which does not use
      parentheses. If a variable cannot be resolved, the reference in the
      input string is used unchanged. To avoid variable expansion, you can
      escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field
      corresponds to the `command` field of the Kubernetes Containers [v1 core
      API](https://kubernetes.io/docs/reference/generated/kubernetes-
      api/v1.23/#container-v1-core).
    deploymentTimeout: Immutable. Deployment timeout. Limit for deployment
      timeout is 2 hours.
    env: Immutable. List of environment variables to set in the container.
      After the container starts running, code running in the container can
      read these environment variables. Additionally, the command and args
      fields can reference these variables. Later entries in this list can
      also reference earlier entries. For example, the following example sets
      the variable `VAR_2` to have the value `foo bar`: ```json [ { "name":
      "VAR_1", "value": "foo" }, { "name": "VAR_2", "value": "$(VAR_1) bar" }
      ] ``` If you switch the order of the variables in the example, then the
      expansion does not occur. This field corresponds to the `env` field of
      the Kubernetes Containers [v1 core
      API](https://kubernetes.io/docs/reference/generated/kubernetes-
      api/v1.23/#container-v1-core).
    grpcPorts: Immutable. List of ports to expose from the container. Vertex
      AI sends gRPC prediction requests that it receives to the first port on
      this list. Vertex AI also sends liveness and health checks to this port.
      If you do not specify this field, gRPC requests to the container will be
      disabled. Vertex AI does not use ports other than the first one listed.
      This field corresponds to the `ports` field of the Kubernetes Containers
      v1 core API.
    healthProbe: Immutable. Specification for Kubernetes readiness probe.
    healthRoute: Immutable. HTTP path on the container to send health checks
      to. Vertex AI intermittently sends GET requests to this path on the
      container's IP address and port to check that the container is healthy.
      Read more about [health checks](https://cloud.google.com/vertex-
      ai/docs/predictions/custom-container-requirements#health). For example,
      if you set this field to `/bar`, then Vertex AI intermittently sends a
      GET request to the `/bar` path on the port of your container specified
      by the first value of this `ModelContainerSpec`'s ports field. If you
      don't specify this field, it defaults to the following value when you
      deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/
      DEPLOYED_MODEL:predict The placeholders in this value are replaced as
      follows: * ENDPOINT: The last segment (following `endpoints/`)of the
      Endpoint.name][] field of the Endpoint where this Model has been
      deployed. (Vertex AI makes this value available to your container code
      as the [`AIP_ENDPOINT_ID` environment
      variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-
      container-requirements#aip-variables).) * DEPLOYED_MODEL:
      DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value
      available to your container code as the [`AIP_DEPLOYED_MODEL_ID`
      environment variable](https://cloud.google.com/vertex-
      ai/docs/predictions/custom-container-requirements#aip-variables).)
    imageUri: Required. Immutable. URI of the Docker image to be used as the
      custom container for serving predictions. This URI must identify an
      image in Artifact Registry or Container Registry. Learn more about the
      [container publishing requirements](https://cloud.google.com/vertex-
      ai/docs/predictions/custom-container-requirements#publishing), including
      permissions requirements for the Vertex AI Service Agent. The container
      image is ingested upon ModelService.UploadModel, stored internally, and
      this original path is afterwards not used. To learn about the
      requirements for the Docker image itself, see [Custom container
      requirements](https://cloud.google.com/vertex-
      ai/docs/predictions/custom-container-requirements#). You can use the URI
      to one of Vertex AI's [pre-built container images for
      prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-
      built-containers) in this field.
    invokeRoutePrefix: Immutable. Invoke route prefix for the custom
      container. "/*" is the only supported value right now. By setting this
      field, any non-root route on this model will be accessible with invoke
      http call eg: "/invoke/foo/bar", however the [PredictionService.Invoke]
      RPC is not supported yet. Only one of `predict_route` or
      `invoke_route_prefix` can be set, and we default to using
      `predict_route` if this field is not set. If this field is set, the
      Model can only be deployed to dedicated endpoint.
    livenessProbe: Immutable. Specification for Kubernetes liveness probe.
    ports: Immutable. List of ports to expose from the container. Vertex AI
      sends any prediction requests that it receives to the first port on this
      list. Vertex AI also sends [liveness and health
      checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-
      container-requirements#liveness) to this port. If you do not specify
      this field, it defaults to following value: ```json [ { "containerPort":
      8080 } ] ``` Vertex AI does not use ports other than the first one
      listed. This field corresponds to the `ports` field of the Kubernetes
      Containers [v1 core
      API](https://kubernetes.io/docs/reference/generated/kubernetes-
      api/v1.23/#container-v1-core).
    predictRoute: Immutable. HTTP path on the container to send prediction
      requests to. Vertex AI forwards requests sent using
      projects.locations.endpoints.predict to this path on the container's IP
      address and port. Vertex AI then returns the container's response in the
      API response. For example, if you set this field to `/foo`, then when
      Vertex AI receives a prediction request, it forwards the request body in
      a POST request to the `/foo` path on the port of your container
      specified by the first value of this `ModelContainerSpec`'s ports field.
      If you don't specify this field, it defaults to the following value when
      you deploy this Model to an Endpoint:
      /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The
      placeholders in this value are replaced as follows: * ENDPOINT: The last
      segment (following `endpoints/`)of the Endpoint.name][] field of the
      Endpoint where this Model has been deployed. (Vertex AI makes this value
      available to your container code as the [`AIP_ENDPOINT_ID` environment
      variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-
      container-requirements#aip-variables).) * DEPLOYED_MODEL:
      DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value
      available to your container code as the [`AIP_DEPLOYED_MODEL_ID`
      environment variable](https://cloud.google.com/vertex-
      ai/docs/predictions/custom-container-requirements#aip-variables).)
    sharedMemorySizeMb: Immutable. The amount of the VM memory to reserve as
      the shared memory for the model in megabytes.
    startupProbe: Immutable. Specification for Kubernetes startup probe.
  """

  args = _messages.StringField(1, repeated=True)
  command = _messages.StringField(2, repeated=True)
  deploymentTimeout = _messages.StringField(3)
  env = _messages.MessageField('GoogleCloudAiplatformV1EnvVar', 4, repeated=True)
  grpcPorts = _messages.MessageField('GoogleCloudAiplatformV1Port', 5, repeated=True)
  healthProbe = _messages.MessageField('GoogleCloudAiplatformV1Probe', 6)
  healthRoute = _messages.StringField(7)
  imageUri = _messages.StringField(8)
  invokeRoutePrefix = _messages.StringField(9)
  livenessProbe = _messages.MessageField('GoogleCloudAiplatformV1Probe', 10)
  ports = _messages.MessageField('GoogleCloudAiplatformV1Port', 11, repeated=True)
  predictRoute = _messages.StringField(12)
  sharedMemorySizeMb = _messages.IntegerField(13)
  startupProbe = _messages.MessageField('GoogleCloudAiplatformV1Probe', 14)


class GoogleCloudAiplatformV1ModelDataStats(_messages.Message):
  r"""Stats of data used for train or evaluate the Model.

  Fields:
    testAnnotationsCount: Number of Annotations that are used for evaluating
      this Model. If the Model is evaluated multiple times, this will be the
      number of test Annotations used by the first evaluation. If the Model is
      not evaluated, the number is 0.
    testDataItemsCount: Number of DataItems that were used for evaluating this
      Model. If the Model is evaluated multiple times, this will be the number
      of test DataItems used by the first evaluation. If the Model is not
      evaluated, the number is 0.
    trainingAnnotationsCount: Number of Annotations that are used for training
      this Model.
    trainingDataItemsCount: Number of DataItems that were used for training
      this Model.
    validationAnnotationsCount: Number of Annotations that are used for
      validating this Model during training.
    validationDataItemsCount: Number of DataItems that were used for
      validating this Model during training.
  """

  testAnnotationsCount = _messages.IntegerField(1)
  testDataItemsCount = _messages.IntegerField(2)
  trainingAnnotationsCount = _messages.IntegerField(3)
  trainingDataItemsCount = _messages.IntegerField(4)
  validationAnnotationsCount = _messages.IntegerField(5)
  validationDataItemsCount = _messages.IntegerField(6)


class GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable(_messages.Message):
  r"""ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name
  as well as some information of the logs stored in this table.

  Enums:
    LogSourceValueValuesEnum: The source of log.
    LogTypeValueValuesEnum: The type of log.

  Fields:
    bigqueryTablePath: The created BigQuery table to store logs. Customer
      could do their own query & analysis. Format:
      `bq://.model_deployment_monitoring_._`
    logSource: The source of log.
    logType: The type of log.
    requestResponseLoggingSchemaVersion: Output only. The schema version of
      the request/response logging BigQuery table. Default to v1 if unset.
  """

  class LogSourceValueValuesEnum(_messages.Enum):
    r"""The source of log.

    Values:
      LOG_SOURCE_UNSPECIFIED: Unspecified source.
      TRAINING: Logs coming from Training dataset.
      SERVING: Logs coming from Serving traffic.
    """
    LOG_SOURCE_UNSPECIFIED = 0
    TRAINING = 1
    SERVING = 2

  class LogTypeValueValuesEnum(_messages.Enum):
    r"""The type of log.

    Values:
      LOG_TYPE_UNSPECIFIED: Unspecified type.
      PREDICT: Predict logs.
      EXPLAIN: Explain logs.
    """
    LOG_TYPE_UNSPECIFIED = 0
    PREDICT = 1
    EXPLAIN = 2

  bigqueryTablePath = _messages.StringField(1)
  logSource = _messages.EnumField('LogSourceValueValuesEnum', 2)
  logType = _messages.EnumField('LogTypeValueValuesEnum', 3)
  requestResponseLoggingSchemaVersion = _messages.StringField(4)


class GoogleCloudAiplatformV1ModelDeploymentMonitoringJob(_messages.Message):
  r"""Represents a job that runs periodically to monitor the deployed models
  in an endpoint. It will analyze the logged training & prediction data to
  detect any abnormal behaviors.

  Enums:
    ScheduleStateValueValuesEnum: Output only. Schedule state when the
      monitoring job is in Running state.
    StateValueValuesEnum: Output only. The detailed state of the monitoring
      job. When the job is still creating, the state will be 'PENDING'. Once
      the job is successfully created, the state will be 'RUNNING'. Pause the
      job, the state will be 'PAUSED'. Resume the job, the state will return
      to 'RUNNING'.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      ModelDeploymentMonitoringJob. Label keys and values can be no longer
      than 64 characters (Unicode codepoints), can only contain lowercase
      letters, numeric characters, underscores and dashes. International
      characters are allowed. See https://goo.gl/xmQnxf for more information
      and examples of labels.

  Fields:
    analysisInstanceSchemaUri: YAML schema file uri describing the format of a
      single instance that you want Tensorflow Data Validation (TFDV) to
      analyze. If this field is empty, all the feature data types are inferred
      from predict_instance_schema_uri, meaning that TFDV will use the data in
      the exact format(data type) as prediction request/response. If there are
      any data type differences between predict instance and TFDV instance,
      this field can be used to override the schema. For models trained with
      Vertex AI, this field must be set as all the fields in predict instance
      formatted as string.
    bigqueryTables: Output only. The created bigquery tables for the job under
      customer project. Customer could do their own query & analysis. There
      could be 4 log tables in maximum: 1. Training data logging predict
      request/response 2. Serving data logging predict request/response
    createTime: Output only. Timestamp when this ModelDeploymentMonitoringJob
      was created.
    displayName: Required. The user-defined name of the
      ModelDeploymentMonitoringJob. The name can be up to 128 characters long
      and can consist of any UTF-8 characters. Display name of a
      ModelDeploymentMonitoringJob.
    enableMonitoringPipelineLogs: If true, the scheduled monitoring pipeline
      logs are sent to Google Cloud Logging, including pipeline status and
      anomalies detected. Please note the logs incur cost, which are subject
      to [Cloud Logging pricing](https://cloud.google.com/logging#pricing).
    encryptionSpec: Customer-managed encryption key spec for a
      ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob
      and all sub-resources of this ModelDeploymentMonitoringJob will be
      secured by this key.
    endpoint: Required. Endpoint resource name. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    error: Output only. Only populated when the job's state is
      `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
    labels: The labels with user-defined metadata to organize your
      ModelDeploymentMonitoringJob. Label keys and values can be no longer
      than 64 characters (Unicode codepoints), can only contain lowercase
      letters, numeric characters, underscores and dashes. International
      characters are allowed. See https://goo.gl/xmQnxf for more information
      and examples of labels.
    latestMonitoringPipelineMetadata: Output only. Latest triggered monitoring
      pipeline metadata.
    logTtl: The TTL of BigQuery tables in user projects which stores logs. A
      day is the basic unit of the TTL and we take the ceil of TTL/86400(a
      day). e.g. { second: 3600} indicates ttl = 1 day.
    loggingSamplingStrategy: Required. Sample Strategy for logging.
    modelDeploymentMonitoringObjectiveConfigs: Required. The config for
      monitoring objectives. This is a per DeployedModel config. Each
      DeployedModel needs to be configured separately.
    modelDeploymentMonitoringScheduleConfig: Required. Schedule config for
      running the monitoring job.
    modelMonitoringAlertConfig: Alert config for model monitoring.
    name: Output only. Resource name of a ModelDeploymentMonitoringJob.
    nextScheduleTime: Output only. Timestamp when this monitoring pipeline
      will be scheduled to run for the next round.
    predictInstanceSchemaUri: YAML schema file uri describing the format of a
      single instance, which are given to format this Endpoint's prediction
      (and explanation). If not set, we will generate predict schema from
      collected predict requests.
    samplePredictInstance: Sample Predict instance, same format as
      PredictRequest.instances, this can be set as a replacement of
      ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we
      will generate predict schema from collected predict requests.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    scheduleState: Output only. Schedule state when the monitoring job is in
      Running state.
    state: Output only. The detailed state of the monitoring job. When the job
      is still creating, the state will be 'PENDING'. Once the job is
      successfully created, the state will be 'RUNNING'. Pause the job, the
      state will be 'PAUSED'. Resume the job, the state will return to
      'RUNNING'.
    statsAnomaliesBaseDirectory: Stats anomalies base folder path.
    updateTime: Output only. Timestamp when this ModelDeploymentMonitoringJob
      was updated most recently.
  """

  class ScheduleStateValueValuesEnum(_messages.Enum):
    r"""Output only. Schedule state when the monitoring job is in Running
    state.

    Values:
      MONITORING_SCHEDULE_STATE_UNSPECIFIED: Unspecified state.
      PENDING: The pipeline is picked up and wait to run.
      OFFLINE: The pipeline is offline and will be scheduled for next run.
      RUNNING: The pipeline is running.
    """
    MONITORING_SCHEDULE_STATE_UNSPECIFIED = 0
    PENDING = 1
    OFFLINE = 2
    RUNNING = 3

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the monitoring job. When the job is
    still creating, the state will be 'PENDING'. Once the job is successfully
    created, the state will be 'RUNNING'. Pause the job, the state will be
    'PAUSED'. Resume the job, the state will return to 'RUNNING'.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your
    ModelDeploymentMonitoringJob. Label keys and values can be no longer than
    64 characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information and examples of
    labels.

    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)

  analysisInstanceSchemaUri = _messages.StringField(1)
  bigqueryTables = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable', 2, repeated=True)
  createTime = _messages.StringField(3)
  displayName = _messages.StringField(4)
  enableMonitoringPipelineLogs = _messages.BooleanField(5)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 6)
  endpoint = _messages.StringField(7)
  error = _messages.MessageField('GoogleRpcStatus', 8)
  labels = _messages.MessageField('LabelsValue', 9)
  latestMonitoringPipelineMetadata = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata', 10)
  logTtl = _messages.StringField(11)
  loggingSamplingStrategy = _messages.MessageField('GoogleCloudAiplatformV1SamplingStrategy', 12)
  modelDeploymentMonitoringObjectiveConfigs = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig', 13, repeated=True)
  modelDeploymentMonitoringScheduleConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig', 14)
  modelMonitoringAlertConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringAlertConfig', 15)
  name = _messages.StringField(16)
  nextScheduleTime = _messages.StringField(17)
  predictInstanceSchemaUri = _messages.StringField(18)
  samplePredictInstance = _messages.MessageField('extra_types.JsonValue', 19)
  satisfiesPzi = _messages.BooleanField(20)
  satisfiesPzs = _messages.BooleanField(21)
  scheduleState = _messages.EnumField('ScheduleStateValueValuesEnum', 22)
  state = _messages.EnumField('StateValueValuesEnum', 23)
  statsAnomaliesBaseDirectory = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 24)
  updateTime = _messages.StringField(25)


class GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata(_messages.Message):
  r"""All metadata of most recent monitoring pipelines.

  Fields:
    runTime: The time that most recent monitoring pipelines that is related to
      this run.
    status: The status of the most recent monitoring pipeline.
  """

  runTime = _messages.StringField(1)
  status = _messages.MessageField('GoogleRpcStatus', 2)


class GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig(_messages.Message):
  r"""ModelDeploymentMonitoringObjectiveConfig contains the pair of
  deployed_model_id to ModelMonitoringObjectiveConfig.

  Fields:
    deployedModelId: The DeployedModel ID of the objective config.
    objectiveConfig: The objective config of for the modelmonitoring job of
      this deployed model.
  """

  deployedModelId = _messages.StringField(1)
  objectiveConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig', 2)


class GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig(_messages.Message):
  r"""The config for scheduling monitoring job.

  Fields:
    monitorInterval: Required. The model monitoring job scheduling interval.
      It will be rounded up to next full hour. This defines how often the
      monitoring jobs are triggered.
    monitorWindow: The time window of the prediction data being included in
      each prediction dataset. This window specifies how long the data should
      be collected from historical model results for each run. If not set,
      ModelDeploymentMonitoringScheduleConfig.monitor_interval will be used.
      e.g. If currently the cutoff time is 2022-01-08 14:30:00 and the
      monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 to
      2022-01-08 14:30:00 will be retrieved and aggregated to calculate the
      monitoring statistics.
  """

  monitorInterval = _messages.StringField(1)
  monitorWindow = _messages.StringField(2)


class GoogleCloudAiplatformV1ModelEvaluation(_messages.Message):
  r"""A collection of metrics calculated by comparing Model's predictions on
  all of the test data against annotations from the test data.

  Fields:
    annotationSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing EvaluatedDataItemView.predictions,
      EvaluatedDataItemView.ground_truths, EvaluatedAnnotation.predictions,
      and EvaluatedAnnotation.ground_truths. The schema is defined as an
      OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). This field is
      not populated if there are neither EvaluatedDataItemViews nor
      EvaluatedAnnotations under this ModelEvaluation.
    createTime: Output only. Timestamp when this ModelEvaluation was created.
    dataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing EvaluatedDataItemView.data_item_payload and
      EvaluatedAnnotation.data_item_payload. The schema is defined as an
      OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). This field is
      not populated if there are neither EvaluatedDataItemViews nor
      EvaluatedAnnotations under this ModelEvaluation.
    displayName: The display name of the ModelEvaluation.
    explanationSpecs: Describes the values of ExplanationSpec that are used
      for explaining the predicted values on the evaluated data.
    metadata: The metadata of the ModelEvaluation. For the ModelEvaluation
      uploaded from Managed Pipeline, metadata contains a structured value
      with keys of "pipeline_job_id", "evaluation_dataset_type",
      "evaluation_dataset_path", "row_based_metrics_path".
    metrics: Evaluation metrics of the Model. The schema of the metrics is
      stored in metrics_schema_uri
    metricsSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing the metrics of this ModelEvaluation. The schema is defined as
      an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject).
    modelExplanation: Aggregated explanation metrics for the Model's
      prediction output over the data this ModelEvaluation uses. This field is
      populated only if the Model is evaluated with explanations, and only for
      AutoML tabular Models.
    name: Output only. The resource name of the ModelEvaluation.
    sliceDimensions: All possible dimensions of ModelEvaluationSlices. The
      dimensions can be used as the filter of the
      ModelService.ListModelEvaluationSlices request, in the form of
      `slice.dimension = `.
  """

  annotationSchemaUri = _messages.StringField(1)
  createTime = _messages.StringField(2)
  dataItemSchemaUri = _messages.StringField(3)
  displayName = _messages.StringField(4)
  explanationSpecs = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec', 5, repeated=True)
  metadata = _messages.MessageField('extra_types.JsonValue', 6)
  metrics = _messages.MessageField('extra_types.JsonValue', 7)
  metricsSchemaUri = _messages.StringField(8)
  modelExplanation = _messages.MessageField('GoogleCloudAiplatformV1ModelExplanation', 9)
  name = _messages.StringField(10)
  sliceDimensions = _messages.StringField(11, repeated=True)


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

  Fields:
    explanationSpec: Explanation spec details.
    explanationType: Explanation type. For AutoML Image Classification models,
      possible values are: * `image-integrated-gradients` * `image-xrai`
  """

  explanationSpec = _messages.MessageField('GoogleCloudAiplatformV1ExplanationSpec', 1)
  explanationType = _messages.StringField(2)


class GoogleCloudAiplatformV1ModelEvaluationSlice(_messages.Message):
  r"""A collection of metrics calculated by comparing Model's predictions on a
  slice of the test data against ground truth annotations.

  Fields:
    createTime: Output only. Timestamp when this ModelEvaluationSlice was
      created.
    metrics: Output only. Sliced evaluation metrics of the Model. The schema
      of the metrics is stored in metrics_schema_uri
    metricsSchemaUri: Output only. Points to a YAML file stored on Google
      Cloud Storage describing the metrics of this ModelEvaluationSlice. The
      schema is defined as an OpenAPI 3.0.2 [Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject).
    modelExplanation: Output only. Aggregated explanation metrics for the
      Model's prediction output over the data this ModelEvaluation uses. This
      field is populated only if the Model is evaluated with explanations, and
      only for tabular Models.
    name: Output only. The resource name of the ModelEvaluationSlice.
    slice: Output only. The slice of the test data that is used to evaluate
      the Model.
  """

  createTime = _messages.StringField(1)
  metrics = _messages.MessageField('extra_types.JsonValue', 2)
  metricsSchemaUri = _messages.StringField(3)
  modelExplanation = _messages.MessageField('GoogleCloudAiplatformV1ModelExplanation', 4)
  name = _messages.StringField(5)
  slice = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSliceSlice', 6)


class GoogleCloudAiplatformV1ModelEvaluationSliceSlice(_messages.Message):
  r"""Definition of a slice.

  Fields:
    dimension: Output only. The dimension of the slice. Well-known dimensions
      are: * `annotationSpec`: This slice is on the test data that has either
      ground truth or prediction with AnnotationSpec.display_name equals to
      value. * `slice`: This slice is a user customized slice defined by its
      SliceSpec.
    sliceSpec: Output only. Specification for how the data was sliced.
    value: Output only. The value of the dimension in this slice.
  """

  dimension = _messages.StringField(1)
  sliceSpec = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec', 2)
  value = _messages.StringField(3)


class GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec(_messages.Message):
  r"""Specification for how the data should be sliced.

  Messages:
    ConfigsValue: Mapping configuration for this SliceSpec. The key is the
      name of the feature. By default, the key will be prefixed by "instance"
      as a dictionary prefix for Vertex Batch Predictions output format.

  Fields:
    configs: Mapping configuration for this SliceSpec. The key is the name of
      the feature. By default, the key will be prefixed by "instance" as a
      dictionary prefix for Vertex Batch Predictions output format.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ConfigsValue(_messages.Message):
    r"""Mapping configuration for this SliceSpec. The key is the name of the
    feature. By default, the key will be prefixed by "instance" as a
    dictionary prefix for Vertex Batch Predictions output format.

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

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

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

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

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

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

  configs = _messages.MessageField('ConfigsValue', 1)


class GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange(_messages.Message):
  r"""A range of values for slice(s). `low` is inclusive, `high` is exclusive.

  Fields:
    high: Exclusive high value for the range.
    low: Inclusive low value for the range.
  """

  high = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  low = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig(_messages.Message):
  r"""Specification message containing the config for this SliceSpec. When
  `kind` is selected as `value` and/or `range`, only a single slice will be
  computed. When `all_values` is present, a separate slice will be computed
  for each possible label/value for the corresponding key in `config`.
  Examples, with feature zip_code with values 12345, 23334, 88888 and feature
  country with values "US", "Canada", "Mexico" in the dataset: Example 1: {
  "zip_code": { "value": { "float_value": 12345.0 } } } A single slice for any
  data with zip_code 12345 in the dataset. Example 2: { "zip_code": { "range":
  { "low": 12345, "high": 20000 } } } A single slice containing data where the
  zip_codes between 12345 and 20000 For this example, data with the zip_code
  of 12345 will be in this slice. Example 3: { "zip_code": { "range": { "low":
  10000, "high": 20000 } }, "country": { "value": { "string_value": "US" } } }
  A single slice containing data where the zip_codes between 10000 and 20000
  has the country "US". For this example, data with the zip_code of 12345 and
  country "US" will be in this slice. Example 4: { "country": {"all_values": {
  "value": true } } } Three slices are computed, one for each unique country
  in the dataset. Example 5: { "country": { "all_values": { "value": true } },
  "zip_code": { "value": { "float_value": 12345.0 } } } Three slices are
  computed, one for each unique country in the dataset where the zip_code is
  also 12345. For this example, data with zip_code 12345 and country "US" will
  be in one slice, zip_code 12345 and country "Canada" in another slice, and
  zip_code 12345 and country "Mexico" in another slice, totaling 3 slices.

  Fields:
    allValues: If all_values is set to true, then all possible labels of the
      keyed feature will have another slice computed. Example:
      `{"all_values":{"value":true}}`
    range: A range of values for a numerical feature. Example:
      `{"range":{"low":10000.0,"high":50000.0}}` will capture 12345 and 23334
      in the slice.
    value: A unique specific value for a given feature. Example: `{ "value": {
      "string_value": "12345" } }`
  """

  allValues = _messages.BooleanField(1)
  range = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange', 2)
  value = _messages.MessageField('GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue', 3)


class GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue(_messages.Message):
  r"""Single value that supports strings and floats.

  Fields:
    floatValue: Float type.
    stringValue: String type.
  """

  floatValue = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  stringValue = _messages.StringField(2)


class GoogleCloudAiplatformV1ModelExplanation(_messages.Message):
  r"""Aggregated explanation metrics for a Model over a set of instances.

  Fields:
    meanAttributions: Output only. Aggregated attributions explaining the
      Model's prediction outputs over the set of instances. The attributions
      are grouped by outputs. For Models that predict only one output, such as
      regression Models that predict only one score, there is only one
      attibution that explains the predicted output. For Models that predict
      multiple outputs, such as multiclass Models that predict multiple
      classes, each element explains one specific item.
      Attribution.output_index can be used to identify which output this
      attribution is explaining. The baselineOutputValue, instanceOutputValue
      and featureAttributions fields are averaged over the test data. NOTE:
      Currently AutoML tabular classification Models produce only one
      attribution, which averages attributions over all the classes it
      predicts. Attribution.approximation_error is not populated.
  """

  meanAttributions = _messages.MessageField('GoogleCloudAiplatformV1Attribution', 1, repeated=True)


class GoogleCloudAiplatformV1ModelExportFormat(_messages.Message):
  r"""Represents export format supported by the Model. All formats export to
  Google Cloud Storage.

  Enums:
    ExportableContentsValueListEntryValuesEnum:

  Fields:
    exportableContents: Output only. The content of this Model that may be
      exported.
    id: Output only. The ID of the export format. The possible format IDs are:
      * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for
      [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-
      model` A tensorflow model in SavedModel format. * `tf-js` A
      [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in
      the browser and in Node.js using JavaScript. * `core-ml` Used for iOS
      mobile devices. * `custom-trained` A Model that was uploaded or trained
      by custom code. * `genie` A tuned Model Garden model.
  """

  class ExportableContentsValueListEntryValuesEnum(_messages.Enum):
    r"""ExportableContentsValueListEntryValuesEnum enum type.

    Values:
      EXPORTABLE_CONTENT_UNSPECIFIED: Should not be used.
      ARTIFACT: Model artifact and any of its supported files. Will be
        exported to the location specified by the `artifactDestination` field
        of the ExportModelRequest.output_config object.
      IMAGE: The container image that is to be used when deploying this Model.
        Will be exported to the location specified by the `imageDestination`
        field of the ExportModelRequest.output_config object.
    """
    EXPORTABLE_CONTENT_UNSPECIFIED = 0
    ARTIFACT = 1
    IMAGE = 2

  exportableContents = _messages.EnumField('ExportableContentsValueListEntryValuesEnum', 1, repeated=True)
  id = _messages.StringField(2)


class GoogleCloudAiplatformV1ModelGardenSource(_messages.Message):
  r"""Contains information about the source of the models generated from Model
  Garden.

  Fields:
    publicModelName: Required. The model garden source model resource name.
    skipHfModelCache: Optional. Whether to avoid pulling the model from the HF
      cache.
    versionId: Optional. The model garden source model version ID.
  """

  publicModelName = _messages.StringField(1)
  skipHfModelCache = _messages.BooleanField(2)
  versionId = _messages.StringField(3)


class GoogleCloudAiplatformV1ModelMonitoringAlertConfig(_messages.Message):
  r"""The alert config for model monitoring.

  Fields:
    emailAlertConfig: Email alert config.
    enableLogging: Dump the anomalies to Cloud Logging. The anomalies will be
      put to json payload encoded from proto ModelMonitoringStatsAnomalies.
      This can be further synced to Pub/Sub or any other services supported by
      Cloud Logging.
    notificationChannels: Resource names of the NotificationChannels to send
      alert. Must be of the format `projects//notificationChannels/`
  """

  emailAlertConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig', 1)
  enableLogging = _messages.BooleanField(2)
  notificationChannels = _messages.StringField(3, repeated=True)


class GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig(_messages.Message):
  r"""The config for email alert.

  Fields:
    userEmails: The email addresses to send the alert.
  """

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


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig(_messages.Message):
  r"""The objective configuration for model monitoring, including the
  information needed to detect anomalies for one particular model.

  Fields:
    explanationConfig: The config for integrating with Vertex Explainable AI.
    predictionDriftDetectionConfig: The config for drift of prediction data.
    trainingDataset: Training dataset for models. This field has to be set
      only if TrainingPredictionSkewDetectionConfig is specified.
    trainingPredictionSkewDetectionConfig: The config for skew between
      training data and prediction data.
  """

  explanationConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig', 1)
  predictionDriftDetectionConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig', 2)
  trainingDataset = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset', 3)
  trainingPredictionSkewDetectionConfig = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig', 4)


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig(_messages.Message):
  r"""The config for integrating with Vertex Explainable AI. Only applicable
  if the Model has explanation_spec populated.

  Fields:
    enableFeatureAttributes: If want to analyze the Vertex Explainable AI
      feature attribute scores or not. If set to true, Vertex AI will log the
      feature attributions from explain response and do the skew/drift
      detection for them.
    explanationBaseline: Predictions generated by the BatchPredictionJob using
      baseline dataset.
  """

  enableFeatureAttributes = _messages.BooleanField(1)
  explanationBaseline = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline', 2)


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline(_messages.Message):
  r"""Output from BatchPredictionJob for Model Monitoring baseline dataset,
  which can be used to generate baseline attribution scores.

  Enums:
    PredictionFormatValueValuesEnum: The storage format of the predictions
      generated BatchPrediction job.

  Fields:
    bigquery: BigQuery location for BatchExplain output.
    gcs: Cloud Storage location for BatchExplain output.
    predictionFormat: The storage format of the predictions generated
      BatchPrediction job.
  """

  class PredictionFormatValueValuesEnum(_messages.Enum):
    r"""The storage format of the predictions generated BatchPrediction job.

    Values:
      PREDICTION_FORMAT_UNSPECIFIED: Should not be set.
      JSONL: Predictions are in JSONL files.
      BIGQUERY: Predictions are in BigQuery.
    """
    PREDICTION_FORMAT_UNSPECIFIED = 0
    JSONL = 1
    BIGQUERY = 2

  bigquery = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 1)
  gcs = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 2)
  predictionFormat = _messages.EnumField('PredictionFormatValueValuesEnum', 3)


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig(_messages.Message):
  r"""The config for Prediction data drift detection.

  Messages:
    AttributionScoreDriftThresholdsValue: Key is the feature name and value is
      the threshold. The threshold here is against attribution score distance
      between different time windows.
    DriftThresholdsValue: Key is the feature name and value is the threshold.
      If a feature needs to be monitored for drift, a value threshold must be
      configured for that feature. The threshold here is against feature
      distribution distance between different time windws.

  Fields:
    attributionScoreDriftThresholds: Key is the feature name and value is the
      threshold. The threshold here is against attribution score distance
      between different time windows.
    defaultDriftThreshold: Drift anomaly detection threshold used by all
      features. When the per-feature thresholds are not set, this field can be
      used to specify a threshold for all features.
    driftThresholds: Key is the feature name and value is the threshold. If a
      feature needs to be monitored for drift, a value threshold must be
      configured for that feature. The threshold here is against feature
      distribution distance between different time windws.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AttributionScoreDriftThresholdsValue(_messages.Message):
    r"""Key is the feature name and value is the threshold. The threshold here
    is against attribution score distance between different time windows.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DriftThresholdsValue(_messages.Message):
    r"""Key is the feature name and value is the threshold. If a feature needs
    to be monitored for drift, a value threshold must be configured for that
    feature. The threshold here is against feature distribution distance
    between different time windws.

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

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

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

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

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

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

  attributionScoreDriftThresholds = _messages.MessageField('AttributionScoreDriftThresholdsValue', 1)
  defaultDriftThreshold = _messages.MessageField('GoogleCloudAiplatformV1ThresholdConfig', 2)
  driftThresholds = _messages.MessageField('DriftThresholdsValue', 3)


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset(_messages.Message):
  r"""Training Dataset information.

  Fields:
    bigquerySource: The BigQuery table of the unmanaged Dataset used to train
      this Model.
    dataFormat: Data format of the dataset, only applicable if the input is
      from Google Cloud Storage. The possible formats are: "tf-record" The
      source file is a TFRecord file. "csv" The source file is a CSV file.
      "jsonl" The source file is a JSONL file.
    dataset: The resource name of the Dataset used to train this Model.
    gcsSource: The Google Cloud Storage uri of the unmanaged Dataset used to
      train this Model.
    loggingSamplingStrategy: Strategy to sample data from Training Dataset. If
      not set, we process the whole dataset.
    targetField: The target field name the model is to predict. This field
      will be excluded when doing Predict and (or) Explain for the training
      data.
  """

  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1BigQuerySource', 1)
  dataFormat = _messages.StringField(2)
  dataset = _messages.StringField(3)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 4)
  loggingSamplingStrategy = _messages.MessageField('GoogleCloudAiplatformV1SamplingStrategy', 5)
  targetField = _messages.StringField(6)


class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig(_messages.Message):
  r"""The config for Training & Prediction data skew detection. It specifies
  the training dataset sources and the skew detection parameters.

  Messages:
    AttributionScoreSkewThresholdsValue: Key is the feature name and value is
      the threshold. The threshold here is against attribution score distance
      between the training and prediction feature.
    SkewThresholdsValue: Key is the feature name and value is the threshold.
      If a feature needs to be monitored for skew, a value threshold must be
      configured for that feature. The threshold here is against feature
      distribution distance between the training and prediction feature.

  Fields:
    attributionScoreSkewThresholds: Key is the feature name and value is the
      threshold. The threshold here is against attribution score distance
      between the training and prediction feature.
    defaultSkewThreshold: Skew anomaly detection threshold used by all
      features. When the per-feature thresholds are not set, this field can be
      used to specify a threshold for all features.
    skewThresholds: Key is the feature name and value is the threshold. If a
      feature needs to be monitored for skew, a value threshold must be
      configured for that feature. The threshold here is against feature
      distribution distance between the training and prediction feature.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AttributionScoreSkewThresholdsValue(_messages.Message):
    r"""Key is the feature name and value is the threshold. The threshold here
    is against attribution score distance between the training and prediction
    feature.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class SkewThresholdsValue(_messages.Message):
    r"""Key is the feature name and value is the threshold. If a feature needs
    to be monitored for skew, a value threshold must be configured for that
    feature. The threshold here is against feature distribution distance
    between the training and prediction feature.

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

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

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

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

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

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

  attributionScoreSkewThresholds = _messages.MessageField('AttributionScoreSkewThresholdsValue', 1)
  defaultSkewThreshold = _messages.MessageField('GoogleCloudAiplatformV1ThresholdConfig', 2)
  skewThresholds = _messages.MessageField('SkewThresholdsValue', 3)


class GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies(_messages.Message):
  r"""Statistics and anomalies generated by Model Monitoring.

  Enums:
    ObjectiveValueValuesEnum: Model Monitoring Objective those stats and
      anomalies belonging to.

  Fields:
    anomalyCount: Number of anomalies within all stats.
    deployedModelId: Deployed Model ID.
    featureStats: A list of historical Stats and Anomalies generated for all
      Features.
    objective: Model Monitoring Objective those stats and anomalies belonging
      to.
  """

  class ObjectiveValueValuesEnum(_messages.Enum):
    r"""Model Monitoring Objective those stats and anomalies belonging to.

    Values:
      MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED: Default value,
        should not be set.
      RAW_FEATURE_SKEW: Raw feature values' stats to detect skew between
        Training-Prediction datasets.
      RAW_FEATURE_DRIFT: Raw feature values' stats to detect drift between
        Serving-Prediction datasets.
      FEATURE_ATTRIBUTION_SKEW: Feature attribution scores to detect skew
        between Training-Prediction datasets.
      FEATURE_ATTRIBUTION_DRIFT: Feature attribution scores to detect skew
        between Prediction datasets collected within different time windows.
    """
    MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED = 0
    RAW_FEATURE_SKEW = 1
    RAW_FEATURE_DRIFT = 2
    FEATURE_ATTRIBUTION_SKEW = 3
    FEATURE_ATTRIBUTION_DRIFT = 4

  anomalyCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  deployedModelId = _messages.StringField(2)
  featureStats = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies', 3, repeated=True)
  objective = _messages.EnumField('ObjectiveValueValuesEnum', 4)


class GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies(_messages.Message):
  r"""Historical Stats (and Anomalies) for a specific Feature.

  Fields:
    featureDisplayName: Display Name of the Feature.
    predictionStats: A list of historical stats generated by different time
      window's Prediction Dataset.
    threshold: Threshold for anomaly detection.
    trainingStats: Stats calculated for the Training Dataset.
  """

  featureDisplayName = _messages.StringField(1)
  predictionStats = _messages.MessageField('GoogleCloudAiplatformV1FeatureStatsAnomaly', 2, repeated=True)
  threshold = _messages.MessageField('GoogleCloudAiplatformV1ThresholdConfig', 3)
  trainingStats = _messages.MessageField('GoogleCloudAiplatformV1FeatureStatsAnomaly', 4)


class GoogleCloudAiplatformV1ModelOriginalModelInfo(_messages.Message):
  r"""Contains information about the original Model if this Model is a copy.

  Fields:
    model: Output only. The resource name of the Model this Model is a copy
      of, including the revision. Format:
      `projects/{project}/locations/{location}/models/{model_id}@{version_id}`
  """

  model = _messages.StringField(1)


class GoogleCloudAiplatformV1ModelSourceInfo(_messages.Message):
  r"""Detail description of the source information of the model.

  Enums:
    SourceTypeValueValuesEnum: Type of the model source.

  Fields:
    copy: If this Model is copy of another Model. If true then source_type
      pertains to the original.
    sourceType: Type of the model source.
  """

  class SourceTypeValueValuesEnum(_messages.Enum):
    r"""Type of the model source.

    Values:
      MODEL_SOURCE_TYPE_UNSPECIFIED: Should not be used.
      AUTOML: The Model is uploaded by automl training pipeline.
      CUSTOM: The Model is uploaded by user or custom training pipeline.
      BQML: The Model is registered and sync'ed from BigQuery ML.
      MODEL_GARDEN: The Model is saved or tuned from Model Garden.
      GENIE: The Model is saved or tuned from Genie.
      CUSTOM_TEXT_EMBEDDING: The Model is uploaded by text embedding
        finetuning pipeline.
      MARKETPLACE: The Model is saved or tuned from Marketplace.
    """
    MODEL_SOURCE_TYPE_UNSPECIFIED = 0
    AUTOML = 1
    CUSTOM = 2
    BQML = 3
    MODEL_GARDEN = 4
    GENIE = 5
    CUSTOM_TEXT_EMBEDDING = 6
    MARKETPLACE = 7

  copy = _messages.BooleanField(1)
  sourceType = _messages.EnumField('SourceTypeValueValuesEnum', 2)


class GoogleCloudAiplatformV1ModelVersionCheckpoint(_messages.Message):
  r"""Describes the machine learning model version checkpoint.

  Fields:
    checkpointId: The ID of the checkpoint.
    epoch: The epoch of the checkpoint.
    step: The step of the checkpoint.
  """

  checkpointId = _messages.StringField(1)
  epoch = _messages.IntegerField(2)
  step = _messages.IntegerField(3)


class GoogleCloudAiplatformV1MultiSpeakerVoiceConfig(_messages.Message):
  r"""Configuration for a multi-speaker text-to-speech request.

  Fields:
    speakerVoiceConfigs: Required. A list of configurations for the voices of
      the speakers. Exactly two speaker voice configurations must be provided.
  """

  speakerVoiceConfigs = _messages.MessageField('GoogleCloudAiplatformV1SpeakerVoiceConfig', 1, repeated=True)


class GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata(_messages.Message):
  r"""Runtime operation information for
  IndexEndpointService.MutateDeployedIndex.

  Fields:
    deployedIndexId: The unique index id specified by user
    genericMetadata: The operation generic information.
  """

  deployedIndexId = _messages.StringField(1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1MutateDeployedIndexResponse(_messages.Message):
  r"""Response message for IndexEndpointService.MutateDeployedIndex.

  Fields:
    deployedIndex: The DeployedIndex that had been updated in the
      IndexEndpoint.
  """

  deployedIndex = _messages.MessageField('GoogleCloudAiplatformV1DeployedIndex', 1)


class GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata(_messages.Message):
  r"""Runtime operation information for EndpointService.MutateDeployedModel.

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

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


class GoogleCloudAiplatformV1MutateDeployedModelRequest(_messages.Message):
  r"""Request message for EndpointService.MutateDeployedModel.

  Fields:
    deployedModel: Required. The DeployedModel to be mutated within the
      Endpoint. Only the following fields can be mutated: *
      `min_replica_count` in either DedicatedResources or AutomaticResources *
      `max_replica_count` in either DedicatedResources or AutomaticResources *
      `required_replica_count` in DedicatedResources *
      autoscaling_metric_specs * `disable_container_logging` (v1 only) *
      `enable_container_logging` (v1beta1 only) * `scale_to_zero_spec` in
      DedicatedResources (v1beta1 only) * `initial_replica_count` in
      DedicatedResources (v1beta1 only)
    updateMask: Required. The update mask applies to the resource. See
      google.protobuf.FieldMask.
  """

  deployedModel = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 1)
  updateMask = _messages.StringField(2)


class GoogleCloudAiplatformV1MutateDeployedModelResponse(_messages.Message):
  r"""Response message for EndpointService.MutateDeployedModel.

  Fields:
    deployedModel: The DeployedModel that's being mutated.
  """

  deployedModel = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 1)


class GoogleCloudAiplatformV1NasJob(_messages.Message):
  r"""Represents a Neural Architecture Search (NAS) job.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize NasJobs.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.

  Fields:
    createTime: Output only. Time when the NasJob was created.
    displayName: Required. The display name of the NasJob. The name can be up
      to 128 characters long and can consist of any UTF-8 characters.
    enableRestrictedImageTraining: Optional. Enable a separation of Custom
      model training and restricted image training for tenant project.
    encryptionSpec: Customer-managed encryption key options for a NasJob. If
      this is set, then all resources created by the NasJob will be encrypted
      with the provided encryption key.
    endTime: Output only. Time when the NasJob entered any of the following
      states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
      `JOB_STATE_CANCELLED`.
    error: Output only. Only populated when job's state is JOB_STATE_FAILED or
      JOB_STATE_CANCELLED.
    labels: The labels with user-defined metadata to organize NasJobs. Label
      keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    name: Output only. Resource name of the NasJob.
    nasJobOutput: Output only. Output of the NasJob.
    nasJobSpec: Required. The specification of a NasJob.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    startTime: Output only. Time when the NasJob for the first time entered
      the `JOB_STATE_RUNNING` state.
    state: Output only. The detailed state of the job.
    updateTime: Output only. Time when the NasJob was most recently updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize NasJobs. Label keys
    and values can be no longer than 64 characters (Unicode codepoints), can
    only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels.

    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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  enableRestrictedImageTraining = _messages.BooleanField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  endTime = _messages.StringField(5)
  error = _messages.MessageField('GoogleRpcStatus', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  name = _messages.StringField(8)
  nasJobOutput = _messages.MessageField('GoogleCloudAiplatformV1NasJobOutput', 9)
  nasJobSpec = _messages.MessageField('GoogleCloudAiplatformV1NasJobSpec', 10)
  satisfiesPzi = _messages.BooleanField(11)
  satisfiesPzs = _messages.BooleanField(12)
  startTime = _messages.StringField(13)
  state = _messages.EnumField('StateValueValuesEnum', 14)
  updateTime = _messages.StringField(15)


class GoogleCloudAiplatformV1NasJobOutput(_messages.Message):
  r"""Represents a uCAIP NasJob output.

  Fields:
    multiTrialJobOutput: Output only. The output of this multi-trial Neural
      Architecture Search (NAS) job.
  """

  multiTrialJobOutput = _messages.MessageField('GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput', 1)


class GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput(_messages.Message):
  r"""The output of a multi-trial Neural Architecture Search (NAS) jobs.

  Fields:
    searchTrials: Output only. List of NasTrials that were started as part of
      search stage.
    trainTrials: Output only. List of NasTrials that were started as part of
      train stage.
  """

  searchTrials = _messages.MessageField('GoogleCloudAiplatformV1NasTrial', 1, repeated=True)
  trainTrials = _messages.MessageField('GoogleCloudAiplatformV1NasTrial', 2, repeated=True)


class GoogleCloudAiplatformV1NasJobSpec(_messages.Message):
  r"""Represents the spec of a NasJob.

  Fields:
    multiTrialAlgorithmSpec: The spec of multi-trial algorithms.
    resumeNasJobId: The ID of the existing NasJob in the same Project and
      Location which will be used to resume search. search_space_spec and
      nas_algorithm_spec are obtained from previous NasJob hence should not
      provide them again for this NasJob.
    searchSpaceSpec: It defines the search space for Neural Architecture
      Search (NAS).
  """

  multiTrialAlgorithmSpec = _messages.MessageField('GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec', 1)
  resumeNasJobId = _messages.StringField(2)
  searchSpaceSpec = _messages.StringField(3)


class GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec(_messages.Message):
  r"""The spec of multi-trial Neural Architecture Search (NAS).

  Enums:
    MultiTrialAlgorithmValueValuesEnum: The multi-trial Neural Architecture
      Search (NAS) algorithm type. Defaults to `REINFORCEMENT_LEARNING`.

  Fields:
    metric: Metric specs for the NAS job. Validation for this field is done at
      `multi_trial_algorithm_spec` field.
    multiTrialAlgorithm: The multi-trial Neural Architecture Search (NAS)
      algorithm type. Defaults to `REINFORCEMENT_LEARNING`.
    searchTrialSpec: Required. Spec for search trials.
    trainTrialSpec: Spec for train trials. Top N
      [TrainTrialSpec.max_parallel_trial_count] search trials will be trained
      for every M [TrainTrialSpec.frequency] trials searched.
  """

  class MultiTrialAlgorithmValueValuesEnum(_messages.Enum):
    r"""The multi-trial Neural Architecture Search (NAS) algorithm type.
    Defaults to `REINFORCEMENT_LEARNING`.

    Values:
      MULTI_TRIAL_ALGORITHM_UNSPECIFIED: Defaults to `REINFORCEMENT_LEARNING`.
      REINFORCEMENT_LEARNING: The Reinforcement Learning Algorithm for Multi-
        trial Neural Architecture Search (NAS).
      GRID_SEARCH: The Grid Search Algorithm for Multi-trial Neural
        Architecture Search (NAS).
    """
    MULTI_TRIAL_ALGORITHM_UNSPECIFIED = 0
    REINFORCEMENT_LEARNING = 1
    GRID_SEARCH = 2

  metric = _messages.MessageField('GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec', 1)
  multiTrialAlgorithm = _messages.EnumField('MultiTrialAlgorithmValueValuesEnum', 2)
  searchTrialSpec = _messages.MessageField('GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec', 3)
  trainTrialSpec = _messages.MessageField('GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec', 4)


class GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec(_messages.Message):
  r"""Represents a metric to optimize.

  Enums:
    GoalValueValuesEnum: Required. The optimization goal of the metric.

  Fields:
    goal: Required. The optimization goal of the metric.
    metricId: Required. The ID of the metric. Must not contain whitespaces.
  """

  class GoalValueValuesEnum(_messages.Enum):
    r"""Required. The optimization goal of the metric.

    Values:
      GOAL_TYPE_UNSPECIFIED: Goal Type will default to maximize.
      MAXIMIZE: Maximize the goal metric.
      MINIMIZE: Minimize the goal metric.
    """
    GOAL_TYPE_UNSPECIFIED = 0
    MAXIMIZE = 1
    MINIMIZE = 2

  goal = _messages.EnumField('GoalValueValuesEnum', 1)
  metricId = _messages.StringField(2)


class GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec(_messages.Message):
  r"""Represent spec for search trials.

  Fields:
    maxFailedTrialCount: The number of failed trials that need to be seen
      before failing the NasJob. If set to 0, Vertex AI decides how many
      trials must fail before the whole job fails.
    maxParallelTrialCount: Required. The maximum number of trials to run in
      parallel.
    maxTrialCount: Required. The maximum number of Neural Architecture Search
      (NAS) trials to run.
    searchTrialJobSpec: Required. The spec of a search trial job. The same
      spec applies to all search trials.
  """

  maxFailedTrialCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  maxParallelTrialCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  maxTrialCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  searchTrialJobSpec = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 4)


class GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec(_messages.Message):
  r"""Represent spec for train trials.

  Fields:
    frequency: Required. Frequency of search trials to start train stage. Top
      N [TrainTrialSpec.max_parallel_trial_count] search trials will be
      trained for every M [TrainTrialSpec.frequency] trials searched.
    maxParallelTrialCount: Required. The maximum number of trials to run in
      parallel.
    trainTrialJobSpec: Required. The spec of a train trial job. The same spec
      applies to all train trials.
  """

  frequency = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  maxParallelTrialCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  trainTrialJobSpec = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 3)


class GoogleCloudAiplatformV1NasTrial(_messages.Message):
  r"""Represents a uCAIP NasJob trial.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the NasTrial.

  Fields:
    endTime: Output only. Time when the NasTrial's status changed to
      `SUCCEEDED` or `INFEASIBLE`.
    finalMeasurement: Output only. The final measurement containing the
      objective value.
    id: Output only. The identifier of the NasTrial assigned by the service.
    startTime: Output only. Time when the NasTrial was started.
    state: Output only. The detailed state of the NasTrial.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the NasTrial.

    Values:
      STATE_UNSPECIFIED: The NasTrial state is unspecified.
      REQUESTED: Indicates that a specific NasTrial has been requested, but it
        has not yet been suggested by the service.
      ACTIVE: Indicates that the NasTrial has been suggested.
      STOPPING: Indicates that the NasTrial should stop according to the
        service.
      SUCCEEDED: Indicates that the NasTrial is completed successfully.
      INFEASIBLE: Indicates that the NasTrial should not be attempted again.
        The service will set a NasTrial to INFEASIBLE when it's done but
        missing the final_measurement.
    """
    STATE_UNSPECIFIED = 0
    REQUESTED = 1
    ACTIVE = 2
    STOPPING = 3
    SUCCEEDED = 4
    INFEASIBLE = 5

  endTime = _messages.StringField(1)
  finalMeasurement = _messages.MessageField('GoogleCloudAiplatformV1Measurement', 2)
  id = _messages.StringField(3)
  startTime = _messages.StringField(4)
  state = _messages.EnumField('StateValueValuesEnum', 5)


class GoogleCloudAiplatformV1NasTrialDetail(_messages.Message):
  r"""Represents a NasTrial details along with its parameters. If there is a
  corresponding train NasTrial, the train NasTrial is also returned.

  Fields:
    name: Output only. Resource name of the NasTrialDetail.
    parameters: The parameters for the NasJob NasTrial.
    searchTrial: The requested search NasTrial.
    trainTrial: The train NasTrial corresponding to search_trial. Only
      populated if search_trial is used for training.
  """

  name = _messages.StringField(1)
  parameters = _messages.StringField(2)
  searchTrial = _messages.MessageField('GoogleCloudAiplatformV1NasTrial', 3)
  trainTrial = _messages.MessageField('GoogleCloudAiplatformV1NasTrial', 4)


class GoogleCloudAiplatformV1NearestNeighborQuery(_messages.Message):
  r"""A query to find a number of similar entities.

  Fields:
    embedding: Optional. The embedding vector that be used for similar search.
    entityId: Optional. The entity id whose similar entities should be
      searched for. If embedding is set, search will use embedding instead of
      entity_id.
    neighborCount: Optional. The number of similar entities to be retrieved
      from feature view for each query.
    numericFilters: Optional. The list of numeric filters.
    parameters: Optional. Parameters that can be set to tune query on the fly.
    perCrowdingAttributeNeighborCount: Optional. Crowding is a constraint on a
      neighbor list produced by nearest neighbor search requiring that no more
      than sper_crowding_attribute_neighbor_count of the k neighbors returned
      have the same value of crowding_attribute. It's used for improving
      result diversity.
    stringFilters: Optional. The list of string filters.
  """

  embedding = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborQueryEmbedding', 1)
  entityId = _messages.StringField(2)
  neighborCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  numericFilters = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter', 4, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborQueryParameters', 5)
  perCrowdingAttributeNeighborCount = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  stringFilters = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborQueryStringFilter', 7, repeated=True)


class GoogleCloudAiplatformV1NearestNeighborQueryEmbedding(_messages.Message):
  r"""The embedding vector.

  Fields:
    value: Optional. Individual value in the embedding.
  """

  value = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter(_messages.Message):
  r"""Numeric filter is used to search a subset of the entities by using
  boolean rules on numeric columns. For example: Database Point 0: {name: "a"
  value_int: 42} {name: "b" value_float: 1.0} Database Point 1: {name: "a"
  value_int: 10} {name: "b" value_float: 2.0} Database Point 2: {name: "a"
  value_int: -1} {name: "b" value_float: 3.0} Query: {name: "a" value_int: 12
  operator: LESS} // Matches Point 1, 2 {name: "b" value_float: 2.0 operator:
  EQUAL} // Matches Point 1

  Enums:
    OpValueValuesEnum: Optional. This MUST be specified for queries and must
      NOT be specified for database points.

  Fields:
    name: Required. Column name in BigQuery that used as filters.
    op: Optional. This MUST be specified for queries and must NOT be specified
      for database points.
    valueDouble: double value type.
    valueFloat: float value type.
    valueInt: int value type.
  """

  class OpValueValuesEnum(_messages.Enum):
    r"""Optional. This MUST be specified for queries and must NOT be specified
    for database points.

    Values:
      OPERATOR_UNSPECIFIED: Unspecified operator.
      LESS: Entities are eligible if their value is < the query's.
      LESS_EQUAL: Entities are eligible if their value is <= the query's.
      EQUAL: Entities are eligible if their value is == the query's.
      GREATER_EQUAL: Entities are eligible if their value is >= the query's.
      GREATER: Entities are eligible if their value is > the query's.
      NOT_EQUAL: Entities are eligible if their value is != the query's.
    """
    OPERATOR_UNSPECIFIED = 0
    LESS = 1
    LESS_EQUAL = 2
    EQUAL = 3
    GREATER_EQUAL = 4
    GREATER = 5
    NOT_EQUAL = 6

  name = _messages.StringField(1)
  op = _messages.EnumField('OpValueValuesEnum', 2)
  valueDouble = _messages.FloatField(3)
  valueFloat = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  valueInt = _messages.IntegerField(5)


class GoogleCloudAiplatformV1NearestNeighborQueryParameters(_messages.Message):
  r"""Parameters that can be overrided in each query to tune query latency and
  recall.

  Fields:
    approximateNeighborCandidates: Optional. The number of neighbors to find
      via approximate search before exact reordering is performed; if set,
      this value must be > neighbor_count.
    leafNodesSearchFraction: Optional. The fraction of the number of leaves to
      search, set at query time allows user to tune search performance. This
      value increase result in both search accuracy and latency increase. The
      value should be between 0.0 and 1.0.
  """

  approximateNeighborCandidates = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  leafNodesSearchFraction = _messages.FloatField(2)


class GoogleCloudAiplatformV1NearestNeighborQueryStringFilter(_messages.Message):
  r"""String filter is used to search a subset of the entities by using
  boolean rules on string columns. For example: if a query specifies string
  filter with 'name = color, allow_tokens = {red, blue}, deny_tokens =
  {purple}',' then that query will match entities that are red or blue, but if
  those points are also purple, then they will be excluded even if they are
  red/blue. Only string filter is supported for now, numeric filter will be
  supported in the near future.

  Fields:
    allowTokens: Optional. The allowed tokens.
    denyTokens: Optional. The denied tokens.
    name: Required. Column names in BigQuery that used as filters.
  """

  allowTokens = _messages.StringField(1, repeated=True)
  denyTokens = _messages.StringField(2, repeated=True)
  name = _messages.StringField(3)


class GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata(_messages.Message):
  r"""Runtime operation metadata with regard to Matching Engine Index.

  Fields:
    contentValidationStats: The validation stats of the content (per file) to
      be inserted or updated on the Matching Engine Index resource. Populated
      if contentsDeltaUri is provided as part of Index.metadata. Please note
      that, currently for those files that are broken or has unsupported file
      format, we will not have the stats for those files.
    dataBytesCount: The ingested data size in bytes.
  """

  contentValidationStats = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats', 1, repeated=True)
  dataBytesCount = _messages.IntegerField(2)


class GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats(_messages.Message):
  r"""A GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentVa
  lidationStats object.

  Fields:
    invalidRecordCount: Number of records in this file we skipped due to
      validate errors.
    invalidSparseRecordCount: Number of sparse records in this file we skipped
      due to validate errors.
    partialErrors: The detail information of the partial failures encountered
      for those invalid records that couldn't be parsed. Up to 50 partial
      errors will be reported.
    sourceGcsUri: Cloud Storage URI pointing to the original file in user's
      bucket.
    validRecordCount: Number of records in this file that were successfully
      processed.
    validSparseRecordCount: Number of sparse records in this file that were
      successfully processed.
  """

  invalidRecordCount = _messages.IntegerField(1)
  invalidSparseRecordCount = _messages.IntegerField(2)
  partialErrors = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError', 3, repeated=True)
  sourceGcsUri = _messages.StringField(4)
  validRecordCount = _messages.IntegerField(5)
  validSparseRecordCount = _messages.IntegerField(6)


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

  Enums:
    ErrorTypeValueValuesEnum: The error type of this record.

  Fields:
    embeddingId: Empty if the embedding id is failed to parse.
    errorMessage: A human-readable message that is shown to the user to help
      them fix the error. Note that this message may change from time to time,
      your code should check against error_type as the source of truth.
    errorType: The error type of this record.
    rawRecord: The original content of this record.
    sourceGcsUri: Cloud Storage URI pointing to the original file in user's
      bucket.
  """

  class ErrorTypeValueValuesEnum(_messages.Enum):
    r"""The error type of this record.

    Values:
      ERROR_TYPE_UNSPECIFIED: Default, shall not be used.
      EMPTY_LINE: The record is empty.
      INVALID_JSON_SYNTAX: Invalid json format.
      INVALID_CSV_SYNTAX: Invalid csv format.
      INVALID_AVRO_SYNTAX: Invalid avro format.
      INVALID_EMBEDDING_ID: The embedding id is not valid.
      EMBEDDING_SIZE_MISMATCH: The size of the dense embedding vectors does
        not match with the specified dimension.
      NAMESPACE_MISSING: The `namespace` field is missing.
      PARSING_ERROR: Generic catch-all error. Only used for validation failure
        where the root cause cannot be easily retrieved programmatically.
      DUPLICATE_NAMESPACE: There are multiple restricts with the same
        `namespace` value.
      OP_IN_DATAPOINT: Numeric restrict has operator specified in datapoint.
      MULTIPLE_VALUES: Numeric restrict has multiple values specified.
      INVALID_NUMERIC_VALUE: Numeric restrict has invalid numeric value
        specified.
      INVALID_ENCODING: File is not in UTF_8 format.
      INVALID_SPARSE_DIMENSIONS: Error parsing sparse dimensions field.
      INVALID_TOKEN_VALUE: Token restrict value is invalid.
      INVALID_SPARSE_EMBEDDING: Invalid sparse embedding.
      INVALID_EMBEDDING: Invalid dense embedding.
      INVALID_EMBEDDING_METADATA: Invalid embedding metadata.
      EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT: Embedding metadata exceeds size
        limit.
    """
    ERROR_TYPE_UNSPECIFIED = 0
    EMPTY_LINE = 1
    INVALID_JSON_SYNTAX = 2
    INVALID_CSV_SYNTAX = 3
    INVALID_AVRO_SYNTAX = 4
    INVALID_EMBEDDING_ID = 5
    EMBEDDING_SIZE_MISMATCH = 6
    NAMESPACE_MISSING = 7
    PARSING_ERROR = 8
    DUPLICATE_NAMESPACE = 9
    OP_IN_DATAPOINT = 10
    MULTIPLE_VALUES = 11
    INVALID_NUMERIC_VALUE = 12
    INVALID_ENCODING = 13
    INVALID_SPARSE_DIMENSIONS = 14
    INVALID_TOKEN_VALUE = 15
    INVALID_SPARSE_EMBEDDING = 16
    INVALID_EMBEDDING = 17
    INVALID_EMBEDDING_METADATA = 18
    EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT = 19

  embeddingId = _messages.StringField(1)
  errorMessage = _messages.StringField(2)
  errorType = _messages.EnumField('ErrorTypeValueValuesEnum', 3)
  rawRecord = _messages.StringField(4)
  sourceGcsUri = _messages.StringField(5)


class GoogleCloudAiplatformV1NearestNeighbors(_messages.Message):
  r"""Nearest neighbors for one query.

  Fields:
    neighbors: All its neighbors.
  """

  neighbors = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborsNeighbor', 1, repeated=True)


class GoogleCloudAiplatformV1NearestNeighborsNeighbor(_messages.Message):
  r"""A neighbor of the query vector.

  Fields:
    distance: The distance between the neighbor and the query vector.
    entityId: The id of the similar entity.
    entityKeyValues: The attributes of the neighbor, e.g. filters, crowding
      and metadata Note that full entities are returned only when
      "return_full_entity" is set to true. Otherwise, only the "entity_id" and
      "distance" fields are populated.
  """

  distance = _messages.FloatField(1)
  entityId = _messages.StringField(2)
  entityKeyValues = _messages.MessageField('GoogleCloudAiplatformV1FetchFeatureValuesResponse', 3)


class GoogleCloudAiplatformV1Neighbor(_messages.Message):
  r"""Neighbors for example-based explanations.

  Fields:
    neighborDistance: Output only. The neighbor distance.
    neighborId: Output only. The neighbor id.
  """

  neighborDistance = _messages.FloatField(1)
  neighborId = _messages.StringField(2)


class GoogleCloudAiplatformV1NetworkSpec(_messages.Message):
  r"""Network spec.

  Fields:
    enableInternetAccess: Whether to enable public internet access. Default
      false.
    network: The full name of the Google Compute Engine
      [network](https://cloud.google.com//compute/docs/networks-and-
      firewalls#networks)
    subnetwork: The name of the subnet that this instance is in. Format: `proj
      ects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
      `
  """

  enableInternetAccess = _messages.BooleanField(1)
  network = _messages.StringField(2)
  subnetwork = _messages.StringField(3)


class GoogleCloudAiplatformV1NfsMount(_messages.Message):
  r"""Represents a mount configuration for Network File System (NFS) to mount.

  Fields:
    mountPoint: Required. Destination mount path. The NFS will be mounted for
      the user under /mnt/nfs/
    path: Required. Source path exported from NFS server. Has to start with
      '/', and combined with the ip address, it indicates the source mount
      path in the form of `server:path`
    server: Required. IP address of the NFS server.
  """

  mountPoint = _messages.StringField(1)
  path = _messages.StringField(2)
  server = _messages.StringField(3)


class GoogleCloudAiplatformV1NotebookEucConfig(_messages.Message):
  r"""The euc configuration of NotebookRuntimeTemplate.

  Fields:
    bypassActasCheck: Output only. Whether ActAs check is bypassed for service
      account attached to the VM. If false, we need ActAs check for the
      default Compute Engine Service account. When a Runtime is created, a VM
      is allocated using Default Compute Engine Service Account. Any user
      requesting to use this Runtime requires Service Account User (ActAs)
      permission over this SA. If true, Runtime owner is using EUC and does
      not require the above permission as VM no longer use default Compute
      Engine SA, but a P4SA.
    eucDisabled: Input only. Whether EUC is disabled in this
      NotebookRuntimeTemplate. In proto3, the default value of a boolean is
      false. In this way, by default EUC will be enabled for
      NotebookRuntimeTemplate.
  """

  bypassActasCheck = _messages.BooleanField(1)
  eucDisabled = _messages.BooleanField(2)


class GoogleCloudAiplatformV1NotebookExecutionJob(_messages.Message):
  r"""NotebookExecutionJob represents an instance of a notebook execution.

  Enums:
    JobStateValueValuesEnum: Output only. The state of the
      NotebookExecutionJob.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize
      NotebookExecutionJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Timestamp when this NotebookExecutionJob was
      created.
    customEnvironmentSpec: The custom compute configuration for an execution
      job.
    dataformRepositorySource: The Dataform Repository pointing to a single
      file notebook repository.
    directNotebookSource: The contents of an input notebook file.
    displayName: The display name of the NotebookExecutionJob. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Customer-managed encryption key spec for the notebook
      execution job. This field is auto-populated if the
      NotebookRuntimeTemplate has an encryption spec.
    executionTimeout: Max running time of the execution job in seconds
      (default 86400s / 24 hrs).
    executionUser: The user email to run the execution as. Only supported by
      Colab runtimes.
    gcsNotebookSource: The Cloud Storage url pointing to the ipynb file.
      Format: `gs://bucket/notebook_file.ipynb`
    gcsOutputUri: The Cloud Storage location to upload the result to. Format:
      `gs://bucket-name`
    jobState: Output only. The state of the NotebookExecutionJob.
    kernelName: The name of the kernel to use during notebook execution. If
      unset, the default kernel is used.
    labels: The labels with user-defined metadata to organize
      NotebookExecutionJobs. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.
    name: Output only. The resource name of this NotebookExecutionJob. Format:
      `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_i
      d}`
    notebookRuntimeTemplateResourceName: The NotebookRuntimeTemplate to source
      compute configuration from.
    scheduleResourceName: The Schedule resource name if this job is triggered
      by one. Format:
      `projects/{project_id}/locations/{location}/schedules/{schedule_id}`
    serviceAccount: The service account to run the execution as.
    status: Output only. Populated when the NotebookExecutionJob is completed.
      When there is an error during notebook execution, the error details are
      populated.
    updateTime: Output only. Timestamp when this NotebookExecutionJob was most
      recently updated.
    workbenchRuntime: The Workbench runtime configuration to use for the
      notebook execution.
  """

  class JobStateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of the NotebookExecutionJob.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize
    NotebookExecutionJobs. Label keys and values can be no longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information and examples of
    labels. System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  createTime = _messages.StringField(1)
  customEnvironmentSpec = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec', 2)
  dataformRepositorySource = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource', 3)
  directNotebookSource = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource', 4)
  displayName = _messages.StringField(5)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 6)
  executionTimeout = _messages.StringField(7)
  executionUser = _messages.StringField(8)
  gcsNotebookSource = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource', 9)
  gcsOutputUri = _messages.StringField(10)
  jobState = _messages.EnumField('JobStateValueValuesEnum', 11)
  kernelName = _messages.StringField(12)
  labels = _messages.MessageField('LabelsValue', 13)
  name = _messages.StringField(14)
  notebookRuntimeTemplateResourceName = _messages.StringField(15)
  scheduleResourceName = _messages.StringField(16)
  serviceAccount = _messages.StringField(17)
  status = _messages.MessageField('GoogleRpcStatus', 18)
  updateTime = _messages.StringField(19)
  workbenchRuntime = _messages.MessageField('GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime', 20)


class GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec(_messages.Message):
  r"""Compute configuration to use for an execution job.

  Fields:
    machineSpec: The specification of a single machine for the execution job.
    networkSpec: The network configuration to use for the execution job.
    persistentDiskSpec: The specification of a persistent disk to attach for
      the execution job.
  """

  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 1)
  networkSpec = _messages.MessageField('GoogleCloudAiplatformV1NetworkSpec', 2)
  persistentDiskSpec = _messages.MessageField('GoogleCloudAiplatformV1PersistentDiskSpec', 3)


class GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource(_messages.Message):
  r"""The Dataform Repository containing the input notebook.

  Fields:
    commitSha: The commit SHA to read repository with. If unset, the file will
      be read at HEAD.
    dataformRepositoryResourceName: The resource name of the Dataform
      Repository. Format: `projects/{project_id}/locations/{location}/reposito
      ries/{repository_id}`
  """

  commitSha = _messages.StringField(1)
  dataformRepositoryResourceName = _messages.StringField(2)


class GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource(_messages.Message):
  r"""The content of the input notebook in ipynb format.

  Fields:
    content: The base64-encoded contents of the input notebook file.
  """

  content = _messages.BytesField(1)


class GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource(_messages.Message):
  r"""The Cloud Storage uri for the input notebook.

  Fields:
    generation: The version of the Cloud Storage object to read. If unset, the
      current version of the object is read. See
      https://cloud.google.com/storage/docs/metadata#generation-number.
    uri: The Cloud Storage uri pointing to the ipynb file. Format:
      `gs://bucket/notebook_file.ipynb`
  """

  generation = _messages.StringField(1)
  uri = _messages.StringField(2)


class GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime(_messages.Message):
  r"""Configuration for a Workbench Instances-based environment."""


class GoogleCloudAiplatformV1NotebookIdleShutdownConfig(_messages.Message):
  r"""The idle shutdown configuration of NotebookRuntimeTemplate, which
  contains the idle_timeout as required field.

  Fields:
    idleShutdownDisabled: Whether Idle Shutdown is disabled in this
      NotebookRuntimeTemplate.
    idleTimeout: Required. Duration is accurate to the second. In Notebook,
      Idle Timeout is accurate to minute so the range of idle_timeout (second)
      is: 10 * 60 ~ 1440 * 60.
  """

  idleShutdownDisabled = _messages.BooleanField(1)
  idleTimeout = _messages.StringField(2)


class GoogleCloudAiplatformV1NotebookRuntime(_messages.Message):
  r"""A runtime is a virtual machine allocated to a particular user for a
  particular Notebook file on temporary basis with lifetime. Default runtimes
  have a lifetime of 18 hours, while custom runtimes last for 6 months from
  their creation or last upgrade.

  Enums:
    HealthStateValueValuesEnum: Output only. The health state of the
      NotebookRuntime.
    NotebookRuntimeTypeValueValuesEnum: Output only. The type of the notebook
      runtime.
    RuntimeStateValueValuesEnum: Output only. The runtime (instance) state of
      the NotebookRuntime.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      NotebookRuntime. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf
      for more information and examples of labels. System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.
      Following system labels exist for NotebookRuntime: *
      "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output
      only, its value is the Compute Engine instance id. *
      "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is
      either "bigquery" or "vertex"; if absent, it should be "vertex". This is
      to describe the entry service, either BigQuery or Vertex.

  Fields:
    createTime: Output only. Timestamp when this NotebookRuntime was created.
    dataPersistentDiskSpec: Output only. The specification of persistent disk
      attached to the notebook runtime as data disk storage.
    description: The description of the NotebookRuntime.
    displayName: Required. The display name of the NotebookRuntime. The name
      can be up to 128 characters long and can consist of any UTF-8
      characters.
    encryptionSpec: Output only. Customer-managed encryption key spec for the
      notebook runtime.
    eucConfig: Output only. EUC configuration of the notebook runtime.
    expirationTime: Output only. Timestamp when this NotebookRuntime will be
      expired: 1. System Predefined NotebookRuntime: 24 hours after creation.
      After expiration, system predifined runtime will be deleted. 2. User
      created NotebookRuntime: 6 months after last upgrade. After expiration,
      user created runtime will be stopped and allowed for upgrade.
    healthState: Output only. The health state of the NotebookRuntime.
    idleShutdownConfig: Output only. The idle shutdown configuration of the
      notebook runtime.
    isUpgradable: Output only. Whether NotebookRuntime is upgradable.
    labels: The labels with user-defined metadata to organize your
      NotebookRuntime. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf
      for more information and examples of labels. System reserved label keys
      are prefixed with "aiplatform.googleapis.com/" and are immutable.
      Following system labels exist for NotebookRuntime: *
      "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output
      only, its value is the Compute Engine instance id. *
      "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is
      either "bigquery" or "vertex"; if absent, it should be "vertex". This is
      to describe the entry service, either BigQuery or Vertex.
    machineSpec: Output only. The specification of a single machine used by
      the notebook runtime.
    name: Output only. The resource name of the NotebookRuntime.
    networkSpec: Output only. Network spec of the notebook runtime.
    networkTags: Optional. The Compute Engine tags to add to runtime (see
      [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-
      network-tags)).
    notebookRuntimeTemplateRef: Output only. The pointer to
      NotebookRuntimeTemplate this NotebookRuntime is created from.
    notebookRuntimeType: Output only. The type of the notebook runtime.
    proxyUri: Output only. The proxy endpoint used to access the
      NotebookRuntime.
    runtimeState: Output only. The runtime (instance) state of the
      NotebookRuntime.
    runtimeUser: Required. The user email of the NotebookRuntime.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    serviceAccount: Output only. Deprecated: This field is no longer used and
      the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-
      aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload
      identity. See https://cloud.google.com/iam/docs/service-agents#vertex-
      ai-notebook-service-account for more details. The service account that
      the NotebookRuntime workload runs as.
    shieldedVmConfig: Output only. Runtime Shielded VM spec.
    softwareConfig: Output only. Software config of the notebook runtime.
    updateTime: Output only. Timestamp when this NotebookRuntime was most
      recently updated.
    version: Output only. The VM os image version of NotebookRuntime.
  """

  class HealthStateValueValuesEnum(_messages.Enum):
    r"""Output only. The health state of the NotebookRuntime.

    Values:
      HEALTH_STATE_UNSPECIFIED: Unspecified health state.
      HEALTHY: NotebookRuntime is in healthy state. Applies to ACTIVE state.
      UNHEALTHY: NotebookRuntime is in unhealthy state. Applies to ACTIVE
        state.
    """
    HEALTH_STATE_UNSPECIFIED = 0
    HEALTHY = 1
    UNHEALTHY = 2

  class NotebookRuntimeTypeValueValuesEnum(_messages.Enum):
    r"""Output only. The type of the notebook runtime.

    Values:
      NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED: Unspecified notebook runtime type,
        NotebookRuntimeType will default to USER_DEFINED.
      USER_DEFINED: runtime or template with coustomized configurations from
        user.
      ONE_CLICK: runtime or template with system defined configurations.
    """
    NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED = 0
    USER_DEFINED = 1
    ONE_CLICK = 2

  class RuntimeStateValueValuesEnum(_messages.Enum):
    r"""Output only. The runtime (instance) state of the NotebookRuntime.

    Values:
      RUNTIME_STATE_UNSPECIFIED: Unspecified runtime state.
      RUNNING: NotebookRuntime is in running state.
      BEING_STARTED: NotebookRuntime is in starting state. This is when the
        runtime is being started from a stopped state.
      BEING_STOPPED: NotebookRuntime is in stopping state.
      STOPPED: NotebookRuntime is in stopped state.
      BEING_UPGRADED: NotebookRuntime is in upgrading state. It is in the
        middle of upgrading process.
      ERROR: NotebookRuntime was unable to start/stop properly.
      INVALID: NotebookRuntime is in invalid state. Cannot be recovered.
    """
    RUNTIME_STATE_UNSPECIFIED = 0
    RUNNING = 1
    BEING_STARTED = 2
    BEING_STOPPED = 3
    STOPPED = 4
    BEING_UPGRADED = 5
    ERROR = 6
    INVALID = 7

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your
    NotebookRuntime. Label keys and values can be no longer than 64 characters
    (Unicode codepoints), can only contain lowercase letters, numeric
    characters, underscores and dashes. International characters are allowed.
    No more than 64 user labels can be associated with one NotebookRuntime
    (System labels are excluded). See https://goo.gl/xmQnxf for more
    information and examples of labels. System reserved label keys are
    prefixed with "aiplatform.googleapis.com/" and are immutable. Following
    system labels exist for NotebookRuntime: *
    "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output only,
    its value is the Compute Engine instance id. *
    "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is
    either "bigquery" or "vertex"; if absent, it should be "vertex". This is
    to describe the entry service, either BigQuery or Vertex.

    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)

  createTime = _messages.StringField(1)
  dataPersistentDiskSpec = _messages.MessageField('GoogleCloudAiplatformV1PersistentDiskSpec', 2)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  eucConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookEucConfig', 6)
  expirationTime = _messages.StringField(7)
  healthState = _messages.EnumField('HealthStateValueValuesEnum', 8)
  idleShutdownConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookIdleShutdownConfig', 9)
  isUpgradable = _messages.BooleanField(10)
  labels = _messages.MessageField('LabelsValue', 11)
  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 12)
  name = _messages.StringField(13)
  networkSpec = _messages.MessageField('GoogleCloudAiplatformV1NetworkSpec', 14)
  networkTags = _messages.StringField(15, repeated=True)
  notebookRuntimeTemplateRef = _messages.MessageField('GoogleCloudAiplatformV1NotebookRuntimeTemplateRef', 16)
  notebookRuntimeType = _messages.EnumField('NotebookRuntimeTypeValueValuesEnum', 17)
  proxyUri = _messages.StringField(18)
  runtimeState = _messages.EnumField('RuntimeStateValueValuesEnum', 19)
  runtimeUser = _messages.StringField(20)
  satisfiesPzi = _messages.BooleanField(21)
  satisfiesPzs = _messages.BooleanField(22)
  serviceAccount = _messages.StringField(23)
  shieldedVmConfig = _messages.MessageField('GoogleCloudAiplatformV1ShieldedVmConfig', 24)
  softwareConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookSoftwareConfig', 25)
  updateTime = _messages.StringField(26)
  version = _messages.StringField(27)


class GoogleCloudAiplatformV1NotebookRuntimeTemplate(_messages.Message):
  r"""A template that specifies runtime configurations such as machine type,
  runtime version, network configurations, etc. Multiple runtimes can be
  created from a runtime template.

  Enums:
    NotebookRuntimeTypeValueValuesEnum: Optional. Immutable. The type of the
      notebook runtime template.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize the
      NotebookRuntimeTemplates. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Timestamp when this NotebookRuntimeTemplate was
      created.
    dataPersistentDiskSpec: Optional. The specification of persistent disk
      attached to the runtime as data disk storage.
    description: The description of the NotebookRuntimeTemplate.
    displayName: Required. The display name of the NotebookRuntimeTemplate.
      The name can be up to 128 characters long and can consist of any UTF-8
      characters.
    encryptionSpec: Customer-managed encryption key spec for the notebook
      runtime.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    eucConfig: EUC configuration of the NotebookRuntimeTemplate.
    idleShutdownConfig: The idle shutdown configuration of
      NotebookRuntimeTemplate. This config will only be set when idle shutdown
      is enabled.
    isDefault: Output only. Deprecated: This field has no behavior. Use
      notebook_runtime_type = 'ONE_CLICK' instead. The default template to use
      if not specified.
    labels: The labels with user-defined metadata to organize the
      NotebookRuntimeTemplates. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    machineSpec: Optional. Immutable. The specification of a single machine
      for the template.
    name: The resource name of the NotebookRuntimeTemplate.
    networkSpec: Optional. Network spec.
    networkTags: Optional. The Compute Engine tags to add to runtime (see
      [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-
      network-tags)).
    notebookRuntimeType: Optional. Immutable. The type of the notebook runtime
      template.
    serviceAccount: Deprecated: This field is ignored and the "Vertex AI
      Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-
      vm.iam.gserviceaccount.com) is used for the runtime workload identity.
      See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-
      service-account for more details. For NotebookExecutionJob, use
      NotebookExecutionJob.service_account instead. The service account that
      the runtime workload runs as. You can use any service account within the
      same project, but you must have the service account user permission to
      use the instance. If not specified, the [Compute Engine default service
      account](https://cloud.google.com/compute/docs/access/service-
      accounts#default_service_account) is used.
    shieldedVmConfig: Optional. Immutable. Runtime Shielded VM spec.
    softwareConfig: Optional. The notebook software configuration of the
      notebook runtime.
    updateTime: Output only. Timestamp when this NotebookRuntimeTemplate was
      most recently updated.
  """

  class NotebookRuntimeTypeValueValuesEnum(_messages.Enum):
    r"""Optional. Immutable. The type of the notebook runtime template.

    Values:
      NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED: Unspecified notebook runtime type,
        NotebookRuntimeType will default to USER_DEFINED.
      USER_DEFINED: runtime or template with coustomized configurations from
        user.
      ONE_CLICK: runtime or template with system defined configurations.
    """
    NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED = 0
    USER_DEFINED = 1
    ONE_CLICK = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize the
    NotebookRuntimeTemplates. Label keys and values can be no longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information and examples of
    labels.

    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)

  createTime = _messages.StringField(1)
  dataPersistentDiskSpec = _messages.MessageField('GoogleCloudAiplatformV1PersistentDiskSpec', 2)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  etag = _messages.StringField(6)
  eucConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookEucConfig', 7)
  idleShutdownConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookIdleShutdownConfig', 8)
  isDefault = _messages.BooleanField(9)
  labels = _messages.MessageField('LabelsValue', 10)
  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 11)
  name = _messages.StringField(12)
  networkSpec = _messages.MessageField('GoogleCloudAiplatformV1NetworkSpec', 13)
  networkTags = _messages.StringField(14, repeated=True)
  notebookRuntimeType = _messages.EnumField('NotebookRuntimeTypeValueValuesEnum', 15)
  serviceAccount = _messages.StringField(16)
  shieldedVmConfig = _messages.MessageField('GoogleCloudAiplatformV1ShieldedVmConfig', 17)
  softwareConfig = _messages.MessageField('GoogleCloudAiplatformV1NotebookSoftwareConfig', 18)
  updateTime = _messages.StringField(19)


class GoogleCloudAiplatformV1NotebookRuntimeTemplateRef(_messages.Message):
  r"""Points to a NotebookRuntimeTemplateRef.

  Fields:
    notebookRuntimeTemplate: Immutable. A resource name of the
      NotebookRuntimeTemplate.
  """

  notebookRuntimeTemplate = _messages.StringField(1)


class GoogleCloudAiplatformV1NotebookSoftwareConfig(_messages.Message):
  r"""Notebook Software Config. This is passed to the backend when user makes
  software configurations in UI.

  Fields:
    colabImage: Optional. Google-managed NotebookRuntime colab image.
    env: Optional. Environment variables to be passed to the container.
      Maximum limit is 100.
    postStartupScriptConfig: Optional. Post startup script config.
  """

  colabImage = _messages.MessageField('GoogleCloudAiplatformV1ColabImage', 1)
  env = _messages.MessageField('GoogleCloudAiplatformV1EnvVar', 2, repeated=True)
  postStartupScriptConfig = _messages.MessageField('GoogleCloudAiplatformV1PostStartupScriptConfig', 3)


class GoogleCloudAiplatformV1OutputConfig(_messages.Message):
  r"""Config for evaluation output.

  Fields:
    gcsDestination: Cloud storage destination for evaluation output.
  """

  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)


class GoogleCloudAiplatformV1OutputFieldSpec(_messages.Message):
  r"""Specifies the properties of a single field that are included in each
  generated synthetic example. This helps the model understand what kind of
  data to generate for each field.

  Enums:
    FieldTypeValueValuesEnum: Optional. The data type of the field. Defaults
      to CONTENT if not set.

  Fields:
    fieldName: Required. The name of this field in the generated synthetic
      data, such as "email_subject" or "customer_review".
    fieldType: Optional. The data type of the field. Defaults to CONTENT if
      not set.
    guidance: Optional. Specific instructions for the large language model on
      how to generate content for this particular field. While the LLM can
      sometimes infer content from the field name, providing explicit guidance
      is preferred. For example, for a field named "review", the guidance
      could be "A positive review about a coffee maker."
  """

  class FieldTypeValueValuesEnum(_messages.Enum):
    r"""Optional. The data type of the field. Defaults to CONTENT if not set.

    Values:
      FIELD_TYPE_UNSPECIFIED: The field type is not specified. Defaults to
        CONTENT.
      CONTENT: The field can contain any type of content, including text,
        images, and audio.
      TEXT: The field contains only text.
      IMAGE: The field contains image data.
      AUDIO: The field contains audio data.
    """
    FIELD_TYPE_UNSPECIFIED = 0
    CONTENT = 1
    TEXT = 2
    IMAGE = 3
    AUDIO = 4

  fieldName = _messages.StringField(1)
  fieldType = _messages.EnumField('FieldTypeValueValuesEnum', 2)
  guidance = _messages.StringField(3)


class GoogleCloudAiplatformV1OutputInfo(_messages.Message):
  r"""Describes the info for output of EvaluationService.

  Fields:
    gcsOutputDirectory: Output only. The full path of the Cloud Storage
      directory created, into which the evaluation results and aggregation
      results are written.
  """

  gcsOutputDirectory = _messages.StringField(1)


class GoogleCloudAiplatformV1PSCAutomationConfig(_messages.Message):
  r"""PSC config that is used to automatically create PSC endpoints in the
  user projects.

  Enums:
    StateValueValuesEnum: Output only. The state of the PSC service
      automation.

  Fields:
    errorMessage: Output only. Error message if the PSC service automation
      failed.
    forwardingRule: Output only. Forwarding rule created by the PSC service
      automation.
    ipAddress: Output only. IP address rule created by the PSC service
      automation.
    network: Required. The full name of the Google Compute Engine
      [network](https://cloud.google.com/compute/docs/networks-and-
      firewalls#networks). [Format](https://cloud.google.com/compute/docs/refe
      rence/rest/v1/networks/get):
      `projects/{project}/global/networks/{network}`.
    projectId: Required. Project id used to create forwarding rule.
    state: Output only. The state of the PSC service automation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of the PSC service automation.

    Values:
      PSC_AUTOMATION_STATE_UNSPECIFIED: Should not be used.
      PSC_AUTOMATION_STATE_SUCCESSFUL: The PSC service automation is
        successful.
      PSC_AUTOMATION_STATE_FAILED: The PSC service automation has failed.
    """
    PSC_AUTOMATION_STATE_UNSPECIFIED = 0
    PSC_AUTOMATION_STATE_SUCCESSFUL = 1
    PSC_AUTOMATION_STATE_FAILED = 2

  errorMessage = _messages.StringField(1)
  forwardingRule = _messages.StringField(2)
  ipAddress = _messages.StringField(3)
  network = _messages.StringField(4)
  projectId = _messages.StringField(5)
  state = _messages.EnumField('StateValueValuesEnum', 6)


class GoogleCloudAiplatformV1PairwiseMetricInput(_messages.Message):
  r"""Input for pairwise metric.

  Fields:
    instance: Required. Pairwise metric instance.
    metricSpec: Required. Spec for pairwise metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1PairwiseMetricSpec', 2)


class GoogleCloudAiplatformV1PairwiseMetricInstance(_messages.Message):
  r"""Pairwise metric instance. Usually one instance corresponds to one row in
  an evaluation dataset.

  Fields:
    contentMapInstance: Key-value contents for the mutlimodality input,
      including text, image, video, audio, and pdf, etc. The key is
      placeholder in metric prompt template, and the value is the multimodal
      content.
    jsonInstance: Instance specified as a json string. String key-value pairs
      are expected in the json_instance to render
      PairwiseMetricSpec.instance_prompt_template.
  """

  contentMapInstance = _messages.MessageField('GoogleCloudAiplatformV1ContentMap', 1)
  jsonInstance = _messages.StringField(2)


class GoogleCloudAiplatformV1PairwiseMetricResult(_messages.Message):
  r"""Spec for pairwise metric result.

  Enums:
    PairwiseChoiceValueValuesEnum: Output only. Pairwise metric choice.

  Fields:
    customOutput: Output only. Spec for custom output.
    explanation: Output only. Explanation for pairwise metric score.
    pairwiseChoice: Output only. Pairwise metric choice.
  """

  class PairwiseChoiceValueValuesEnum(_messages.Enum):
    r"""Output only. Pairwise metric choice.

    Values:
      PAIRWISE_CHOICE_UNSPECIFIED: Unspecified prediction choice.
      BASELINE: Baseline prediction wins
      CANDIDATE: Candidate prediction wins
      TIE: Winner cannot be determined
    """
    PAIRWISE_CHOICE_UNSPECIFIED = 0
    BASELINE = 1
    CANDIDATE = 2
    TIE = 3

  customOutput = _messages.MessageField('GoogleCloudAiplatformV1CustomOutput', 1)
  explanation = _messages.StringField(2)
  pairwiseChoice = _messages.EnumField('PairwiseChoiceValueValuesEnum', 3)


class GoogleCloudAiplatformV1PairwiseMetricSpec(_messages.Message):
  r"""Spec for pairwise metric.

  Fields:
    baselineResponseFieldName: Optional. The field name of the baseline
      response.
    candidateResponseFieldName: Optional. The field name of the candidate
      response.
    customOutputFormatConfig: Optional. CustomOutputFormatConfig allows
      customization of metric output. When this config is set, the default
      output is replaced with the raw output string. If a custom format is
      chosen, the `pairwise_choice` and `explanation` fields in the
      corresponding metric result will be empty.
    metricPromptTemplate: Required. Metric prompt template for pairwise
      metric.
    systemInstruction: Optional. System instructions for pairwise metric.
  """

  baselineResponseFieldName = _messages.StringField(1)
  candidateResponseFieldName = _messages.StringField(2)
  customOutputFormatConfig = _messages.MessageField('GoogleCloudAiplatformV1CustomOutputFormatConfig', 3)
  metricPromptTemplate = _messages.StringField(4)
  systemInstruction = _messages.StringField(5)


class GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput(_messages.Message):
  r"""Input for pairwise question answering quality metric.

  Fields:
    instance: Required. Pairwise question answering quality instance.
    metricSpec: Required. Spec for pairwise question answering quality score
      metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec', 2)


class GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance(_messages.Message):
  r"""Spec for pairwise question answering quality instance.

  Fields:
    baselinePrediction: Required. Output of the baseline model.
    context: Required. Text to answer the question.
    instruction: Required. Question Answering prompt for LLM.
    prediction: Required. Output of the candidate model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  baselinePrediction = _messages.StringField(1)
  context = _messages.StringField(2)
  instruction = _messages.StringField(3)
  prediction = _messages.StringField(4)
  reference = _messages.StringField(5)


class GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult(_messages.Message):
  r"""Spec for pairwise question answering quality result.

  Enums:
    PairwiseChoiceValueValuesEnum: Output only. Pairwise question answering
      prediction choice.

  Fields:
    confidence: Output only. Confidence for question answering quality score.
    explanation: Output only. Explanation for question answering quality
      score.
    pairwiseChoice: Output only. Pairwise question answering prediction
      choice.
  """

  class PairwiseChoiceValueValuesEnum(_messages.Enum):
    r"""Output only. Pairwise question answering prediction choice.

    Values:
      PAIRWISE_CHOICE_UNSPECIFIED: Unspecified prediction choice.
      BASELINE: Baseline prediction wins
      CANDIDATE: Candidate prediction wins
      TIE: Winner cannot be determined
    """
    PAIRWISE_CHOICE_UNSPECIFIED = 0
    BASELINE = 1
    CANDIDATE = 2
    TIE = 3

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  pairwiseChoice = _messages.EnumField('PairwiseChoiceValueValuesEnum', 3)


class GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec(_messages.Message):
  r"""Spec for pairwise question answering quality score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      question answering quality.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1PairwiseSummarizationQualityInput(_messages.Message):
  r"""Input for pairwise summarization quality metric.

  Fields:
    instance: Required. Pairwise summarization quality instance.
    metricSpec: Required. Spec for pairwise summarization quality score
      metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec', 2)


class GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance(_messages.Message):
  r"""Spec for pairwise summarization quality instance.

  Fields:
    baselinePrediction: Required. Output of the baseline model.
    context: Required. Text to be summarized.
    instruction: Required. Summarization prompt for LLM.
    prediction: Required. Output of the candidate model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  baselinePrediction = _messages.StringField(1)
  context = _messages.StringField(2)
  instruction = _messages.StringField(3)
  prediction = _messages.StringField(4)
  reference = _messages.StringField(5)


class GoogleCloudAiplatformV1PairwiseSummarizationQualityResult(_messages.Message):
  r"""Spec for pairwise summarization quality result.

  Enums:
    PairwiseChoiceValueValuesEnum: Output only. Pairwise summarization
      prediction choice.

  Fields:
    confidence: Output only. Confidence for summarization quality score.
    explanation: Output only. Explanation for summarization quality score.
    pairwiseChoice: Output only. Pairwise summarization prediction choice.
  """

  class PairwiseChoiceValueValuesEnum(_messages.Enum):
    r"""Output only. Pairwise summarization prediction choice.

    Values:
      PAIRWISE_CHOICE_UNSPECIFIED: Unspecified prediction choice.
      BASELINE: Baseline prediction wins
      CANDIDATE: Candidate prediction wins
      TIE: Winner cannot be determined
    """
    PAIRWISE_CHOICE_UNSPECIFIED = 0
    BASELINE = 1
    CANDIDATE = 2
    TIE = 3

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  pairwiseChoice = _messages.EnumField('PairwiseChoiceValueValuesEnum', 3)


class GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec(_messages.Message):
  r"""Spec for pairwise summarization quality score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      pairwise summarization quality.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1Part(_messages.Message):
  r"""A datatype containing media that is part of a multi-part Content
  message. A `Part` consists of data which has an associated datatype. A
  `Part` can only contain one of the accepted types in `Part.data`. For media
  types that are not text, `Part` must have a fixed IANA MIME type identifying
  the type and subtype of the media if `inline_data` or `file_data` field is
  filled with raw bytes.

  Fields:
    codeExecutionResult: Optional. The result of executing the ExecutableCode.
    executableCode: Optional. Code generated by the model that is intended to
      be executed.
    fileData: Optional. The URI-based data of the part. This can be used to
      include files from Google Cloud Storage.
    functionCall: Optional. A predicted function call returned from the model.
      This contains the name of the function to call and the arguments to pass
      to the function.
    functionResponse: Optional. The result of a function call. This is used to
      provide the model with the result of a function call that it predicted.
    inlineData: Optional. The inline data content of the part. This can be
      used to include images, audio, or video in a request.
    mediaResolution: per part media resolution. Media resolution for the input
      media.
    text: Optional. The text content of the part. When sent from the VSCode
      Gemini Code Assist extension, references to @mentioned items will be
      converted to markdown boldface text. For example `@my-repo` will be
      converted to and sent as `**my-repo**` by the IDE agent.
    thought: Optional. Indicates whether the `part` represents the model's
      thought process or reasoning.
    thoughtSignature: Optional. An opaque signature for the thought so it can
      be reused in subsequent requests.
    videoMetadata: Optional. Video metadata. The metadata should only be
      specified while the video data is presented in inline_data or file_data.
  """

  codeExecutionResult = _messages.MessageField('GoogleCloudAiplatformV1CodeExecutionResult', 1)
  executableCode = _messages.MessageField('GoogleCloudAiplatformV1ExecutableCode', 2)
  fileData = _messages.MessageField('GoogleCloudAiplatformV1FileData', 3)
  functionCall = _messages.MessageField('GoogleCloudAiplatformV1FunctionCall', 4)
  functionResponse = _messages.MessageField('GoogleCloudAiplatformV1FunctionResponse', 5)
  inlineData = _messages.MessageField('GoogleCloudAiplatformV1Blob', 6)
  mediaResolution = _messages.MessageField('GoogleCloudAiplatformV1PartMediaResolution', 7)
  text = _messages.StringField(8)
  thought = _messages.BooleanField(9)
  thoughtSignature = _messages.BytesField(10)
  videoMetadata = _messages.MessageField('GoogleCloudAiplatformV1VideoMetadata', 11)


class GoogleCloudAiplatformV1PartMediaResolution(_messages.Message):
  r"""per part media resolution. Media resolution for the input media.

  Enums:
    LevelValueValuesEnum: The tokenization quality used for given media.

  Fields:
    level: The tokenization quality used for given media.
  """

  class LevelValueValuesEnum(_messages.Enum):
    r"""The tokenization quality used for given media.

    Values:
      MEDIA_RESOLUTION_UNSPECIFIED: Media resolution has not been set.
      MEDIA_RESOLUTION_LOW: Media resolution set to low.
      MEDIA_RESOLUTION_MEDIUM: Media resolution set to medium.
      MEDIA_RESOLUTION_HIGH: Media resolution set to high.
      MEDIA_RESOLUTION_ULTRA_HIGH: Media resolution set to ultra high. This is
        for image only.
    """
    MEDIA_RESOLUTION_UNSPECIFIED = 0
    MEDIA_RESOLUTION_LOW = 1
    MEDIA_RESOLUTION_MEDIUM = 2
    MEDIA_RESOLUTION_HIGH = 3
    MEDIA_RESOLUTION_ULTRA_HIGH = 4

  level = _messages.EnumField('LevelValueValuesEnum', 1)


class GoogleCloudAiplatformV1PartialArg(_messages.Message):
  r"""Partial argument value of the function call.

  Enums:
    NullValueValueValuesEnum: Optional. Represents a null value.

  Fields:
    boolValue: Optional. Represents a boolean value.
    jsonPath: Required. A JSON Path (RFC 9535) to the argument being streamed.
      https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
    nullValue: Optional. Represents a null value.
    numberValue: Optional. Represents a double value.
    stringValue: Optional. Represents a string value.
    willContinue: Optional. Whether this is not the last part of the same
      json_path. If true, another PartialArg message for the current json_path
      is expected to follow.
  """

  class NullValueValueValuesEnum(_messages.Enum):
    r"""Optional. Represents a null value.

    Values:
      NULL_VALUE: Null value.
    """
    NULL_VALUE = 0

  boolValue = _messages.BooleanField(1)
  jsonPath = _messages.StringField(2)
  nullValue = _messages.EnumField('NullValueValueValuesEnum', 3)
  numberValue = _messages.FloatField(4)
  stringValue = _messages.StringField(5)
  willContinue = _messages.BooleanField(6)


class GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest(_messages.Message):
  r"""Request message for JobService.PauseModelDeploymentMonitoringJob."""


class GoogleCloudAiplatformV1PauseScheduleRequest(_messages.Message):
  r"""Request message for ScheduleService.PauseSchedule."""


class GoogleCloudAiplatformV1PersistentDiskSpec(_messages.Message):
  r"""Represents the spec of persistent disk and hyperdisk options.

  Fields:
    diskSizeGb: Size in GB of the disk (default is 100GB).
    diskType: Type of the disk (default is "pd-standard"). Valid values: "pd-
      ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk
      Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme"
      (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced)
      "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-
      availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml"
      (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput)
  """

  diskSizeGb = _messages.IntegerField(1)
  diskType = _messages.StringField(2)


class GoogleCloudAiplatformV1PersistentResource(_messages.Message):
  r"""Represents long-lasting resources that are dedicated to users to runs
  custom workloads. A PersistentResource can have multiple node pools and each
  node pool can have its own machine spec.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of a Study.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      PersistentResource. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Time when the PersistentResource was created.
    displayName: Optional. The display name of the PersistentResource. The
      name can be up to 128 characters long and can consist of any UTF-8
      characters.
    encryptionSpec: Optional. Customer-managed encryption key spec for a
      PersistentResource. If set, this PersistentResource and all sub-
      resources of this PersistentResource will be secured by this key.
    error: Output only. Only populated when persistent resource's state is
      `STOPPING` or `ERROR`.
    labels: Optional. The labels with user-defined metadata to organize
      PersistentResource. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    name: Immutable. Resource name of a PersistentResource.
    network: Optional. The full name of the Compute Engine
      [network](/compute/docs/networks-and-firewalls#networks) to peered with
      Vertex AI to host the persistent resources. For example,
      `projects/12345/global/networks/myVPC`.
      [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form
      `projects/{project}/global/networks/{network}`. Where {project} is a
      project number, as in `12345`, and {network} is a network name. To
      specify this field, you must have already [configured VPC Network
      Peering for Vertex AI](https://cloud.google.com/vertex-
      ai/docs/general/vpc-peering). If this field is left unspecified, the
      resources aren't peered with any network.
    pscInterfaceConfig: Optional. Configuration for PSC-I for
      PersistentResource.
    reservedIpRanges: Optional. A list of names for the reserved IP ranges
      under the VPC network that can be used for this persistent resource. If
      set, we will deploy the persistent resource within the provided IP
      ranges. Otherwise, the persistent resource is deployed to any IP ranges
      under the provided VPC network. Example: ['vertex-ai-ip-range'].
    resourcePools: Required. The spec of the pools of different resources.
    resourceRuntime: Output only. Runtime information of the Persistent
      Resource.
    resourceRuntimeSpec: Optional. Persistent Resource runtime spec. For
      example, used for Ray cluster configuration.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    startTime: Output only. Time when the PersistentResource for the first
      time entered the `RUNNING` state.
    state: Output only. The detailed state of a Study.
    updateTime: Output only. Time when the PersistentResource was most
      recently updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of a Study.

    Values:
      STATE_UNSPECIFIED: Not set.
      PROVISIONING: The PROVISIONING state indicates the persistent resources
        is being created.
      RUNNING: The RUNNING state indicates the persistent resource is healthy
        and fully usable.
      STOPPING: The STOPPING state indicates the persistent resource is being
        deleted.
      ERROR: The ERROR state indicates the persistent resource may be
        unusable. Details can be found in the `error` field.
      REBOOTING: The REBOOTING state indicates the persistent resource is
        being rebooted (PR is not available right now but is expected to be
        ready again later).
      UPDATING: The UPDATING state indicates the persistent resource is being
        updated.
    """
    STATE_UNSPECIFIED = 0
    PROVISIONING = 1
    RUNNING = 2
    STOPPING = 3
    ERROR = 4
    REBOOTING = 5
    UPDATING = 6

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize
    PersistentResource. Label keys and values can be no longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. See https://goo.gl/xmQnxf for more information and examples of
    labels.

    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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 3)
  error = _messages.MessageField('GoogleRpcStatus', 4)
  labels = _messages.MessageField('LabelsValue', 5)
  name = _messages.StringField(6)
  network = _messages.StringField(7)
  pscInterfaceConfig = _messages.MessageField('GoogleCloudAiplatformV1PscInterfaceConfig', 8)
  reservedIpRanges = _messages.StringField(9, repeated=True)
  resourcePools = _messages.MessageField('GoogleCloudAiplatformV1ResourcePool', 10, repeated=True)
  resourceRuntime = _messages.MessageField('GoogleCloudAiplatformV1ResourceRuntime', 11)
  resourceRuntimeSpec = _messages.MessageField('GoogleCloudAiplatformV1ResourceRuntimeSpec', 12)
  satisfiesPzi = _messages.BooleanField(13)
  satisfiesPzs = _messages.BooleanField(14)
  startTime = _messages.StringField(15)
  state = _messages.EnumField('StateValueValuesEnum', 16)
  updateTime = _messages.StringField(17)


class GoogleCloudAiplatformV1PipelineJob(_messages.Message):
  r"""An instance of a machine learning PipelineJob.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize
      PipelineJob. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels. Note there is some reserved label key for Vertex AI Pipelines. -
      `vertex-ai-pipelines-run-billing-id`, user set value will get overrided.
    PipelineSpecValue: A compiled definition of a pipeline, represented as a
      `JSON` object. Defines the structure of the pipeline, including its
      components, tasks, and parameters. This specification is generated by
      compiling a pipeline function defined in `Python` using the `Kubeflow
      Pipelines SDK`.

  Fields:
    createTime: Output only. Pipeline creation time.
    displayName: The display name of the Pipeline. The name can be up to 128
      characters long and can consist of any UTF-8 characters.
    encryptionSpec: Customer-managed encryption key spec for a pipelineJob. If
      set, this PipelineJob and all of its sub-resources will be secured by
      this key.
    endTime: Output only. Pipeline end time.
    error: Output only. The error that occurred during pipeline execution.
      Only populated when the pipeline's state is FAILED or CANCELLED.
    jobDetail: Output only. The details of pipeline run. Not available in the
      list view.
    labels: The labels with user-defined metadata to organize PipelineJob.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels. Note
      there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-
      pipelines-run-billing-id`, user set value will get overrided.
    name: Output only. The resource name of the PipelineJob.
    network: The full name of the Compute Engine
      [network](/compute/docs/networks-and-firewalls#networks) to which the
      Pipeline Job's workload should be peered. For example,
      `projects/12345/global/networks/myVPC`.
      [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form
      `projects/{project}/global/networks/{network}`. Where {project} is a
      project number, as in `12345`, and {network} is a network name. Private
      services access must already be configured for the network. Pipeline job
      will apply the network configuration to the Google Cloud resources being
      launched, if applied, such as Vertex AI Training or Dataflow job. If
      left unspecified, the workload is not peered with any network.
    pipelineSpec: A compiled definition of a pipeline, represented as a `JSON`
      object. Defines the structure of the pipeline, including its components,
      tasks, and parameters. This specification is generated by compiling a
      pipeline function defined in `Python` using the `Kubeflow Pipelines
      SDK`.
    preflightValidations: Optional. Whether to do component level validations
      before job creation.
    pscInterfaceConfig: Optional. Configuration for PSC-I for PipelineJob.
    reservedIpRanges: A list of names for the reserved ip ranges under the VPC
      network that can be used for this Pipeline Job's workload. If set, we
      will deploy the Pipeline Job's workload within the provided ip ranges.
      Otherwise, the job will be deployed to any ip ranges under the provided
      VPC network. Example: ['vertex-ai-ip-range'].
    runtimeConfig: Runtime config of the pipeline.
    scheduleName: Output only. The schedule resource name. Only returned if
      the Pipeline is created by Schedule API.
    serviceAccount: The service account that the pipeline workload runs as. If
      not specified, the Compute Engine default service account in the project
      will be used. See https://cloud.google.com/compute/docs/access/service-
      accounts#default_service_account Users starting the pipeline must have
      the `iam.serviceAccounts.actAs` permission on this service account.
    startTime: Output only. Pipeline start time.
    state: Output only. The detailed state of the job.
    templateMetadata: Output only. Pipeline template metadata. Will fill up
      fields if PipelineJob.template_uri is from supported template registry.
    templateUri: A template uri from where the PipelineJob.pipeline_spec, if
      empty, will be downloaded. Currently, only uri from Vertex Template
      Registry & Gallery is supported. Reference to
      https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-
      template.
    updateTime: Output only. Timestamp when this PipelineJob was most recently
      updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      PIPELINE_STATE_UNSPECIFIED: The pipeline state is unspecified.
      PIPELINE_STATE_QUEUED: The pipeline has been created or resumed, and
        processing has not yet begun.
      PIPELINE_STATE_PENDING: The service is preparing to run the pipeline.
      PIPELINE_STATE_RUNNING: The pipeline is in progress.
      PIPELINE_STATE_SUCCEEDED: The pipeline completed successfully.
      PIPELINE_STATE_FAILED: The pipeline failed.
      PIPELINE_STATE_CANCELLING: The pipeline is being cancelled. From this
        state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED,
        PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.
      PIPELINE_STATE_CANCELLED: The pipeline has been cancelled.
      PIPELINE_STATE_PAUSED: The pipeline has been stopped, and can be
        resumed.
    """
    PIPELINE_STATE_UNSPECIFIED = 0
    PIPELINE_STATE_QUEUED = 1
    PIPELINE_STATE_PENDING = 2
    PIPELINE_STATE_RUNNING = 3
    PIPELINE_STATE_SUCCEEDED = 4
    PIPELINE_STATE_FAILED = 5
    PIPELINE_STATE_CANCELLING = 6
    PIPELINE_STATE_CANCELLED = 7
    PIPELINE_STATE_PAUSED = 8

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize PipelineJob. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels. Note there is some reserved
    label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`,
    user set value will get overrided.

    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 PipelineSpecValue(_messages.Message):
    r"""A compiled definition of a pipeline, represented as a `JSON` object.
    Defines the structure of the pipeline, including its components, tasks,
    and parameters. This specification is generated by compiling a pipeline
    function defined in `Python` using the `Kubeflow Pipelines SDK`.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a PipelineSpecValue 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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 3)
  endTime = _messages.StringField(4)
  error = _messages.MessageField('GoogleRpcStatus', 5)
  jobDetail = _messages.MessageField('GoogleCloudAiplatformV1PipelineJobDetail', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  name = _messages.StringField(8)
  network = _messages.StringField(9)
  pipelineSpec = _messages.MessageField('PipelineSpecValue', 10)
  preflightValidations = _messages.BooleanField(11)
  pscInterfaceConfig = _messages.MessageField('GoogleCloudAiplatformV1PscInterfaceConfig', 12)
  reservedIpRanges = _messages.StringField(13, repeated=True)
  runtimeConfig = _messages.MessageField('GoogleCloudAiplatformV1PipelineJobRuntimeConfig', 14)
  scheduleName = _messages.StringField(15)
  serviceAccount = _messages.StringField(16)
  startTime = _messages.StringField(17)
  state = _messages.EnumField('StateValueValuesEnum', 18)
  templateMetadata = _messages.MessageField('GoogleCloudAiplatformV1PipelineTemplateMetadata', 19)
  templateUri = _messages.StringField(20)
  updateTime = _messages.StringField(21)


class GoogleCloudAiplatformV1PipelineJobDetail(_messages.Message):
  r"""The runtime detail of PipelineJob.

  Fields:
    pipelineContext: Output only. The context of the pipeline.
    pipelineRunContext: Output only. The context of the current pipeline run.
    taskDetails: Output only. The runtime details of the tasks under the
      pipeline.
  """

  pipelineContext = _messages.MessageField('GoogleCloudAiplatformV1Context', 1)
  pipelineRunContext = _messages.MessageField('GoogleCloudAiplatformV1Context', 2)
  taskDetails = _messages.MessageField('GoogleCloudAiplatformV1PipelineTaskDetail', 3, repeated=True)


class GoogleCloudAiplatformV1PipelineJobRuntimeConfig(_messages.Message):
  r"""The runtime config of a PipelineJob.

  Enums:
    FailurePolicyValueValuesEnum: Represents the failure policy of a pipeline.
      Currently, the default of a pipeline is that the pipeline will continue
      to run until no more tasks can be executed, also known as
      PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to
      PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks
      when a task has failed. Any scheduled tasks will continue to completion.

  Messages:
    InputArtifactsValue: The runtime artifacts of the PipelineJob. The key
      will be the input artifact name and the value would be one of the
      InputArtifact.
    ParameterValuesValue: The runtime parameters of the PipelineJob. The
      parameters will be passed into PipelineJob.pipeline_spec to replace the
      placeholders at runtime. This field is used by pipelines built using
      `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines
      built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.
    ParametersValue: Deprecated. Use RuntimeConfig.parameter_values instead.
      The runtime parameters of the PipelineJob. The parameters will be passed
      into PipelineJob.pipeline_spec to replace the placeholders at runtime.
      This field is used by pipelines built using
      `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as
      pipelines built using Kubeflow Pipelines SDK 1.8 or lower.

  Fields:
    failurePolicy: Represents the failure policy of a pipeline. Currently, the
      default of a pipeline is that the pipeline will continue to run until no
      more tasks can be executed, also known as
      PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to
      PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks
      when a task has failed. Any scheduled tasks will continue to completion.
    gcsOutputDirectory: Required. A path in a Cloud Storage bucket, which will
      be treated as the root output directory of the pipeline. It is used by
      the system to generate the paths of output artifacts. The artifact paths
      are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}`
      under the specified output directory. The service account specified in
      this pipeline must have the `storage.objects.get` and
      `storage.objects.create` permissions for this bucket.
    inputArtifacts: The runtime artifacts of the PipelineJob. The key will be
      the input artifact name and the value would be one of the InputArtifact.
    parameterValues: The runtime parameters of the PipelineJob. The parameters
      will be passed into PipelineJob.pipeline_spec to replace the
      placeholders at runtime. This field is used by pipelines built using
      `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines
      built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.
    parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The
      runtime parameters of the PipelineJob. The parameters will be passed
      into PipelineJob.pipeline_spec to replace the placeholders at runtime.
      This field is used by pipelines built using
      `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as
      pipelines built using Kubeflow Pipelines SDK 1.8 or lower.
  """

  class FailurePolicyValueValuesEnum(_messages.Enum):
    r"""Represents the failure policy of a pipeline. Currently, the default of
    a pipeline is that the pipeline will continue to run until no more tasks
    can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However,
    if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop
    scheduling any new tasks when a task has failed. Any scheduled tasks will
    continue to completion.

    Values:
      PIPELINE_FAILURE_POLICY_UNSPECIFIED: Default value, and follows fail
        slow behavior.
      PIPELINE_FAILURE_POLICY_FAIL_SLOW: Indicates that the pipeline should
        continue to run until all possible tasks have been scheduled and
        completed.
      PIPELINE_FAILURE_POLICY_FAIL_FAST: Indicates that the pipeline should
        stop scheduling new tasks after a task has failed.
    """
    PIPELINE_FAILURE_POLICY_UNSPECIFIED = 0
    PIPELINE_FAILURE_POLICY_FAIL_SLOW = 1
    PIPELINE_FAILURE_POLICY_FAIL_FAST = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputArtifactsValue(_messages.Message):
    r"""The runtime artifacts of the PipelineJob. The key will be the input
    artifact name and the value would be one of the InputArtifact.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ParameterValuesValue(_messages.Message):
    r"""The runtime parameters of the PipelineJob. The parameters will be
    passed into PipelineJob.pipeline_spec to replace the placeholders at
    runtime. This field is used by pipelines built using
    `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built
    using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ParameterValuesValue 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"""Deprecated. Use RuntimeConfig.parameter_values instead. The runtime
    parameters of the PipelineJob. The parameters will be passed into
    PipelineJob.pipeline_spec to replace the placeholders at runtime. This
    field is used by pipelines built using
    `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as
    pipelines built using Kubeflow Pipelines SDK 1.8 or lower.

    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 GoogleCloudAiplatformV1Value attribute.
      """

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

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

  failurePolicy = _messages.EnumField('FailurePolicyValueValuesEnum', 1)
  gcsOutputDirectory = _messages.StringField(2)
  inputArtifacts = _messages.MessageField('InputArtifactsValue', 3)
  parameterValues = _messages.MessageField('ParameterValuesValue', 4)
  parameters = _messages.MessageField('ParametersValue', 5)


class GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact(_messages.Message):
  r"""The type of an input artifact.

  Fields:
    artifactId: Artifact resource id from MLMD. Which is the last portion of
      an artifact resource name: `projects/{project}/locations/{location}/meta
      dataStores/default/artifacts/{artifact_id}`. The artifact must stay
      within the same project, location and default metadatastore as the
      pipeline.
  """

  artifactId = _messages.StringField(1)


class GoogleCloudAiplatformV1PipelineTaskDetail(_messages.Message):
  r"""The runtime detail of a task execution.

  Enums:
    StateValueValuesEnum: Output only. State of the task.

  Messages:
    InputsValue: Output only. The runtime input artifacts of the task.
    OutputsValue: Output only. The runtime output artifacts of the task.

  Fields:
    createTime: Output only. Task create time.
    endTime: Output only. Task end time.
    error: Output only. The error that occurred during task execution. Only
      populated when the task's state is FAILED or CANCELLED.
    execution: Output only. The execution metadata of the task.
    executorDetail: Output only. The detailed execution info.
    inputs: Output only. The runtime input artifacts of the task.
    outputs: Output only. The runtime output artifacts of the task.
    parentTaskId: Output only. The id of the parent task if the task is within
      a component scope. Empty if the task is at the root level.
    pipelineTaskStatus: Output only. A list of task status. This field keeps a
      record of task status evolving over time.
    startTime: Output only. Task start time.
    state: Output only. State of the task.
    taskId: Output only. The system generated ID of the task.
    taskName: Output only. The user specified name of the task that is defined
      in pipeline_spec.
    taskUniqueName: Output only. The unique name of a task. This field is used
      by rerun pipeline job. Console UI and Vertex AI SDK will support
      triggering pipeline job reruns. The name is constructed by concatenating
      all the parent tasks name with the task name. For example, if a task
      named "child_task" has a parent task named "parent_task_1" and parent
      task 1 has a parent task named "parent_task_2", the task unique name
      will be "parent_task_2.parent_task_1.child_task".
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. State of the task.

    Values:
      STATE_UNSPECIFIED: Unspecified.
      PENDING: Specifies pending state for the task.
      RUNNING: Specifies task is being executed.
      SUCCEEDED: Specifies task completed successfully.
      CANCEL_PENDING: Specifies Task cancel is in pending state.
      CANCELLING: Specifies task is being cancelled.
      CANCELLED: Specifies task was cancelled.
      FAILED: Specifies task failed.
      SKIPPED: Specifies task was skipped due to cache hit.
      NOT_TRIGGERED: Specifies that the task was not triggered because the
        task's trigger policy is not satisfied. The trigger policy is
        specified in the `condition` field of PipelineJob.pipeline_spec.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    SUCCEEDED = 3
    CANCEL_PENDING = 4
    CANCELLING = 5
    CANCELLED = 6
    FAILED = 7
    SKIPPED = 8
    NOT_TRIGGERED = 9

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputsValue(_messages.Message):
    r"""Output only. The runtime input artifacts of the task.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class OutputsValue(_messages.Message):
    r"""Output only. The runtime output artifacts of the task.

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

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

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

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

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

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

  createTime = _messages.StringField(1)
  endTime = _messages.StringField(2)
  error = _messages.MessageField('GoogleRpcStatus', 3)
  execution = _messages.MessageField('GoogleCloudAiplatformV1Execution', 4)
  executorDetail = _messages.MessageField('GoogleCloudAiplatformV1PipelineTaskExecutorDetail', 5)
  inputs = _messages.MessageField('InputsValue', 6)
  outputs = _messages.MessageField('OutputsValue', 7)
  parentTaskId = _messages.IntegerField(8)
  pipelineTaskStatus = _messages.MessageField('GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus', 9, repeated=True)
  startTime = _messages.StringField(10)
  state = _messages.EnumField('StateValueValuesEnum', 11)
  taskId = _messages.IntegerField(12)
  taskName = _messages.StringField(13)
  taskUniqueName = _messages.StringField(14)


class GoogleCloudAiplatformV1PipelineTaskDetailArtifactList(_messages.Message):
  r"""A list of artifact metadata.

  Fields:
    artifacts: Output only. A list of artifact metadata.
  """

  artifacts = _messages.MessageField('GoogleCloudAiplatformV1Artifact', 1, repeated=True)


class GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus(_messages.Message):
  r"""A single record of the task status.

  Enums:
    StateValueValuesEnum: Output only. The state of the task.

  Fields:
    error: Output only. The error that occurred during the state. May be set
      when the state is any of the non-final state
      (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is FAILED,
      the error here is final and not going to be retried. If the state is a
      non-final state, the error indicates a system-error being retried.
    state: Output only. The state of the task.
    updateTime: Output only. Update time of this status.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of the task.

    Values:
      STATE_UNSPECIFIED: Unspecified.
      PENDING: Specifies pending state for the task.
      RUNNING: Specifies task is being executed.
      SUCCEEDED: Specifies task completed successfully.
      CANCEL_PENDING: Specifies Task cancel is in pending state.
      CANCELLING: Specifies task is being cancelled.
      CANCELLED: Specifies task was cancelled.
      FAILED: Specifies task failed.
      SKIPPED: Specifies task was skipped due to cache hit.
      NOT_TRIGGERED: Specifies that the task was not triggered because the
        task's trigger policy is not satisfied. The trigger policy is
        specified in the `condition` field of PipelineJob.pipeline_spec.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    SUCCEEDED = 3
    CANCEL_PENDING = 4
    CANCELLING = 5
    CANCELLED = 6
    FAILED = 7
    SKIPPED = 8
    NOT_TRIGGERED = 9

  error = _messages.MessageField('GoogleRpcStatus', 1)
  state = _messages.EnumField('StateValueValuesEnum', 2)
  updateTime = _messages.StringField(3)


class GoogleCloudAiplatformV1PipelineTaskExecutorDetail(_messages.Message):
  r"""The runtime detail of a pipeline executor.

  Fields:
    containerDetail: Output only. The detailed info for a container executor.
    customJobDetail: Output only. The detailed info for a custom job executor.
  """

  containerDetail = _messages.MessageField('GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail', 1)
  customJobDetail = _messages.MessageField('GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail', 2)


class GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail(_messages.Message):
  r"""The detail of a container execution. It contains the job names of the
  lifecycle of a container execution.

  Fields:
    failedMainJobs: Output only. The names of the previously failed CustomJob
      for the main container executions. The list includes the all attempts in
      chronological order.
    failedPreCachingCheckJobs: Output only. The names of the previously failed
      CustomJob for the pre-caching-check container executions. This job will
      be available if the PipelineJob.pipeline_spec specifies the
      `pre_caching_check` hook in the lifecycle events. The list includes the
      all attempts in chronological order.
    mainJob: Output only. The name of the CustomJob for the main container
      execution.
    preCachingCheckJob: Output only. The name of the CustomJob for the pre-
      caching-check container execution. This job will be available if the
      PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the
      lifecycle events.
  """

  failedMainJobs = _messages.StringField(1, repeated=True)
  failedPreCachingCheckJobs = _messages.StringField(2, repeated=True)
  mainJob = _messages.StringField(3)
  preCachingCheckJob = _messages.StringField(4)


class GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail(_messages.Message):
  r"""The detailed info for a custom job executor.

  Fields:
    failedJobs: Output only. The names of the previously failed CustomJob. The
      list includes the all attempts in chronological order.
    job: Output only. The name of the CustomJob.
  """

  failedJobs = _messages.StringField(1, repeated=True)
  job = _messages.StringField(2)


class GoogleCloudAiplatformV1PipelineTemplateMetadata(_messages.Message):
  r"""Pipeline template metadata if PipelineJob.template_uri is from supported
  template registry. Currently, the only supported registry is Artifact
  Registry.

  Fields:
    version: The version_name in artifact registry. Will always be presented
      in output if the PipelineJob.template_uri is from supported template
      registry. Format is "sha256:abcdef123456...".
  """

  version = _messages.StringField(1)


class GoogleCloudAiplatformV1PointwiseMetricInput(_messages.Message):
  r"""Input for pointwise metric.

  Fields:
    instance: Required. Pointwise metric instance.
    metricSpec: Required. Spec for pointwise metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1PointwiseMetricSpec', 2)


class GoogleCloudAiplatformV1PointwiseMetricInstance(_messages.Message):
  r"""Pointwise metric instance. Usually one instance corresponds to one row
  in an evaluation dataset.

  Fields:
    contentMapInstance: Key-value contents for the mutlimodality input,
      including text, image, video, audio, and pdf, etc. The key is
      placeholder in metric prompt template, and the value is the multimodal
      content.
    jsonInstance: Instance specified as a json string. String key-value pairs
      are expected in the json_instance to render
      PointwiseMetricSpec.instance_prompt_template.
  """

  contentMapInstance = _messages.MessageField('GoogleCloudAiplatformV1ContentMap', 1)
  jsonInstance = _messages.StringField(2)


class GoogleCloudAiplatformV1PointwiseMetricResult(_messages.Message):
  r"""Spec for pointwise metric result.

  Fields:
    customOutput: Output only. Spec for custom output.
    explanation: Output only. Explanation for pointwise metric score.
    score: Output only. Pointwise metric score.
  """

  customOutput = _messages.MessageField('GoogleCloudAiplatformV1CustomOutput', 1)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1PointwiseMetricSpec(_messages.Message):
  r"""Spec for pointwise metric.

  Fields:
    customOutputFormatConfig: Optional. CustomOutputFormatConfig allows
      customization of metric output. By default, metrics return a score and
      explanation. When this config is set, the default output is replaced
      with either: - The raw output string. - A parsed output based on a user-
      defined schema. If a custom format is chosen, the `score` and
      `explanation` fields in the corresponding metric result will be empty.
    metricPromptTemplate: Required. Metric prompt template for pointwise
      metric.
    systemInstruction: Optional. System instructions for pointwise metric.
  """

  customOutputFormatConfig = _messages.MessageField('GoogleCloudAiplatformV1CustomOutputFormatConfig', 1)
  metricPromptTemplate = _messages.StringField(2)
  systemInstruction = _messages.StringField(3)


class GoogleCloudAiplatformV1Port(_messages.Message):
  r"""Represents a network port in a container.

  Fields:
    containerPort: The number of the port to expose on the pod's IP address.
      Must be a valid port number, between 1 and 65535 inclusive.
  """

  containerPort = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1PostStartupScriptConfig(_messages.Message):
  r"""Post startup script config.

  Enums:
    PostStartupScriptBehaviorValueValuesEnum: Optional. Post startup script
      behavior that defines download and execution behavior.

  Fields:
    postStartupScript: Optional. Post startup script to run after runtime is
      started.
    postStartupScriptBehavior: Optional. Post startup script behavior that
      defines download and execution behavior.
    postStartupScriptUrl: Optional. Post startup script url to download.
      Example: `gs://bucket/script.sh`
  """

  class PostStartupScriptBehaviorValueValuesEnum(_messages.Enum):
    r"""Optional. Post startup script behavior that defines download and
    execution behavior.

    Values:
      POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED: Unspecified post startup
        script behavior.
      RUN_ONCE: Run post startup script after runtime is started.
      RUN_EVERY_START: Run post startup script after runtime is stopped.
      DOWNLOAD_AND_RUN_EVERY_START: Download and run post startup script every
        time runtime is started.
    """
    POST_STARTUP_SCRIPT_BEHAVIOR_UNSPECIFIED = 0
    RUN_ONCE = 1
    RUN_EVERY_START = 2
    DOWNLOAD_AND_RUN_EVERY_START = 3

  postStartupScript = _messages.StringField(1)
  postStartupScriptBehavior = _messages.EnumField('PostStartupScriptBehaviorValueValuesEnum', 2)
  postStartupScriptUrl = _messages.StringField(3)


class GoogleCloudAiplatformV1PreTunedModel(_messages.Message):
  r"""A pre-tuned model for continuous tuning.

  Fields:
    baseModel: Output only. The name of the base model this PreTunedModel was
      tuned from.
    checkpointId: Optional. The source checkpoint id. If not specified, the
      default checkpoint will be used.
    tunedModelName: The resource name of the Model. E.g., a model resource
      name with a specified version id or alias:
      `projects/{project}/locations/{location}/models/{model}@{version_id}`
      `projects/{project}/locations/{location}/models/{model}@{alias}` Or,
      omit the version id to use the default version:
      `projects/{project}/locations/{location}/models/{model}`
  """

  baseModel = _messages.StringField(1)
  checkpointId = _messages.StringField(2)
  tunedModelName = _messages.StringField(3)


class GoogleCloudAiplatformV1PrebuiltVoiceConfig(_messages.Message):
  r"""Configuration for a prebuilt voice.

  Fields:
    voiceName: The name of the prebuilt voice to use.
  """

  voiceName = _messages.StringField(1)


class GoogleCloudAiplatformV1PredefinedMetricSpec(_messages.Message):
  r"""The spec for a pre-defined metric.

  Messages:
    MetricSpecParametersValue: Optional. The parameters needed to run the pre-
      defined metric.

  Fields:
    metricSpecName: Required. The name of a pre-defined metric, such as
      "instruction_following_v1" or "text_quality_v1".
    metricSpecParameters: Optional. The parameters needed to run the pre-
      defined metric.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetricSpecParametersValue(_messages.Message):
    r"""Optional. The parameters needed to run the pre-defined metric.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetricSpecParametersValue 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)

  metricSpecName = _messages.StringField(1)
  metricSpecParameters = _messages.MessageField('MetricSpecParametersValue', 2)


class GoogleCloudAiplatformV1PredefinedSplit(_messages.Message):
  r"""Assigns input data to training, validation, and test sets based on the
  value of a provided key. Supported only for tabular Datasets.

  Fields:
    key: Required. The key is a name of one of the Dataset's data columns. The
      value of the key (either the label's value or value in the column) must
      be one of {`training`, `validation`, `test`}, and it defines to which
      set the given piece of data is assigned. If for a piece of data the key
      is not present or has an invalid value, that piece is ignored by the
      pipeline.
  """

  key = _messages.StringField(1)


class GoogleCloudAiplatformV1PredictRequest(_messages.Message):
  r"""Request message for PredictionService.Predict.

  Messages:
    LabelsValue: Optional. The user labels for Imagen billing usage only. Only
      Imagen supports labels. For other use cases, it will be ignored.

  Fields:
    instances: Required. The instances that are the input to the prediction
      call. A DeployedModel may have an upper limit on the number of instances
      it supports per request, and when it is exceeded the prediction call
      errors in case of AutoML Models, or, in case of customer created Models,
      the behavior is as documented by that Model. The schema of each instance
      depends on the type of request. * For a generative AI request to a Text
      Embedding model, see TextEmbeddingPredictionInstance * For a generative
      AI request to a Multimodal Embedding model, see
      VisionEmbeddingModelInstance * For a video generation request to a Veo
      model, see VideoGenerationModelInstance * For a traditional machine
      learning request to a deployed custom model, the schema of any single
      instance is defined by the model's instanceSchemaUri.
    labels: Optional. The user labels for Imagen billing usage only. Only
      Imagen supports labels. For other use cases, it will be ignored.
    parameters: The parameters that govern the prediction. The schema of the
      parameters depends on the type of request. * For a generative AI request
      to a Text Embedding model, see TextEmbeddingPredictionParams * For a
      generative AI request to a Multimodal Embedding model, see
      VisionEmbeddingModelParams * For a video generation request to a Veo
      model, see VideoGenerationModelParams * For a traditional machine
      learning request to a deployed custom model, the schema of the
      parameters is defined by the model's parametersSchemaUri.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The user labels for Imagen billing usage only. Only Imagen
    supports labels. For other use cases, it will be ignored.

    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)

  instances = _messages.MessageField('extra_types.JsonValue', 1, repeated=True)
  labels = _messages.MessageField('LabelsValue', 2)
  parameters = _messages.MessageField('extra_types.JsonValue', 3)


class GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig(_messages.Message):
  r"""Configuration for logging request-response to a BigQuery table.

  Fields:
    bigqueryDestination: BigQuery table for logging. If only given a project,
      a new dataset will be created with name `logging__` where will be made
      BigQuery-dataset-name compatible (e.g. most special characters will
      become underscores). If no table name is given, a new table will be
      created with name `request_response_logging`
    enabled: If logging is enabled or not.
    samplingRate: Percentage of requests to be logged, expressed as a fraction
      in range(0,1].
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 1)
  enabled = _messages.BooleanField(2)
  samplingRate = _messages.FloatField(3)


class GoogleCloudAiplatformV1PredictResponse(_messages.Message):
  r"""Response message for PredictionService.Predict.

  Fields:
    deployedModelId: ID of the Endpoint's DeployedModel that served this
      prediction.
    metadata: Output only. Request-level metadata returned by the model. The
      metadata type will be dependent upon the model implementation.
    model: Output only. The resource name of the Model which is deployed as
      the DeployedModel that this prediction hits.
    modelDisplayName: Output only. The display name of the Model which is
      deployed as the DeployedModel that this prediction hits.
    modelVersionId: Output only. The version ID of the Model which is deployed
      as the DeployedModel that this prediction hits.
    predictions: The predictions that are the output of the predictions call.
      The schema of each prediction depends on the type of request. * For a
      generative AI request to a Text Embedding model, see
      TextEmbeddingPredictionResult * For a generative AI request to a
      Multimodal Embedding model, see VisionEmbeddingModelResult * For a video
      generation request to a Veo model, see VideoGenerationModelResult * For
      a traditional machine learning request to a deployed custom model, the
      schema of each prediction is defined by the model's predictionSchemaUri.
  """

  deployedModelId = _messages.StringField(1)
  metadata = _messages.MessageField('extra_types.JsonValue', 2)
  model = _messages.StringField(3)
  modelDisplayName = _messages.StringField(4)
  modelVersionId = _messages.StringField(5)
  predictions = _messages.MessageField('extra_types.JsonValue', 6, repeated=True)


class GoogleCloudAiplatformV1PredictSchemata(_messages.Message):
  r"""Contains the schemata used in Model's predictions and explanations via
  PredictionService.Predict, PredictionService.Explain and BatchPredictionJob.

  Fields:
    instanceSchemaUri: Immutable. Points to a YAML file stored on Google Cloud
      Storage describing the format of a single instance, which are used in
      PredictRequest.instances, ExplainRequest.instances and
      BatchPredictionJob.input_config. The schema is defined as an OpenAPI
      3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models
      always have this field populated by Vertex AI. Note: The URI given on
      output will be immutable and probably different, including the URI
      scheme, than the one given on input. The output URI will point to a
      location where the user only has a read access.
    parametersSchemaUri: Immutable. Points to a YAML file stored on Google
      Cloud Storage describing the parameters of prediction and explanation
      via PredictRequest.parameters, ExplainRequest.parameters and
      BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI
      3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models
      always have this field populated by Vertex AI, if no parameters are
      supported, then it is set to an empty string. Note: The URI given on
      output will be immutable and probably different, including the URI
      scheme, than the one given on input. The output URI will point to a
      location where the user only has a read access.
    predictionSchemaUri: Immutable. Points to a YAML file stored on Google
      Cloud Storage describing the format of a single prediction produced by
      this Model, which are returned via PredictResponse.predictions,
      ExplainResponse.explanations, and BatchPredictionJob.output_config. The
      schema is defined as an OpenAPI 3.0.2 [Schema
      Object](https://github.com/OAI/OpenAPI-
      Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models
      always have this field populated by Vertex AI. Note: The URI given on
      output will be immutable and probably different, including the URI
      scheme, than the one given on input. The output URI will point to a
      location where the user only has a read access.
  """

  instanceSchemaUri = _messages.StringField(1)
  parametersSchemaUri = _messages.StringField(2)
  predictionSchemaUri = _messages.StringField(3)


class GoogleCloudAiplatformV1Presets(_messages.Message):
  r"""Preset configuration for example-based explanations

  Enums:
    ModalityValueValuesEnum: The modality of the uploaded model, which
      automatically configures the distance measurement and feature
      normalization for the underlying example index and queries. If your
      model does not precisely fit one of these types, it is okay to choose
      the closest type.
    QueryValueValuesEnum: Preset option controlling parameters for speed-
      precision trade-off when querying for examples. If omitted, defaults to
      `PRECISE`.

  Fields:
    modality: The modality of the uploaded model, which automatically
      configures the distance measurement and feature normalization for the
      underlying example index and queries. If your model does not precisely
      fit one of these types, it is okay to choose the closest type.
    query: Preset option controlling parameters for speed-precision trade-off
      when querying for examples. If omitted, defaults to `PRECISE`.
  """

  class ModalityValueValuesEnum(_messages.Enum):
    r"""The modality of the uploaded model, which automatically configures the
    distance measurement and feature normalization for the underlying example
    index and queries. If your model does not precisely fit one of these
    types, it is okay to choose the closest type.

    Values:
      MODALITY_UNSPECIFIED: Should not be set. Added as a recommended best
        practice for enums
      IMAGE: IMAGE modality
      TEXT: TEXT modality
      TABULAR: TABULAR modality
    """
    MODALITY_UNSPECIFIED = 0
    IMAGE = 1
    TEXT = 2
    TABULAR = 3

  class QueryValueValuesEnum(_messages.Enum):
    r"""Preset option controlling parameters for speed-precision trade-off
    when querying for examples. If omitted, defaults to `PRECISE`.

    Values:
      PRECISE: More precise neighbors as a trade-off against slower response.
      FAST: Faster response as a trade-off against less precise neighbors.
    """
    PRECISE = 0
    FAST = 1

  modality = _messages.EnumField('ModalityValueValuesEnum', 1)
  query = _messages.EnumField('QueryValueValuesEnum', 2)


class GoogleCloudAiplatformV1PrivateEndpoints(_messages.Message):
  r"""PrivateEndpoints proto is used to provide paths for users to send
  requests privately. To send request via private service access, use
  predict_http_uri, explain_http_uri or health_http_uri. To send request via
  private service connect, use service_attachment.

  Fields:
    explainHttpUri: Output only. Http(s) path to send explain requests.
    healthHttpUri: Output only. Http(s) path to send health check requests.
    predictHttpUri: Output only. Http(s) path to send prediction requests.
    serviceAttachment: Output only. The name of the service attachment
      resource. Populated if private service connect is enabled.
  """

  explainHttpUri = _messages.StringField(1)
  healthHttpUri = _messages.StringField(2)
  predictHttpUri = _messages.StringField(3)
  serviceAttachment = _messages.StringField(4)


class GoogleCloudAiplatformV1PrivateServiceConnectConfig(_messages.Message):
  r"""Represents configuration for private service connect.

  Fields:
    enablePrivateServiceConnect: Required. If true, expose the IndexEndpoint
      via private service connect.
    projectAllowlist: A list of Projects from which the forwarding rule will
      target the service attachment.
    pscAutomationConfigs: Optional. List of projects and networks where the
      PSC endpoints will be created. This field is used by Online
      Inference(Prediction) only.
    serviceAttachment: Output only. The name of the generated service
      attachment resource. This is only populated if the endpoint is deployed
      with PrivateServiceConnect.
  """

  enablePrivateServiceConnect = _messages.BooleanField(1)
  projectAllowlist = _messages.StringField(2, repeated=True)
  pscAutomationConfigs = _messages.MessageField('GoogleCloudAiplatformV1PSCAutomationConfig', 3, repeated=True)
  serviceAttachment = _messages.StringField(4)


class GoogleCloudAiplatformV1Probe(_messages.Message):
  r"""Probe describes a health check to be performed against a container to
  determine whether it is alive or ready to receive traffic.

  Fields:
    exec_: ExecAction probes the health of a container by executing a command.
    failureThreshold: Number of consecutive failures before the probe is
      considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes
      probe argument 'failureThreshold'.
    grpc: GrpcAction probes the health of a container by sending a gRPC
      request.
    httpGet: HttpGetAction probes the health of a container by sending an HTTP
      GET request.
    initialDelaySeconds: Number of seconds to wait before starting the probe.
      Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument
      'initialDelaySeconds'.
    periodSeconds: How often (in seconds) to perform the probe. Default to 10
      seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to
      Kubernetes probe argument 'periodSeconds'.
    successThreshold: Number of consecutive successes before the probe is
      considered successful. Defaults to 1. Minimum value is 1. Maps to
      Kubernetes probe argument 'successThreshold'.
    tcpSocket: TcpSocketAction probes the health of a container by opening a
      TCP socket connection.
    timeoutSeconds: Number of seconds after which the probe times out.
      Defaults to 1 second. Minimum value is 1. Must be greater or equal to
      period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.
  """

  exec_ = _messages.MessageField('GoogleCloudAiplatformV1ProbeExecAction', 1)
  failureThreshold = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  grpc = _messages.MessageField('GoogleCloudAiplatformV1ProbeGrpcAction', 3)
  httpGet = _messages.MessageField('GoogleCloudAiplatformV1ProbeHttpGetAction', 4)
  initialDelaySeconds = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  periodSeconds = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  successThreshold = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  tcpSocket = _messages.MessageField('GoogleCloudAiplatformV1ProbeTcpSocketAction', 8)
  timeoutSeconds = _messages.IntegerField(9, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1ProbeExecAction(_messages.Message):
  r"""ExecAction specifies a command to execute.

  Fields:
    command: Command is the command line to execute inside the container, the
      working directory for the command is root ('/') in the container's
      filesystem. The command is simply exec'd, it is not run inside a shell,
      so traditional shell instructions ('|', etc) won't work. To use a shell,
      you need to explicitly call out to that shell. Exit status of 0 is
      treated as live/healthy and non-zero is unhealthy.
  """

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


class GoogleCloudAiplatformV1ProbeGrpcAction(_messages.Message):
  r"""GrpcAction checks the health of a container using a gRPC service.

  Fields:
    port: Port number of the gRPC service. Number must be in the range 1 to
      65535.
    service: Service is the name of the service to place in the gRPC
      HealthCheckRequest. See
      https://github.com/grpc/grpc/blob/master/doc/health-checking.md. If this
      is not specified, the default behavior is defined by gRPC.
  """

  port = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  service = _messages.StringField(2)


class GoogleCloudAiplatformV1ProbeHttpGetAction(_messages.Message):
  r"""HttpGetAction describes an action based on HTTP Get requests.

  Fields:
    host: Host name to connect to, defaults to the model serving container's
      IP. You probably want to set "Host" in httpHeaders instead.
    httpHeaders: Custom headers to set in the request. HTTP allows repeated
      headers.
    path: Path to access on the HTTP server.
    port: Number of the port to access on the container. Number must be in the
      range 1 to 65535.
    scheme: Scheme to use for connecting to the host. Defaults to HTTP.
      Acceptable values are "HTTP" or "HTTPS".
  """

  host = _messages.StringField(1)
  httpHeaders = _messages.MessageField('GoogleCloudAiplatformV1ProbeHttpHeader', 2, repeated=True)
  path = _messages.StringField(3)
  port = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  scheme = _messages.StringField(5)


class GoogleCloudAiplatformV1ProbeHttpHeader(_messages.Message):
  r"""HttpHeader describes a custom header to be used in HTTP probes

  Fields:
    name: The header field name. This will be canonicalized upon output, so
      case-variant names will be understood as the same header.
    value: The header field value
  """

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


class GoogleCloudAiplatformV1ProbeTcpSocketAction(_messages.Message):
  r"""TcpSocketAction probes the health of a container by opening a TCP socket
  connection.

  Fields:
    host: Optional: Host name to connect to, defaults to the model serving
      container's IP.
    port: Number of the port to access on the container. Number must be in the
      range 1 to 65535.
  """

  host = _messages.StringField(1)
  port = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1PscAutomatedEndpoints(_messages.Message):
  r"""PscAutomatedEndpoints defines the output of the forwarding rule
  automatically created by each PscAutomationConfig.

  Fields:
    matchAddress: Ip Address created by the automated forwarding rule.
    network: Corresponding network in pscAutomationConfigs.
    projectId: Corresponding project_id in pscAutomationConfigs
  """

  matchAddress = _messages.StringField(1)
  network = _messages.StringField(2)
  projectId = _messages.StringField(3)


class GoogleCloudAiplatformV1PscInterfaceConfig(_messages.Message):
  r"""Configuration for PSC-I.

  Fields:
    dnsPeeringConfigs: Optional. DNS peering configurations. When specified,
      Vertex AI will attempt to configure DNS peering zones in the tenant
      project VPC to resolve the specified domains using the target network's
      Cloud DNS. The user must grant the dns.peer role to the Vertex AI
      Service Agent on the target project.
    networkAttachment: Optional. The name of the Compute Engine [network
      attachment](https://cloud.google.com/vpc/docs/about-network-attachments)
      to attach to the resource within the region and user project. To specify
      this field, you must have already [created a network attachment]
      (https://cloud.google.com/vpc/docs/create-manage-network-
      attachments#create-network-attachments). This field is only used for
      resources using PSC-I.
  """

  dnsPeeringConfigs = _messages.MessageField('GoogleCloudAiplatformV1DnsPeeringConfig', 1, repeated=True)
  networkAttachment = _messages.StringField(2)


class GoogleCloudAiplatformV1PublisherModel(_messages.Message):
  r"""A Model Garden Publisher Model.

  Enums:
    LaunchStageValueValuesEnum: Optional. Indicates the launch stage of the
      model.
    OpenSourceCategoryValueValuesEnum: Required. Indicates the open source
      category of the publisher model.
    VersionStateValueValuesEnum: Optional. Indicates the state of the model
      version.

  Fields:
    frameworks: Optional. Additional information about the model's Frameworks.
    launchStage: Optional. Indicates the launch stage of the model.
    name: Output only. Identifier. The resource name of the PublisherModel.
    openSourceCategory: Required. Indicates the open source category of the
      publisher model.
    predictSchemata: Optional. The schemata that describes formats of the
      PublisherModel's predictions and explanations as given and returned via
      PredictionService.Predict.
    publisherModelTemplate: Optional. Output only. Immutable. Used to indicate
      this model has a publisher model and provide the template of the
      publisher model resource name.
    supportedActions: Optional. Supported call-to-action options.
    versionId: Output only. Immutable. The version ID of the PublisherModel. A
      new version is committed when a new model version is uploaded under an
      existing model id. It is an auto-incrementing decimal number in string
      representation.
    versionState: Optional. Indicates the state of the model version.
  """

  class LaunchStageValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates the launch stage of the model.

    Values:
      LAUNCH_STAGE_UNSPECIFIED: The model launch stage is unspecified.
      EXPERIMENTAL: Used to indicate the PublisherModel is at Experimental
        launch stage, available to a small set of customers.
      PRIVATE_PREVIEW: Used to indicate the PublisherModel is at Private
        Preview launch stage, only available to a small set of customers,
        although a larger set of customers than an Experimental launch.
        Previews are the first launch stage used to get feedback from
        customers.
      PUBLIC_PREVIEW: Used to indicate the PublisherModel is at Public Preview
        launch stage, available to all customers, although not supported for
        production workloads.
      GA: Used to indicate the PublisherModel is at GA launch stage, available
        to all customers and ready for production workload.
    """
    LAUNCH_STAGE_UNSPECIFIED = 0
    EXPERIMENTAL = 1
    PRIVATE_PREVIEW = 2
    PUBLIC_PREVIEW = 3
    GA = 4

  class OpenSourceCategoryValueValuesEnum(_messages.Enum):
    r"""Required. Indicates the open source category of the publisher model.

    Values:
      OPEN_SOURCE_CATEGORY_UNSPECIFIED: The open source category is
        unspecified, which should not be used.
      PROPRIETARY: Used to indicate the PublisherModel is not open sourced.
      GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT: Used to indicate the
        PublisherModel is a Google-owned open source model w/ Google
        checkpoint.
      THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT: Used to indicate the
        PublisherModel is a 3p-owned open source model w/ Google checkpoint.
      GOOGLE_OWNED_OSS: Used to indicate the PublisherModel is a Google-owned
        pure open source model.
      THIRD_PARTY_OWNED_OSS: Used to indicate the PublisherModel is a 3p-owned
        pure open source model.
    """
    OPEN_SOURCE_CATEGORY_UNSPECIFIED = 0
    PROPRIETARY = 1
    GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 2
    THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT = 3
    GOOGLE_OWNED_OSS = 4
    THIRD_PARTY_OWNED_OSS = 5

  class VersionStateValueValuesEnum(_messages.Enum):
    r"""Optional. Indicates the state of the model version.

    Values:
      VERSION_STATE_UNSPECIFIED: The version state is unspecified.
      VERSION_STATE_STABLE: Used to indicate the version is stable.
      VERSION_STATE_UNSTABLE: Used to indicate the version is unstable.
    """
    VERSION_STATE_UNSPECIFIED = 0
    VERSION_STATE_STABLE = 1
    VERSION_STATE_UNSTABLE = 2

  frameworks = _messages.StringField(1, repeated=True)
  launchStage = _messages.EnumField('LaunchStageValueValuesEnum', 2)
  name = _messages.StringField(3)
  openSourceCategory = _messages.EnumField('OpenSourceCategoryValueValuesEnum', 4)
  predictSchemata = _messages.MessageField('GoogleCloudAiplatformV1PredictSchemata', 5)
  publisherModelTemplate = _messages.StringField(6)
  supportedActions = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToAction', 7)
  versionId = _messages.StringField(8)
  versionState = _messages.EnumField('VersionStateValueValuesEnum', 9)


class GoogleCloudAiplatformV1PublisherModelCallToAction(_messages.Message):
  r"""Actions could take on this Publisher Model.

  Fields:
    createApplication: Optional. Create application using the PublisherModel.
    deploy: Optional. Deploy the PublisherModel to Vertex Endpoint.
    deployGke: Optional. Deploy PublisherModel to Google Kubernetes Engine.
    openEvaluationPipeline: Optional. Open evaluation pipeline of the
      PublisherModel.
    openFineTuningPipeline: Optional. Open fine-tuning pipeline of the
      PublisherModel.
    openFineTuningPipelines: Optional. Open fine-tuning pipelines of the
      PublisherModel.
    openGenerationAiStudio: Optional. Open in Generation AI Studio.
    openGenie: Optional. Open Genie / Playground.
    openNotebook: Optional. Open notebook of the PublisherModel.
    openNotebooks: Optional. Open notebooks of the PublisherModel.
    openPromptTuningPipeline: Optional. Open prompt-tuning pipeline of the
      PublisherModel.
    requestAccess: Optional. Request for access.
    viewRestApi: Optional. To view Rest API docs.
  """

  createApplication = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 1)
  deploy = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionDeploy', 2)
  deployGke = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke', 3)
  openEvaluationPipeline = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 4)
  openFineTuningPipeline = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 5)
  openFineTuningPipelines = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines', 6)
  openGenerationAiStudio = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 7)
  openGenie = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 8)
  openNotebook = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 9)
  openNotebooks = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks', 10)
  openPromptTuningPipeline = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 11)
  requestAccess = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 12)
  viewRestApi = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi', 13)


class GoogleCloudAiplatformV1PublisherModelCallToActionDeploy(_messages.Message):
  r"""Model metadata that is needed for UploadModel or
  DeployModel/CreateEndpoint requests.

  Fields:
    artifactUri: Optional. The path to the directory containing the Model
      artifact and any of its supporting files.
    automaticResources: A description of resources that to large degree are
      decided by Vertex AI, and require only a modest additional
      configuration.
    containerSpec: Optional. The specification of the container that is to be
      used when deploying this Model in Vertex AI. Not present for Large
      Models.
    dedicatedResources: A description of resources that are dedicated to the
      DeployedModel, and that need a higher degree of manual configuration.
    deployMetadata: Optional. Metadata information about this deployment
      config.
    deployTaskName: Optional. The name of the deploy task (e.g., "text to
      image generation").
    largeModelReference: Optional. Large model reference. When this is set,
      model_artifact_spec is not needed.
    modelDisplayName: Optional. Default model display name.
    publicArtifactUri: Optional. The signed URI for ephemeral Cloud Storage
      access to model artifact.
    sharedResources: The resource name of the shared DeploymentResourcePool to
      deploy on. Format: `projects/{project}/locations/{location}/deploymentRe
      sourcePools/{deployment_resource_pool}`
    title: Required. The title of the regional resource reference.
  """

  artifactUri = _messages.StringField(1)
  automaticResources = _messages.MessageField('GoogleCloudAiplatformV1AutomaticResources', 2)
  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ModelContainerSpec', 3)
  dedicatedResources = _messages.MessageField('GoogleCloudAiplatformV1DedicatedResources', 4)
  deployMetadata = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata', 5)
  deployTaskName = _messages.StringField(6)
  largeModelReference = _messages.MessageField('GoogleCloudAiplatformV1LargeModelReference', 7)
  modelDisplayName = _messages.StringField(8)
  publicArtifactUri = _messages.StringField(9)
  sharedResources = _messages.StringField(10)
  title = _messages.StringField(11)


class GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata(_messages.Message):
  r"""Metadata information about the deployment for managing deployment
  config.

  Messages:
    LabelsValue: Optional. Labels for the deployment config. For managing
      deployment config like verifying, source of deployment config, etc.

  Fields:
    labels: Optional. Labels for the deployment config. For managing
      deployment config like verifying, source of deployment config, etc.
    sampleRequest: Optional. Sample request for deployed endpoint.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. Labels for the deployment config. For managing deployment
    config like verifying, source of deployment config, etc.

    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)

  labels = _messages.MessageField('LabelsValue', 1)
  sampleRequest = _messages.StringField(2)


class GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke(_messages.Message):
  r"""Configurations for PublisherModel GKE deployment

  Fields:
    gkeYamlConfigs: Optional. GKE deployment configuration in yaml format.
  """

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


class GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines(_messages.Message):
  r"""Open fine tuning pipelines.

  Fields:
    fineTuningPipelines: Required. Regional resource references to fine tuning
      pipelines.
  """

  fineTuningPipelines = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 1, repeated=True)


class GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks(_messages.Message):
  r"""Open notebooks.

  Fields:
    notebooks: Required. Regional resource references to notebooks.
  """

  notebooks = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences', 1, repeated=True)


class GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences(_messages.Message):
  r"""The regional resource name or the URI. Key is region, e.g., us-central1,
  europe-west2, global, etc..

  Messages:
    ReferencesValue: Required.

  Fields:
    references: Required.
    resourceDescription: Optional. Description of the resource.
    resourceTitle: Optional. Title of the resource.
    resourceUseCase: Optional. Use case (CUJ) of the resource.
    title: Required.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ReferencesValue(_messages.Message):
    r"""Required.

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

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

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

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

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

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

  references = _messages.MessageField('ReferencesValue', 1)
  resourceDescription = _messages.StringField(2)
  resourceTitle = _messages.StringField(3)
  resourceUseCase = _messages.StringField(4)
  title = _messages.StringField(5)


class GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi(_messages.Message):
  r"""Rest API docs.

  Fields:
    documentations: Required.
    title: Required. The title of the view rest API.
  """

  documentations = _messages.MessageField('GoogleCloudAiplatformV1PublisherModelDocumentation', 1, repeated=True)
  title = _messages.StringField(2)


class GoogleCloudAiplatformV1PublisherModelDocumentation(_messages.Message):
  r"""A named piece of documentation.

  Fields:
    content: Required. Content of this piece of document (in Markdown format).
    title: Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES,
      JAVA, NODE.JS, etc..
  """

  content = _messages.StringField(1)
  title = _messages.StringField(2)


class GoogleCloudAiplatformV1PublisherModelResourceReference(_messages.Message):
  r"""Reference to a resource.

  Fields:
    description: Description of the resource.
    resourceName: The resource name of the Google Cloud resource.
    uri: The URI of the resource.
    useCase: Use case (CUJ) of the resource.
  """

  description = _messages.StringField(1)
  resourceName = _messages.StringField(2)
  uri = _messages.StringField(3)
  useCase = _messages.StringField(4)


class GoogleCloudAiplatformV1PurgeArtifactsMetadata(_messages.Message):
  r"""Details of operations that perform MetadataService.PurgeArtifacts.

  Fields:
    genericMetadata: Operation metadata for purging Artifacts.
  """

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


class GoogleCloudAiplatformV1PurgeArtifactsRequest(_messages.Message):
  r"""Request message for MetadataService.PurgeArtifacts.

  Fields:
    filter: Required. A required filter matching the Artifacts to be purged.
      E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
    force: Optional. Flag to indicate to actually perform the purge. If
      `force` is set to false, the method will return a sample of Artifact
      names that would be deleted.
  """

  filter = _messages.StringField(1)
  force = _messages.BooleanField(2)


class GoogleCloudAiplatformV1PurgeArtifactsResponse(_messages.Message):
  r"""Response message for MetadataService.PurgeArtifacts.

  Fields:
    purgeCount: The number of Artifacts that this request deleted (or, if
      `force` is false, the number of Artifacts that will be deleted). This
      can be an estimate.
    purgeSample: A sample of the Artifact names that will be deleted. Only
      populated if `force` is set to false. The maximum number of samples is
      100 (it is possible to return fewer).
  """

  purgeCount = _messages.IntegerField(1)
  purgeSample = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1PurgeContextsMetadata(_messages.Message):
  r"""Details of operations that perform MetadataService.PurgeContexts.

  Fields:
    genericMetadata: Operation metadata for purging Contexts.
  """

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


class GoogleCloudAiplatformV1PurgeContextsRequest(_messages.Message):
  r"""Request message for MetadataService.PurgeContexts.

  Fields:
    filter: Required. A required filter matching the Contexts to be purged.
      E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
    force: Optional. Flag to indicate to actually perform the purge. If
      `force` is set to false, the method will return a sample of Context
      names that would be deleted.
  """

  filter = _messages.StringField(1)
  force = _messages.BooleanField(2)


class GoogleCloudAiplatformV1PurgeContextsResponse(_messages.Message):
  r"""Response message for MetadataService.PurgeContexts.

  Fields:
    purgeCount: The number of Contexts that this request deleted (or, if
      `force` is false, the number of Contexts that will be deleted). This can
      be an estimate.
    purgeSample: A sample of the Context names that will be deleted. Only
      populated if `force` is set to false. The maximum number of samples is
      100 (it is possible to return fewer).
  """

  purgeCount = _messages.IntegerField(1)
  purgeSample = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1PurgeExecutionsMetadata(_messages.Message):
  r"""Details of operations that perform MetadataService.PurgeExecutions.

  Fields:
    genericMetadata: Operation metadata for purging Executions.
  """

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


class GoogleCloudAiplatformV1PurgeExecutionsRequest(_messages.Message):
  r"""Request message for MetadataService.PurgeExecutions.

  Fields:
    filter: Required. A required filter matching the Executions to be purged.
      E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
    force: Optional. Flag to indicate to actually perform the purge. If
      `force` is set to false, the method will return a sample of Execution
      names that would be deleted.
  """

  filter = _messages.StringField(1)
  force = _messages.BooleanField(2)


class GoogleCloudAiplatformV1PurgeExecutionsResponse(_messages.Message):
  r"""Response message for MetadataService.PurgeExecutions.

  Fields:
    purgeCount: The number of Executions that this request deleted (or, if
      `force` is false, the number of Executions that will be deleted). This
      can be an estimate.
    purgeSample: A sample of the Execution names that will be deleted. Only
      populated if `force` is set to false. The maximum number of samples is
      100 (it is possible to return fewer).
  """

  purgeCount = _messages.IntegerField(1)
  purgeSample = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1PythonPackageSpec(_messages.Message):
  r"""The spec of a Python packaged code.

  Fields:
    args: Command line arguments to be passed to the Python task.
    env: Environment variables to be passed to the python module. Maximum
      limit is 100.
    executorImageUri: Required. The URI of a container image in Artifact
      Registry that will run the provided Python package. Vertex AI provides a
      wide range of executor images with pre-installed packages to meet users'
      various use cases. See the list of [pre-built containers for
      training](https://cloud.google.com/vertex-ai/docs/training/pre-built-
      containers). You must use an image from this list.
    packageUris: Required. The Google Cloud Storage location of the Python
      package files which are the training program and its dependent packages.
      The maximum number of package URIs is 100.
    pythonModule: Required. The Python module name to run after installing the
      packages.
  """

  args = _messages.StringField(1, repeated=True)
  env = _messages.MessageField('GoogleCloudAiplatformV1EnvVar', 2, repeated=True)
  executorImageUri = _messages.StringField(3)
  packageUris = _messages.StringField(4, repeated=True)
  pythonModule = _messages.StringField(5)


class GoogleCloudAiplatformV1QueryDeployedModelsResponse(_messages.Message):
  r"""Response message for QueryDeployedModels method.

  Fields:
    deployedModelRefs: References to the DeployedModels that share the
      specified deploymentResourcePool.
    deployedModels: DEPRECATED Use deployed_model_refs instead.
    nextPageToken: A token, which can be sent as `page_token` to retrieve the
      next page. If this field is omitted, there are no subsequent pages.
    totalDeployedModelCount: The total number of DeployedModels on this
      DeploymentResourcePool.
    totalEndpointCount: The total number of Endpoints that have DeployedModels
      on this DeploymentResourcePool.
  """

  deployedModelRefs = _messages.MessageField('GoogleCloudAiplatformV1DeployedModelRef', 1, repeated=True)
  deployedModels = _messages.MessageField('GoogleCloudAiplatformV1DeployedModel', 2, repeated=True)
  nextPageToken = _messages.StringField(3)
  totalDeployedModelCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  totalEndpointCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1QueryReasoningEngineRequest(_messages.Message):
  r"""Request message for ReasoningEngineExecutionService.Query.

  Messages:
    InputValue: Optional. Input content provided by users in JSON object
      format. Examples include text query, function calling parameters, media
      bytes, etc.

  Fields:
    classMethod: Optional. Class method to be used for the query. It is
      optional and defaults to "query" if unspecified.
    input: Optional. Input content provided by users in JSON object format.
      Examples include text query, function calling parameters, media bytes,
      etc.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputValue(_messages.Message):
    r"""Optional. Input content provided by users in JSON object format.
    Examples include text query, function calling parameters, media bytes,
    etc.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a InputValue 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)

  classMethod = _messages.StringField(1)
  input = _messages.MessageField('InputValue', 2)


class GoogleCloudAiplatformV1QueryReasoningEngineResponse(_messages.Message):
  r"""Response message for ReasoningEngineExecutionService.Query

  Fields:
    output: Response provided by users in JSON object format.
  """

  output = _messages.MessageField('extra_types.JsonValue', 1)


class GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput(_messages.Message):
  r"""Input for question answering correctness metric.

  Fields:
    instance: Required. Question answering correctness instance.
    metricSpec: Required. Spec for question answering correctness score
      metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec', 2)


class GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance(_messages.Message):
  r"""Spec for question answering correctness instance.

  Fields:
    context: Optional. Text provided as context to answer the question.
    instruction: Required. The question asked and other instruction in the
      inference prompt.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult(_messages.Message):
  r"""Spec for question answering correctness result.

  Fields:
    confidence: Output only. Confidence for question answering correctness
      score.
    explanation: Output only. Explanation for question answering correctness
      score.
    score: Output only. Question Answering Correctness score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec(_messages.Message):
  r"""Spec for question answering correctness metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      question answering correctness.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput(_messages.Message):
  r"""Input for question answering helpfulness metric.

  Fields:
    instance: Required. Question answering helpfulness instance.
    metricSpec: Required. Spec for question answering helpfulness score
      metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec', 2)


class GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance(_messages.Message):
  r"""Spec for question answering helpfulness instance.

  Fields:
    context: Optional. Text provided as context to answer the question.
    instruction: Required. The question asked and other instruction in the
      inference prompt.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult(_messages.Message):
  r"""Spec for question answering helpfulness result.

  Fields:
    confidence: Output only. Confidence for question answering helpfulness
      score.
    explanation: Output only. Explanation for question answering helpfulness
      score.
    score: Output only. Question Answering Helpfulness score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec(_messages.Message):
  r"""Spec for question answering helpfulness metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      question answering helpfulness.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1QuestionAnsweringQualityInput(_messages.Message):
  r"""Input for question answering quality metric.

  Fields:
    instance: Required. Question answering quality instance.
    metricSpec: Required. Spec for question answering quality score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringQualityInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringQualitySpec', 2)


class GoogleCloudAiplatformV1QuestionAnsweringQualityInstance(_messages.Message):
  r"""Spec for question answering quality instance.

  Fields:
    context: Required. Text to answer the question.
    instruction: Required. Question Answering prompt for LLM.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1QuestionAnsweringQualityResult(_messages.Message):
  r"""Spec for question answering quality result.

  Fields:
    confidence: Output only. Confidence for question answering quality score.
    explanation: Output only. Explanation for question answering quality
      score.
    score: Output only. Question Answering Quality score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1QuestionAnsweringQualitySpec(_messages.Message):
  r"""Spec for question answering quality score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      question answering quality.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput(_messages.Message):
  r"""Input for question answering relevance metric.

  Fields:
    instance: Required. Question answering relevance instance.
    metricSpec: Required. Spec for question answering relevance score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec', 2)


class GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance(_messages.Message):
  r"""Spec for question answering relevance instance.

  Fields:
    context: Optional. Text provided as context to answer the question.
    instruction: Required. The question asked and other instruction in the
      inference prompt.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult(_messages.Message):
  r"""Spec for question answering relevance result.

  Fields:
    confidence: Output only. Confidence for question answering relevance
      score.
    explanation: Output only. Explanation for question answering relevance
      score.
    score: Output only. Question Answering Relevance score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec(_messages.Message):
  r"""Spec for question answering relevance metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      question answering relevance.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1RagChunk(_messages.Message):
  r"""A RagChunk includes the content of a chunk of a RagFile, and associated
  metadata.

  Fields:
    pageSpan: If populated, represents where the chunk starts and ends in the
      document.
    text: The content of the chunk.
  """

  pageSpan = _messages.MessageField('GoogleCloudAiplatformV1RagChunkPageSpan', 1)
  text = _messages.StringField(2)


class GoogleCloudAiplatformV1RagChunkPageSpan(_messages.Message):
  r"""Represents where the chunk starts and ends in the document.

  Fields:
    firstPage: Page where chunk starts in the document. Inclusive. 1-indexed.
    lastPage: Page where chunk ends in the document. Inclusive. 1-indexed.
  """

  firstPage = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  lastPage = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1RagContexts(_messages.Message):
  r"""Relevant contexts for one query.

  Fields:
    contexts: All its contexts.
  """

  contexts = _messages.MessageField('GoogleCloudAiplatformV1RagContextsContext', 1, repeated=True)


class GoogleCloudAiplatformV1RagContextsContext(_messages.Message):
  r"""A context of the query.

  Fields:
    chunk: Context of the retrieved chunk.
    score: According to the underlying Vector DB and the selected metric type,
      the score can be either the distance or the similarity between the query
      and the context and its range depends on the metric type. For example,
      if the metric type is COSINE_DISTANCE, it represents the distance
      between the query and the context. The larger the distance, the less
      relevant the context is to the query. The range is [0, 2], while 0 means
      the most relevant and 2 means the least relevant.
    sourceDisplayName: The file display name.
    sourceUri: If the file is imported from Cloud Storage or Google Drive,
      source_uri will be original file URI in Cloud Storage or Google Drive;
      if file is uploaded, source_uri will be file display name.
    text: The text chunk.
  """

  chunk = _messages.MessageField('GoogleCloudAiplatformV1RagChunk', 1)
  score = _messages.FloatField(2)
  sourceDisplayName = _messages.StringField(3)
  sourceUri = _messages.StringField(4)
  text = _messages.StringField(5)


class GoogleCloudAiplatformV1RagCorpus(_messages.Message):
  r"""A RagCorpus is a RagFile container and a project can have multiple
  RagCorpora.

  Fields:
    corpusStatus: Output only. RagCorpus state.
    createTime: Output only. Timestamp when this RagCorpus was created.
    description: Optional. The description of the RagCorpus.
    displayName: Required. The display name of the RagCorpus. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec: Optional. Immutable. The CMEK key name used to encrypt at-
      rest data related to this Corpus. Only applicable to RagManagedDb option
      for Vector DB. This field can only be set at corpus creation time, and
      cannot be updated or deleted.
    name: Output only. The resource name of the RagCorpus.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this RagCorpus was last updated.
    vectorDbConfig: Optional. Immutable. The config for the Vector DBs.
    vertexAiSearchConfig: Optional. Immutable. The config for the Vertex AI
      Search.
  """

  corpusStatus = _messages.MessageField('GoogleCloudAiplatformV1CorpusStatus', 1)
  createTime = _messages.StringField(2)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  name = _messages.StringField(6)
  satisfiesPzi = _messages.BooleanField(7)
  satisfiesPzs = _messages.BooleanField(8)
  updateTime = _messages.StringField(9)
  vectorDbConfig = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfig', 10)
  vertexAiSearchConfig = _messages.MessageField('GoogleCloudAiplatformV1VertexAiSearchConfig', 11)


class GoogleCloudAiplatformV1RagEmbeddingModelConfig(_messages.Message):
  r"""Config for the embedding model to use for RAG.

  Fields:
    vertexPredictionEndpoint: The Vertex AI Prediction Endpoint that either
      refers to a publisher model or an endpoint that is hosting a 1P fine-
      tuned text embedding model. Endpoints hosting non-1P fine-tuned text
      embedding models are currently not supported. This is used for dense
      vector search.
  """

  vertexPredictionEndpoint = _messages.MessageField('GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint', 1)


class GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint(_messages.Message):
  r"""Config representing a model hosted on Vertex Prediction Endpoint.

  Fields:
    endpoint: Required. The endpoint resource name. Format: `projects/{project
      }/locations/{location}/publishers/{publisher}/models/{model}` or
      `projects/{project}/locations/{location}/endpoints/{endpoint}`
    model: Output only. The resource name of the model that is deployed on the
      endpoint. Present only when the endpoint is not a publisher model.
      Pattern: `projects/{project}/locations/{location}/models/{model}`
    modelVersionId: Output only. Version ID of the model that is deployed on
      the endpoint. Present only when the endpoint is not a publisher model.
  """

  endpoint = _messages.StringField(1)
  model = _messages.StringField(2)
  modelVersionId = _messages.StringField(3)


class GoogleCloudAiplatformV1RagEngineConfig(_messages.Message):
  r"""Config for RagEngine.

  Fields:
    name: Identifier. The name of the RagEngineConfig. Format:
      `projects/{project}/locations/{location}/ragEngineConfig`
    ragManagedDbConfig: The config of the RagManagedDb used by RagEngine.
  """

  name = _messages.StringField(1)
  ragManagedDbConfig = _messages.MessageField('GoogleCloudAiplatformV1RagManagedDbConfig', 2)


class GoogleCloudAiplatformV1RagFile(_messages.Message):
  r"""A RagFile contains user data for chunking, embedding and indexing.

  Fields:
    createTime: Output only. Timestamp when this RagFile was created.
    description: Optional. The description of the RagFile.
    directUploadSource: Output only. The RagFile is encapsulated and uploaded
      in the UploadRagFile request.
    displayName: Required. The display name of the RagFile. The name can be up
      to 128 characters long and can consist of any UTF-8 characters.
    fileStatus: Output only. State of the RagFile.
    gcsSource: Output only. Google Cloud Storage location of the RagFile. It
      does not support wildcards in the Cloud Storage uri for now.
    googleDriveSource: Output only. Google Drive location. Supports importing
      individual files as well as Google Drive folders.
    jiraSource: The RagFile is imported from a Jira query.
    name: Output only. The resource name of the RagFile.
    sharePointSources: The RagFile is imported from a SharePoint source.
    slackSource: The RagFile is imported from a Slack channel.
    updateTime: Output only. Timestamp when this RagFile was last updated.
    userMetadata: Output only. The metadata for metadata search. The
      user_metadata Needs to be in JSON format.
  """

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  directUploadSource = _messages.MessageField('GoogleCloudAiplatformV1DirectUploadSource', 3)
  displayName = _messages.StringField(4)
  fileStatus = _messages.MessageField('GoogleCloudAiplatformV1FileStatus', 5)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1GcsSource', 6)
  googleDriveSource = _messages.MessageField('GoogleCloudAiplatformV1GoogleDriveSource', 7)
  jiraSource = _messages.MessageField('GoogleCloudAiplatformV1JiraSource', 8)
  name = _messages.StringField(9)
  sharePointSources = _messages.MessageField('GoogleCloudAiplatformV1SharePointSources', 10)
  slackSource = _messages.MessageField('GoogleCloudAiplatformV1SlackSource', 11)
  updateTime = _messages.StringField(12)
  userMetadata = _messages.StringField(13)


class GoogleCloudAiplatformV1RagFileChunkingConfig(_messages.Message):
  r"""Specifies the size and overlap of chunks for RagFiles.

  Fields:
    fixedLengthChunking: Specifies the fixed length chunking config.
  """

  fixedLengthChunking = _messages.MessageField('GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking', 1)


class GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking(_messages.Message):
  r"""Specifies the fixed length chunking config.

  Fields:
    chunkOverlap: The overlap between chunks.
    chunkSize: The size of the chunks.
  """

  chunkOverlap = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  chunkSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1RagFileParsingConfig(_messages.Message):
  r"""Specifies the parsing config for RagFiles.

  Fields:
    layoutParser: The Layout Parser to use for RagFiles.
    llmParser: The LLM Parser to use for RagFiles.
  """

  layoutParser = _messages.MessageField('GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser', 1)
  llmParser = _messages.MessageField('GoogleCloudAiplatformV1RagFileParsingConfigLlmParser', 2)


class GoogleCloudAiplatformV1RagFileParsingConfigLayoutParser(_messages.Message):
  r"""Document AI Layout Parser config.

  Fields:
    maxParsingRequestsPerMin: The maximum number of requests the job is
      allowed to make to the Document AI processor per minute. Consult
      https://cloud.google.com/document-ai/quotas and the Quota page for your
      project to set an appropriate value here. If unspecified, a default
      value of 120 QPM would be used.
    processorName: The full resource name of a Document AI processor or
      processor version. The processor must have type
      `LAYOUT_PARSER_PROCESSOR`. If specified, the
      `additional_config.parse_as_scanned_pdf` field must be false. Format: *
      `projects/{project_id}/locations/{location}/processors/{processor_id}` *
      `projects/{project_id}/locations/{location}/processors/{processor_id}/pr
      ocessorVersions/{processor_version_id}`
  """

  maxParsingRequestsPerMin = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  processorName = _messages.StringField(2)


class GoogleCloudAiplatformV1RagFileParsingConfigLlmParser(_messages.Message):
  r"""Specifies the LLM parsing for RagFiles.

  Fields:
    customParsingPrompt: The prompt to use for parsing. If not specified, a
      default prompt will be used.
    maxParsingRequestsPerMin: The maximum number of requests the job is
      allowed to make to the LLM model per minute. Consult
      https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your
      document size to set an appropriate value here. If unspecified, a
      default value of 5000 QPM would be used.
    modelName: The name of a LLM model used for parsing. Format: * `projects/{
      project_id}/locations/{location}/publishers/{publisher}/models/{model}`
  """

  customParsingPrompt = _messages.StringField(1)
  maxParsingRequestsPerMin = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  modelName = _messages.StringField(3)


class GoogleCloudAiplatformV1RagFileTransformationConfig(_messages.Message):
  r"""Specifies the transformation config for RagFiles.

  Fields:
    ragFileChunkingConfig: Specifies the chunking config for RagFiles.
  """

  ragFileChunkingConfig = _messages.MessageField('GoogleCloudAiplatformV1RagFileChunkingConfig', 1)


class GoogleCloudAiplatformV1RagManagedDbConfig(_messages.Message):
  r"""Configuration message for RagManagedDb used by RagEngine.

  Fields:
    basic: Deprecated: Use `mode` instead to set the tier under Spanner. Sets
      the RagManagedDb to the Basic tier.
    scaled: Deprecated: Use `mode` instead to set the tier under Spanner. Sets
      the RagManagedDb to the Scaled tier.
    unprovisioned: Deprecated: Use `mode` instead to set the tier under
      Spanner. Sets the RagManagedDb to the Unprovisioned tier.
  """

  basic = _messages.MessageField('GoogleCloudAiplatformV1RagManagedDbConfigBasic', 1)
  scaled = _messages.MessageField('GoogleCloudAiplatformV1RagManagedDbConfigScaled', 2)
  unprovisioned = _messages.MessageField('GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned', 3)


class GoogleCloudAiplatformV1RagManagedDbConfigBasic(_messages.Message):
  r"""Basic tier is a cost-effective and low compute tier suitable for the
  following cases: * Experimenting with RagManagedDb. * Small data size. *
  Latency insensitive workload. * Only using RAG Engine with external vector
  DBs. NOTE: This is the default tier under Spanner mode if not explicitly
  chosen.
  """



class GoogleCloudAiplatformV1RagManagedDbConfigScaled(_messages.Message):
  r"""Scaled tier offers production grade performance along with autoscaling
  functionality. It is suitable for customers with large amounts of data or
  performance sensitive workloads.
  """



class GoogleCloudAiplatformV1RagManagedDbConfigUnprovisioned(_messages.Message):
  r"""Disables the RAG Engine service and deletes all your data held within
  this service. This will halt the billing of the service. NOTE: Once deleted
  the data cannot be recovered. To start using RAG Engine again, you will need
  to update the tier by calling the UpdateRagEngineConfig API.
  """



class GoogleCloudAiplatformV1RagQuery(_messages.Message):
  r"""A query to retrieve relevant contexts.

  Fields:
    ragRetrievalConfig: Optional. The retrieval config for the query.
    text: Optional. The query in text format to get relevant contexts.
  """

  ragRetrievalConfig = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfig', 1)
  text = _messages.StringField(2)


class GoogleCloudAiplatformV1RagRetrievalConfig(_messages.Message):
  r"""Specifies the context retrieval config.

  Fields:
    filter: Optional. Config for filters.
    ranking: Optional. Config for ranking and reranking.
    topK: Optional. The number of contexts to retrieve.
  """

  filter = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfigFilter', 1)
  ranking = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfigRanking', 2)
  topK = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1RagRetrievalConfigFilter(_messages.Message):
  r"""Config for filters.

  Fields:
    metadataFilter: Optional. String for metadata filtering.
    vectorDistanceThreshold: Optional. Only returns contexts with vector
      distance smaller than the threshold.
    vectorSimilarityThreshold: Optional. Only returns contexts with vector
      similarity larger than the threshold.
  """

  metadataFilter = _messages.StringField(1)
  vectorDistanceThreshold = _messages.FloatField(2)
  vectorSimilarityThreshold = _messages.FloatField(3)


class GoogleCloudAiplatformV1RagRetrievalConfigRanking(_messages.Message):
  r"""Config for ranking and reranking.

  Fields:
    llmRanker: Optional. Config for LlmRanker.
    rankService: Optional. Config for Rank Service.
  """

  llmRanker = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker', 1)
  rankService = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService', 2)


class GoogleCloudAiplatformV1RagRetrievalConfigRankingLlmRanker(_messages.Message):
  r"""Config for LlmRanker.

  Fields:
    modelName: Optional. The model name used for ranking. See [Supported
      models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-
      reference/inference#supported-models).
  """

  modelName = _messages.StringField(1)


class GoogleCloudAiplatformV1RagRetrievalConfigRankingRankService(_messages.Message):
  r"""Config for Rank Service.

  Fields:
    modelName: Optional. The model name of the rank service. Format:
      `semantic-ranker-512@latest`
  """

  modelName = _messages.StringField(1)


class GoogleCloudAiplatformV1RagVectorDbConfig(_messages.Message):
  r"""Config for the Vector DB to use for RAG.

  Fields:
    apiAuth: Authentication config for the chosen Vector DB.
    pinecone: The config for the Pinecone.
    ragEmbeddingModelConfig: Optional. Immutable. The embedding model config
      of the Vector DB.
    ragManagedDb: The config for the RAG-managed Vector DB.
    vertexVectorSearch: The config for the Vertex Vector Search.
  """

  apiAuth = _messages.MessageField('GoogleCloudAiplatformV1ApiAuth', 1)
  pinecone = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfigPinecone', 2)
  ragEmbeddingModelConfig = _messages.MessageField('GoogleCloudAiplatformV1RagEmbeddingModelConfig', 3)
  ragManagedDb = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb', 4)
  vertexVectorSearch = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch', 5)


class GoogleCloudAiplatformV1RagVectorDbConfigPinecone(_messages.Message):
  r"""The config for the Pinecone.

  Fields:
    indexName: Pinecone index name. This value cannot be changed after it's
      set.
  """

  indexName = _messages.StringField(1)


class GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb(_messages.Message):
  r"""The config for the default RAG-managed Vector DB.

  Fields:
    ann: Performs an ANN search on RagCorpus. Use this if you have a lot of
      files (> 10K) in your RagCorpus and want to reduce the search latency.
    knn: Performs a KNN search on RagCorpus. Default choice if not specified.
  """

  ann = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN', 1)
  knn = _messages.MessageField('GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN', 2)


class GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbANN(_messages.Message):
  r"""Config for ANN search. RagManagedDb uses a tree-based structure to
  partition data and facilitate faster searches. As a tradeoff, it requires
  longer indexing time and manual triggering of index rebuild via the
  ImportRagFiles and UpdateRagCorpus API.

  Fields:
    leafCount: Number of leaf nodes in the tree-based structure. Each leaf
      node contains groups of closely related vectors along with their
      corresponding centroid. Recommended value is 10 * sqrt(num of RagFiles
      in your RagCorpus). Default value is 500.
    treeDepth: The depth of the tree-based structure. Only depth values of 2
      and 3 are supported. Recommended value is 2 if you have if you have
      O(10K) files in the RagCorpus and set this to 3 if more than that.
      Default value is 2.
  """

  leafCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  treeDepth = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDbKNN(_messages.Message):
  r"""Config for KNN search."""


class GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch(_messages.Message):
  r"""The config for the Vertex Vector Search.

  Fields:
    index: The resource name of the Index. Format:
      `projects/{project}/locations/{location}/indexes/{index}`
    indexEndpoint: The resource name of the Index Endpoint. Format:
      `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
      `
  """

  index = _messages.StringField(1)
  indexEndpoint = _messages.StringField(2)


class GoogleCloudAiplatformV1RawOutput(_messages.Message):
  r"""Raw output.

  Fields:
    rawOutput: Output only. Raw output string.
  """

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


class GoogleCloudAiplatformV1RawPredictRequest(_messages.Message):
  r"""Request message for PredictionService.RawPredict.

  Fields:
    httpBody: The prediction input. Supports HTTP headers and arbitrary data
      payload. A DeployedModel may have an upper limit on the number of
      instances it supports per request. When this limit it is exceeded for an
      AutoML model, the RawPredict method returns an error. When this limit is
      exceeded for a custom-trained model, the behavior varies depending on
      the model. You can specify the schema for each instance in the
      predict_schemata.instance_schema_uri field when you create a Model. This
      schema applies when you deploy the `Model` as a `DeployedModel` to an
      Endpoint and use the `RawPredict` method.
  """

  httpBody = _messages.MessageField('GoogleApiHttpBody', 1)


class GoogleCloudAiplatformV1RayLogsSpec(_messages.Message):
  r"""Configuration for the Ray OSS Logs.

  Fields:
    disabled: Optional. Flag to disable the export of Ray OSS logs to Cloud
      Logging.
  """

  disabled = _messages.BooleanField(1)


class GoogleCloudAiplatformV1RayMetricSpec(_messages.Message):
  r"""Configuration for the Ray metrics.

  Fields:
    disabled: Optional. Flag to disable the Ray metrics collection.
  """

  disabled = _messages.BooleanField(1)


class GoogleCloudAiplatformV1RaySpec(_messages.Message):
  r"""Configuration information for the Ray cluster. For experimental launch,
  Ray cluster creation and Persistent cluster creation are 1:1 mapping: We
  will provision all the nodes within the Persistent cluster as Ray nodes.

  Messages:
    ResourcePoolImagesValue: Optional. Required if image_uri isn't set. A map
      of resource_pool_id to prebuild Ray image if user need to use different
      images for different head/worker pools. This map needs to cover all the
      resource pool ids. Example: { "ray_head_node_pool": "head image"
      "ray_worker_node_pool1": "worker image" "ray_worker_node_pool2":
      "another worker image" }

  Fields:
    headNodeResourcePoolId: Optional. This will be used to indicate which
      resource pool will serve as the Ray head node(the first node within that
      pool). Will use the machine from the first workerpool as the head node
      by default if this field isn't set.
    imageUri: Optional. Default image for user to choose a preferred ML
      framework (for example, TensorFlow or Pytorch) by choosing from [Vertex
      prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-
      built-containers). Either this or the resource_pool_images is required.
      Use this field if you need all the resource pools to have the same Ray
      image. Otherwise, use the {@code resource_pool_images} field.
    rayLogsSpec: Optional. OSS Ray logging configurations.
    rayMetricSpec: Optional. Ray metrics configurations.
    resourcePoolImages: Optional. Required if image_uri isn't set. A map of
      resource_pool_id to prebuild Ray image if user need to use different
      images for different head/worker pools. This map needs to cover all the
      resource pool ids. Example: { "ray_head_node_pool": "head image"
      "ray_worker_node_pool1": "worker image" "ray_worker_node_pool2":
      "another worker image" }
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResourcePoolImagesValue(_messages.Message):
    r"""Optional. Required if image_uri isn't set. A map of resource_pool_id
    to prebuild Ray image if user need to use different images for different
    head/worker pools. This map needs to cover all the resource pool ids.
    Example: { "ray_head_node_pool": "head image" "ray_worker_node_pool1":
    "worker image" "ray_worker_node_pool2": "another worker image" }

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResourcePoolImagesValue 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)

  headNodeResourcePoolId = _messages.StringField(1)
  imageUri = _messages.StringField(2)
  rayLogsSpec = _messages.MessageField('GoogleCloudAiplatformV1RayLogsSpec', 3)
  rayMetricSpec = _messages.MessageField('GoogleCloudAiplatformV1RayMetricSpec', 4)
  resourcePoolImages = _messages.MessageField('ResourcePoolImagesValue', 5)


class GoogleCloudAiplatformV1ReadFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreOnlineServingService.ReadFeatureValues.

  Fields:
    entityId: Required. ID for a specific entity. For example, for a machine
      learning model predicting user clicks on a website, an entity ID could
      be `user_123`.
    featureSelector: Required. Selector choosing Features of the target
      EntityType.
  """

  entityId = _messages.StringField(1)
  featureSelector = _messages.MessageField('GoogleCloudAiplatformV1FeatureSelector', 2)


class GoogleCloudAiplatformV1ReadFeatureValuesResponse(_messages.Message):
  r"""Response message for FeaturestoreOnlineServingService.ReadFeatureValues.

  Fields:
    entityView: Entity view with Feature values. This may be the entity in the
      Featurestore if values for all Features were requested, or a projection
      of the entity in the Featurestore if values for only some Features were
      requested.
    header: Response header.
  """

  entityView = _messages.MessageField('GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView', 1)
  header = _messages.MessageField('GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader', 2)


class GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView(_messages.Message):
  r"""Entity view with Feature values.

  Fields:
    data: Each piece of data holds the k requested values for one requested
      Feature. If no values for the requested Feature exist, the corresponding
      cell will be empty. This has the same size and is in the same order as
      the features from the header ReadFeatureValuesResponse.header.
    entityId: ID of the requested entity.
  """

  data = _messages.MessageField('GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData', 1, repeated=True)
  entityId = _messages.StringField(2)


class GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData(_messages.Message):
  r"""Container to hold value(s), successive in time, for one Feature from the
  request.

  Fields:
    value: Feature value if a single value is requested.
    values: Feature values list if values, successive in time, are requested.
      If the requested number of values is greater than the number of existing
      Feature values, nonexistent values are omitted instead of being returned
      as empty.
  """

  value = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 1)
  values = _messages.MessageField('GoogleCloudAiplatformV1FeatureValueList', 2)


class GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor(_messages.Message):
  r"""Metadata for requested Features.

  Fields:
    id: Feature ID.
  """

  id = _messages.StringField(1)


class GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader(_messages.Message):
  r"""Response header with metadata for the requested
  ReadFeatureValuesRequest.entity_type and Features.

  Fields:
    entityType: The resource name of the EntityType from the
      ReadFeatureValuesRequest. Value format: `projects/{project}/locations/{l
      ocation}/featurestores/{featurestore}/entityTypes/{entityType}`.
    featureDescriptors: List of Feature metadata corresponding to each piece
      of ReadFeatureValuesResponse.EntityView.data.
  """

  entityType = _messages.StringField(1)
  featureDescriptors = _messages.MessageField('GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor', 2, repeated=True)


class GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse(_messages.Message):
  r"""Response message for TensorboardService.ReadTensorboardBlobData.

  Fields:
    blobs: Blob messages containing blob bytes.
  """

  blobs = _messages.MessageField('GoogleCloudAiplatformV1TensorboardBlob', 1, repeated=True)


class GoogleCloudAiplatformV1ReadTensorboardSizeResponse(_messages.Message):
  r"""Response message for TensorboardService.ReadTensorboardSize.

  Fields:
    storageSizeByte: Payload storage size for the TensorBoard
  """

  storageSizeByte = _messages.IntegerField(1)


class GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse(_messages.Message):
  r"""Response message for TensorboardService.ReadTensorboardTimeSeriesData.

  Fields:
    timeSeriesData: The returned time series data.
  """

  timeSeriesData = _messages.MessageField('GoogleCloudAiplatformV1TimeSeriesData', 1)


class GoogleCloudAiplatformV1ReadTensorboardUsageResponse(_messages.Message):
  r"""Response message for TensorboardService.ReadTensorboardUsage.

  Messages:
    MonthlyUsageDataValue: Maps year-month (YYYYMM) string to per month usage
      data.

  Fields:
    monthlyUsageData: Maps year-month (YYYYMM) string to per month usage data.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MonthlyUsageDataValue(_messages.Message):
    r"""Maps year-month (YYYYMM) string to per month usage data.

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

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

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

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

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

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

  monthlyUsageData = _messages.MessageField('MonthlyUsageDataValue', 1)


class GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData(_messages.Message):
  r"""Per month usage data

  Fields:
    userUsageData: Usage data for each user in the given month.
  """

  userUsageData = _messages.MessageField('GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData', 1, repeated=True)


class GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData(_messages.Message):
  r"""Per user usage data.

  Fields:
    username: User's username
    viewCount: Number of times the user has read data within the Tensorboard.
  """

  username = _messages.StringField(1)
  viewCount = _messages.IntegerField(2)


class GoogleCloudAiplatformV1ReasoningEngine(_messages.Message):
  r"""ReasoningEngine provides a customizable runtime for models to determine
  which actions to take and in which order.

  Messages:
    LabelsValue: Labels for the ReasoningEngine.

  Fields:
    createTime: Output only. Timestamp when this ReasoningEngine was created.
    description: Optional. The description of the ReasoningEngine.
    displayName: Required. The display name of the ReasoningEngine.
    encryptionSpec: Customer-managed encryption key spec for a
      ReasoningEngine. If set, this ReasoningEngine and all sub-resources of
      this ReasoningEngine will be secured by this key.
    etag: Optional. Used to perform consistent read-modify-write updates. If
      not set, a blind "overwrite" update happens.
    labels: Labels for the ReasoningEngine.
    name: Identifier. The resource name of the ReasoningEngine. Format: `proje
      cts/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`
    spec: Optional. Configurations of the ReasoningEngine
    updateTime: Output only. Timestamp when this ReasoningEngine was most
      recently updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Labels for the ReasoningEngine.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  etag = _messages.StringField(5)
  labels = _messages.MessageField('LabelsValue', 6)
  name = _messages.StringField(7)
  spec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpec', 8)
  updateTime = _messages.StringField(9)


class GoogleCloudAiplatformV1ReasoningEngineSpec(_messages.Message):
  r"""ReasoningEngine configurations

  Enums:
    IdentityTypeValueValuesEnum: Optional. The identity type to use for the
      Reasoning Engine. If not specified, the `service_account` field will be
      used if set, otherwise the default Vertex AI Reasoning Engine Service
      Agent in the project will be used.

  Messages:
    ClassMethodsValueListEntry: A ClassMethodsValueListEntry object.

  Fields:
    agentFramework: Optional. The OSS agent framework used to develop the
      agent. Currently supported values: "google-adk", "langchain",
      "langgraph", "ag2", "llama-index", "custom".
    classMethods: Optional. Declarations for object class methods in OpenAPI
      specification format.
    containerSpec: Deploy from a container image with a defined entrypoint and
      commands.
    deploymentSpec: Optional. The specification of a Reasoning Engine
      deployment.
    identityType: Optional. The identity type to use for the Reasoning Engine.
      If not specified, the `service_account` field will be used if set,
      otherwise the default Vertex AI Reasoning Engine Service Agent in the
      project will be used.
    packageSpec: Optional. User provided package spec of the ReasoningEngine.
      Ignored when users directly specify a deployment image through
      `deployment_spec.first_party_image_override`, but keeping the
      field_behavior to avoid introducing breaking changes. The
      `deployment_source` field should not be set if `package_spec` is
      specified.
    serviceAccount: Optional. The service account that the Reasoning Engine
      artifact runs as. It should have "roles/storage.objectViewer" for
      reading the user project's Cloud Storage and "roles/aiplatform.user" for
      using Vertex extensions. If not specified, the Vertex AI Reasoning
      Engine Service Agent in the project will be used.
    sourceCodeSpec: Deploy from source code files with a defined entrypoint.
  """

  class IdentityTypeValueValuesEnum(_messages.Enum):
    r"""Optional. The identity type to use for the Reasoning Engine. If not
    specified, the `service_account` field will be used if set, otherwise the
    default Vertex AI Reasoning Engine Service Agent in the project will be
    used.

    Values:
      IDENTITY_TYPE_UNSPECIFIED: Default value. Use a custom service account
        if the `service_account` field is set, otherwise use the default
        Vertex AI Reasoning Engine Service Agent in the project. Same behavior
        as SERVICE_ACCOUNT.
      SERVICE_ACCOUNT: Use a custom service account if the `service_account`
        field is set, otherwise use the default Vertex AI Reasoning Engine
        Service Agent in the project.
      AGENT_IDENTITY: Use Agent Identity. The `service_account` field must not
        be set.
    """
    IDENTITY_TYPE_UNSPECIFIED = 0
    SERVICE_ACCOUNT = 1
    AGENT_IDENTITY = 2

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ClassMethodsValueListEntry(_messages.Message):
    r"""A ClassMethodsValueListEntry object.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ClassMethodsValueListEntry 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)

  agentFramework = _messages.StringField(1)
  classMethods = _messages.MessageField('ClassMethodsValueListEntry', 2, repeated=True)
  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec', 3)
  deploymentSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec', 4)
  identityType = _messages.EnumField('IdentityTypeValueValuesEnum', 5)
  packageSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec', 6)
  serviceAccount = _messages.StringField(7)
  sourceCodeSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec', 8)


class GoogleCloudAiplatformV1ReasoningEngineSpecContainerSpec(_messages.Message):
  r"""Specification for deploying from a container image.

  Fields:
    imageUri: Required. The Artifact Registry Docker image URI (e.g., us-
      central1-docker.pkg.dev/my-project/my-repo/my-image:tag) of the
      container image that is to be run on each worker replica.
  """

  imageUri = _messages.StringField(1)


class GoogleCloudAiplatformV1ReasoningEngineSpecDeploymentSpec(_messages.Message):
  r"""The specification of a Reasoning Engine deployment.

  Messages:
    ResourceLimitsValue: Optional. Resource limits for each container. Only
      'cpu' and 'memory' keys are supported. Defaults to {"cpu": "4",
      "memory": "4Gi"}. * The only supported values for CPU are '1', '2', '4',
      '6' and '8'. For more information, go to
      https://cloud.google.com/run/docs/configuring/cpu. * The only supported
      values for memory are '1Gi', '2Gi', ... '32 Gi'. * For required cpu on
      different memory values, go to
      https://cloud.google.com/run/docs/configuring/memory-limits

  Fields:
    containerConcurrency: Optional. Concurrency for each container and agent
      server. Recommended value: 2 * cpu + 1. Defaults to 9.
    env: Optional. Environment variables to be set with the Reasoning Engine
      deployment. The environment variables can be updated through the
      UpdateReasoningEngine API.
    keepAliveProbe: Optional. Specifies the configuration for keep-alive
      probe. Contains configuration on a specified endpoint that a deployment
      host should use to keep the container alive based on the probe settings.
    maxInstances: Optional. The maximum number of application instances that
      can be launched to handle increased traffic. Defaults to 100. Range: [1,
      1000]. If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
    minInstances: Optional. The minimum number of application instances that
      will be kept running at all times. Defaults to 1. Range: [0, 75].
    pscInterfaceConfig: Optional. Configuration for PSC-I.
    resourceLimits: Optional. Resource limits for each container. Only 'cpu'
      and 'memory' keys are supported. Defaults to {"cpu": "4", "memory":
      "4Gi"}. * The only supported values for CPU are '1', '2', '4', '6' and
      '8'. For more information, go to
      https://cloud.google.com/run/docs/configuring/cpu. * The only supported
      values for memory are '1Gi', '2Gi', ... '32 Gi'. * For required cpu on
      different memory values, go to
      https://cloud.google.com/run/docs/configuring/memory-limits
    secretEnv: Optional. Environment variables where the value is a secret in
      Cloud Secret Manager. To use this feature, add 'Secret Manager Secret
      Accessor' role (roles/secretmanager.secretAccessor) to AI Platform
      Reasoning Engine Service Agent.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResourceLimitsValue(_messages.Message):
    r"""Optional. Resource limits for each container. Only 'cpu' and 'memory'
    keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"}. * The only
    supported values for CPU are '1', '2', '4', '6' and '8'. For more
    information, go to https://cloud.google.com/run/docs/configuring/cpu. *
    The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'. * For
    required cpu on different memory values, go to
    https://cloud.google.com/run/docs/configuring/memory-limits

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResourceLimitsValue 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)

  containerConcurrency = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  env = _messages.MessageField('GoogleCloudAiplatformV1EnvVar', 2, repeated=True)
  keepAliveProbe = _messages.MessageField('GoogleCloudAiplatformV1KeepAliveProbe', 3)
  maxInstances = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  minInstances = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  pscInterfaceConfig = _messages.MessageField('GoogleCloudAiplatformV1PscInterfaceConfig', 6)
  resourceLimits = _messages.MessageField('ResourceLimitsValue', 7)
  secretEnv = _messages.MessageField('GoogleCloudAiplatformV1SecretEnvVar', 8, repeated=True)


class GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec(_messages.Message):
  r"""User-provided package specification, containing pickled object and
  package requirements.

  Fields:
    dependencyFilesGcsUri: Optional. The Cloud Storage URI of the dependency
      files in tar.gz format.
    pickleObjectGcsUri: Optional. The Cloud Storage URI of the pickled python
      object.
    pythonVersion: Optional. The Python version. Supported values are 3.10,
      3.11, 3.12, 3.13, 3.14. If not specified, the default value is 3.10.
    requirementsGcsUri: Optional. The Cloud Storage URI of the
      `requirements.txt` file
  """

  dependencyFilesGcsUri = _messages.StringField(1)
  pickleObjectGcsUri = _messages.StringField(2)
  pythonVersion = _messages.StringField(3)
  requirementsGcsUri = _messages.StringField(4)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpec(_messages.Message):
  r"""Specification for deploying from source code.

  Fields:
    agentConfigSource: Source code is generated from the agent config.
    developerConnectSource: Source code is in a Git repository managed by
      Developer Connect.
    imageSpec: Optional. Configuration for building an image with custom
      config file.
    inlineSource: Source code is provided directly in the request.
    pythonSpec: Configuration for a Python application.
  """

  agentConfigSource = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource', 1)
  developerConnectSource = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource', 2)
  imageSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec', 3)
  inlineSource = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource', 4)
  pythonSpec = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec', 5)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSource(_messages.Message):
  r"""Specification for the deploying from agent config.

  Fields:
    adkConfig: Required. The ADK configuration.
    inlineSource: Optional. Any additional files needed to interpret the
      config. If a `requirements.txt` file is present in the `inline_source`,
      the corresponding packages will be installed. If no `requirements.txt`
      file is present in `inline_source`, then the latest version of `google-
      adk` will be installed for interpreting the ADK config.
  """

  adkConfig = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig', 1)
  inlineSource = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource', 2)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecAgentConfigSourceAdkConfig(_messages.Message):
  r"""Configuration for the Agent Development Kit (ADK).

  Messages:
    JsonConfigValue: Required. The value of the ADK config in JSON format.

  Fields:
    jsonConfig: Required. The value of the ADK config in JSON format.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class JsonConfigValue(_messages.Message):
    r"""Required. The value of the ADK config in JSON format.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a JsonConfigValue 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)

  jsonConfig = _messages.MessageField('JsonConfigValue', 1)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig(_messages.Message):
  r"""Specifies the configuration for fetching source code from a Git
  repository that is managed by Developer Connect. This includes the
  repository, revision, and directory to use.

  Fields:
    dir: Required. Directory, relative to the source root, in which to run the
      build.
    gitRepositoryLink: Required. The Developer Connect Git repository link,
      formatted as `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    revision: Required. The revision to fetch from the Git repository such as
      a branch, a tag, a commit SHA, or any Git ref.
  """

  dir = _messages.StringField(1)
  gitRepositoryLink = _messages.StringField(2)
  revision = _messages.StringField(3)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectSource(_messages.Message):
  r"""Specifies source code to be fetched from a Git repository managed
  through the Developer Connect service.

  Fields:
    config: Required. The Developer Connect configuration that defines the
      specific repository, revision, and directory to use as the source code
      root.
  """

  config = _messages.MessageField('GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig', 1)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecImageSpec(_messages.Message):
  r"""The image spec for building an image (within a single build step), based
  on the config file (i.e. Dockerfile) in the source directory.

  Messages:
    BuildArgsValue: Optional. Build arguments to be used. They will be passed
      through --build-arg flags.

  Fields:
    buildArgs: Optional. Build arguments to be used. They will be passed
      through --build-arg flags.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class BuildArgsValue(_messages.Message):
    r"""Optional. Build arguments to be used. They will be passed through
    --build-arg flags.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a BuildArgsValue 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)

  buildArgs = _messages.MessageField('BuildArgsValue', 1)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecInlineSource(_messages.Message):
  r"""Specifies source code provided as a byte stream.

  Fields:
    sourceArchive: Required. Input only. The application source code archive.
      It must be a compressed tarball (.tar.gz) file.
  """

  sourceArchive = _messages.BytesField(1)


class GoogleCloudAiplatformV1ReasoningEngineSpecSourceCodeSpecPythonSpec(_messages.Message):
  r"""Specification for running a Python application from source.

  Fields:
    entrypointModule: Optional. The Python module to load as the entrypoint,
      specified as a fully qualified module name. For example: path.to.agent.
      If not specified, defaults to "agent". The project root will be added to
      Python sys.path, allowing imports to be specified relative to the root.
      This field should not be set if the source is `agent_config_source`.
    entrypointObject: Optional. The name of the callable object within the
      `entrypoint_module` to use as the application If not specified, defaults
      to "root_agent". This field should not be set if the source is
      `agent_config_source`.
    requirementsFile: Optional. The path to the requirements file, relative to
      the source root. If not specified, defaults to "requirements.txt".
    version: Optional. The version of Python to use. Supported versions
      include 3.10, 3.11, 3.12, 3.13, 3.14. If not specified, default value is
      3.10.
  """

  entrypointModule = _messages.StringField(1)
  entrypointObject = _messages.StringField(2)
  requirementsFile = _messages.StringField(3)
  version = _messages.StringField(4)


class GoogleCloudAiplatformV1RebaseTunedModelRequest(_messages.Message):
  r"""Request message for GenAiTuningService.RebaseTunedModel.

  Fields:
    artifactDestination: Optional. The Google Cloud Storage location to write
      the artifacts to.
    deployToSameEndpoint: Optional. By default, rebasing a model creates a new
      endpoint for the new model. If this flag is set to true, the new model
      will be deployed to the same endpoint as the original model. WARNING: If
      you deploy to the same endpoint, the original model will be un-deployed
      and replaced by the new model.
    tunedModelRef: Required. A reference to the tuned model to rebase.
    tuningJob: Optional. The tuning job to be updated. Users can use this
      field to overwrite tuning configs.
  """

  artifactDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)
  deployToSameEndpoint = _messages.BooleanField(2)
  tunedModelRef = _messages.MessageField('GoogleCloudAiplatformV1TunedModelRef', 3)
  tuningJob = _messages.MessageField('GoogleCloudAiplatformV1TuningJob', 4)


class GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata(_messages.Message):
  r"""Details of operations that perform reboot PersistentResource.

  Fields:
    genericMetadata: Operation metadata for PersistentResource.
    progressMessage: Progress Message for Reboot LRO
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1RebootPersistentResourceRequest(_messages.Message):
  r"""Request message for PersistentResourceService.RebootPersistentResource.
  """



class GoogleCloudAiplatformV1RemoveContextChildrenRequest(_messages.Message):
  r"""Request message for MetadataService.DeleteContextChildrenRequest.

  Fields:
    childContexts: The resource names of the child Contexts.
  """

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


class GoogleCloudAiplatformV1RemoveContextChildrenResponse(_messages.Message):
  r"""Response message for MetadataService.RemoveContextChildren."""


class GoogleCloudAiplatformV1RemoveDatapointsRequest(_messages.Message):
  r"""Request message for IndexService.RemoveDatapoints

  Fields:
    datapointIds: A list of datapoint ids to be deleted.
  """

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


class GoogleCloudAiplatformV1RemoveDatapointsResponse(_messages.Message):
  r"""Response message for IndexService.RemoveDatapoints"""


class GoogleCloudAiplatformV1ReplicatedVoiceConfig(_messages.Message):
  r"""The configuration for the replicated voice to use.

  Fields:
    mimeType: Optional. The mimetype of the voice sample. The only currently
      supported value is `audio/wav`. This represents 16-bit signed little-
      endian wav data, with a 24kHz sampling rate. `mime_type` will default to
      `audio/wav` if not set.
    voiceSampleAudio: Optional. The sample of the custom voice.
  """

  mimeType = _messages.StringField(1)
  voiceSampleAudio = _messages.BytesField(2)


class GoogleCloudAiplatformV1ReservationAffinity(_messages.Message):
  r"""A ReservationAffinity can be used to configure a Vertex AI resource
  (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared
  Reservation, or exclusively from on-demand capacity.

  Enums:
    ReservationAffinityTypeValueValuesEnum: Required. Specifies the
      reservation affinity type.

  Fields:
    key: Optional. Corresponds to the label key of a reservation resource. To
      target a SPECIFIC_RESERVATION by name, use
      `compute.googleapis.com/reservation-name` as the key and specify the
      name of your reservation as its value.
    reservationAffinityType: Required. Specifies the reservation affinity
      type.
    values: Optional. Corresponds to the label values of a reservation
      resource. This must be the full resource name of the reservation or
      reservation block.
  """

  class ReservationAffinityTypeValueValuesEnum(_messages.Enum):
    r"""Required. Specifies the reservation affinity type.

    Values:
      TYPE_UNSPECIFIED: Default value. This should not be used.
      NO_RESERVATION: Do not consume from any reserved capacity, only use on-
        demand.
      ANY_RESERVATION: Consume any reservation available, falling back to on-
        demand.
      SPECIFIC_RESERVATION: Consume from a specific reservation. When chosen,
        the reservation must be identified via the `key` and `values` fields.
    """
    TYPE_UNSPECIFIED = 0
    NO_RESERVATION = 1
    ANY_RESERVATION = 2
    SPECIFIC_RESERVATION = 3

  key = _messages.StringField(1)
  reservationAffinityType = _messages.EnumField('ReservationAffinityTypeValueValuesEnum', 2)
  values = _messages.StringField(3, repeated=True)


class GoogleCloudAiplatformV1ResourcePool(_messages.Message):
  r"""Represents the spec of a group of resources of the same type, for
  example machine type, disk, and accelerators, in a PersistentResource.

  Fields:
    autoscalingSpec: Optional. Optional spec to configure GKE or Ray-on-Vertex
      autoscaling
    diskSpec: Optional. Disk spec for the machine in this node pool.
    id: Immutable. The unique ID in a PersistentResource for referring to this
      resource pool. User can specify it if necessary. Otherwise, it's
      generated automatically.
    machineSpec: Required. Immutable. The specification of a single machine.
    replicaCount: Optional. The total number of machines to use for this
      resource pool.
    usedReplicaCount: Output only. The number of machines currently in use by
      training jobs for this resource pool. Will replace idle_replica_count.
  """

  autoscalingSpec = _messages.MessageField('GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec', 1)
  diskSpec = _messages.MessageField('GoogleCloudAiplatformV1DiskSpec', 2)
  id = _messages.StringField(3)
  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 4)
  replicaCount = _messages.IntegerField(5)
  usedReplicaCount = _messages.IntegerField(6)


class GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec(_messages.Message):
  r"""The min/max number of replicas allowed if enabling autoscaling

  Fields:
    maxReplicaCount: Optional. max replicas in the node pool, must be \u2265
      replica_count and > min_replica_count or will throw error
    minReplicaCount: Optional. min replicas in the node pool, must be \u2264
      replica_count and < max_replica_count or will throw error. For
      autoscaling enabled Ray-on-Vertex, we allow min_replica_count of a
      resource_pool to be 0 to match the OSS Ray
      behavior(https://docs.ray.io/en/latest/cluster/vms/user-
      guides/configuring-autoscaling.html#cluster-config-parameters). As for
      Persistent Resource, the min_replica_count must be > 0, we added a
      corresponding validation inside
      CreatePersistentResourceRequestValidator.java.
  """

  maxReplicaCount = _messages.IntegerField(1)
  minReplicaCount = _messages.IntegerField(2)


class GoogleCloudAiplatformV1ResourceRuntime(_messages.Message):
  r"""Persistent Cluster runtime information as output

  Messages:
    AccessUrisValue: Output only. URIs for user to connect to the Cluster.
      Example: { "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001"
      "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" }

  Fields:
    accessUris: Output only. URIs for user to connect to the Cluster. Example:
      { "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" "RAY_DASHBOARD_URI":
      "ray-dashboard-address:8888" }
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AccessUrisValue(_messages.Message):
    r"""Output only. URIs for user to connect to the Cluster. Example: {
    "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" "RAY_DASHBOARD_URI":
    "ray-dashboard-address:8888" }

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a AccessUrisValue 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)

  accessUris = _messages.MessageField('AccessUrisValue', 1)


class GoogleCloudAiplatformV1ResourceRuntimeSpec(_messages.Message):
  r"""Configuration for the runtime on a PersistentResource instance,
  including but not limited to: * Service accounts used to run the workloads.
  * Whether to make it a dedicated Ray Cluster.

  Fields:
    raySpec: Optional. Ray cluster configuration. Required when creating a
      dedicated RayCluster on the PersistentResource.
    serviceAccountSpec: Optional. Configure the use of workload identity on
      the PersistentResource
  """

  raySpec = _messages.MessageField('GoogleCloudAiplatformV1RaySpec', 1)
  serviceAccountSpec = _messages.MessageField('GoogleCloudAiplatformV1ServiceAccountSpec', 2)


class GoogleCloudAiplatformV1ResourcesConsumed(_messages.Message):
  r"""Statistics information about resource consumption.

  Fields:
    replicaHours: Output only. The number of replica hours used. Note that
      many replicas may run in parallel, and additionally any given work may
      be queued for some time. Therefore this value is not strictly related to
      wall time.
  """

  replicaHours = _messages.FloatField(1)


class GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata(_messages.Message):
  r"""Runtime operation information for DatasetService.RestoreDatasetVersion.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

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


class GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest(_messages.Message):
  r"""Request message for JobService.ResumeModelDeploymentMonitoringJob."""


class GoogleCloudAiplatformV1ResumeScheduleRequest(_messages.Message):
  r"""Request message for ScheduleService.ResumeSchedule.

  Fields:
    catchUp: Optional. Whether to backfill missed runs when the schedule is
      resumed from PAUSED state. If set to true, all missed runs will be
      scheduled. New runs will be scheduled after the backfill is complete.
      This will also update Schedule.catch_up field. Default to false.
  """

  catchUp = _messages.BooleanField(1)


class GoogleCloudAiplatformV1Retrieval(_messages.Message):
  r"""Defines a retrieval tool that model can call to access external
  knowledge.

  Fields:
    disableAttribution: Optional. Deprecated. This option is no longer
      supported.
    vertexAiSearch: Set to use data source powered by Vertex AI Search.
    vertexRagStore: Set to use data source powered by Vertex RAG store. User
      data is uploaded via the VertexRagDataService.
  """

  disableAttribution = _messages.BooleanField(1)
  vertexAiSearch = _messages.MessageField('GoogleCloudAiplatformV1VertexAISearch', 2)
  vertexRagStore = _messages.MessageField('GoogleCloudAiplatformV1VertexRagStore', 3)


class GoogleCloudAiplatformV1RetrievalConfig(_messages.Message):
  r"""Retrieval config.

  Fields:
    languageCode: The language code of the user.
    latLng: The location of the user.
  """

  languageCode = _messages.StringField(1)
  latLng = _messages.MessageField('GoogleTypeLatLng', 2)


class GoogleCloudAiplatformV1RetrievalMetadata(_messages.Message):
  r"""Metadata related to the retrieval grounding source. This is part of the
  `GroundingMetadata` returned when grounding is enabled.

  Fields:
    googleSearchDynamicRetrievalScore: Optional. A score indicating how likely
      it is that a Google Search query could help answer the prompt. The score
      is in the range of `[0, 1]`. A score of 1 means the model is confident
      that a search will be helpful, and 0 means it is not. This score is
      populated only when Google Search grounding and dynamic retrieval are
      enabled. The score is used to determine whether to trigger a search.
  """

  googleSearchDynamicRetrievalScore = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1RetrieveContextsRequest(_messages.Message):
  r"""Request message for VertexRagService.RetrieveContexts.

  Fields:
    query: Required. Single RAG retrieve query.
    vertexRagStore: The data source for Vertex RagStore.
  """

  query = _messages.MessageField('GoogleCloudAiplatformV1RagQuery', 1)
  vertexRagStore = _messages.MessageField('GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore', 2)


class GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore(_messages.Message):
  r"""The data source for Vertex RagStore.

  Fields:
    ragResources: Optional. The representation of the rag source. It can be
      used to specify corpus only or ragfiles. Currently only support one
      corpus or multiple files from one corpus. In the future we may open up
      multiple corpora support.
    vectorDistanceThreshold: Optional. Only return contexts with vector
      distance smaller than the threshold.
  """

  ragResources = _messages.MessageField('GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource', 1, repeated=True)
  vectorDistanceThreshold = _messages.FloatField(2)


class GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource(_messages.Message):
  r"""The definition of the Rag resource.

  Fields:
    ragCorpus: Optional. RagCorpora resource name. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
    ragFileIds: Optional. rag_file_id. The files should be in the same
      rag_corpus set in rag_corpus field.
  """

  ragCorpus = _messages.StringField(1)
  ragFileIds = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1RetrieveContextsResponse(_messages.Message):
  r"""Response message for VertexRagService.RetrieveContexts.

  Fields:
    contexts: The contexts of the query.
  """

  contexts = _messages.MessageField('GoogleCloudAiplatformV1RagContexts', 1)


class GoogleCloudAiplatformV1RougeInput(_messages.Message):
  r"""Input for rouge metric.

  Fields:
    instances: Required. Repeated rouge instances.
    metricSpec: Required. Spec for rouge score metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1RougeInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1RougeSpec', 2)


class GoogleCloudAiplatformV1RougeInstance(_messages.Message):
  r"""Spec for rouge instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1RougeMetricValue(_messages.Message):
  r"""Rouge metric value for an instance.

  Fields:
    score: Output only. Rouge score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1RougeResults(_messages.Message):
  r"""Results for rouge metric.

  Fields:
    rougeMetricValues: Output only. Rouge metric values.
  """

  rougeMetricValues = _messages.MessageField('GoogleCloudAiplatformV1RougeMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1RougeSpec(_messages.Message):
  r"""Spec for rouge score metric - calculates the recall of n-grams in
  prediction as compared to reference - returns a score ranging between 0 and
  1.

  Fields:
    rougeType: Optional. Supported rouge types are rougen[1-9], rougeL, and
      rougeLsum.
    splitSummaries: Optional. Whether to split summaries while using
      rougeLsum.
    useStemmer: Optional. Whether to use stemmer to compute rouge score.
  """

  rougeType = _messages.StringField(1)
  splitSummaries = _messages.BooleanField(2)
  useStemmer = _messages.BooleanField(3)


class GoogleCloudAiplatformV1SafetyInput(_messages.Message):
  r"""Input for safety metric.

  Fields:
    instance: Required. Safety instance.
    metricSpec: Required. Spec for safety metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1SafetyInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1SafetySpec', 2)


class GoogleCloudAiplatformV1SafetyInstance(_messages.Message):
  r"""Spec for safety instance.

  Fields:
    prediction: Required. Output of the evaluated model.
  """

  prediction = _messages.StringField(1)


class GoogleCloudAiplatformV1SafetyRating(_messages.Message):
  r"""A safety rating for a piece of content. The safety rating contains the
  harm category and the harm probability level.

  Enums:
    CategoryValueValuesEnum: Output only. The harm category of this rating.
    OverwrittenThresholdValueValuesEnum: Output only. The overwritten
      threshold for the safety category of Gemini 2.0 image out. If minors are
      detected in the output image, the threshold of each safety category will
      be overwritten if user sets a lower threshold.
    ProbabilityValueValuesEnum: Output only. The probability of harm for this
      category.
    SeverityValueValuesEnum: Output only. The severity of harm for this
      category.

  Fields:
    blocked: Output only. Indicates whether the content was blocked because of
      this rating.
    category: Output only. The harm category of this rating.
    overwrittenThreshold: Output only. The overwritten threshold for the
      safety category of Gemini 2.0 image out. If minors are detected in the
      output image, the threshold of each safety category will be overwritten
      if user sets a lower threshold.
    probability: Output only. The probability of harm for this category.
    probabilityScore: Output only. The probability score of harm for this
      category.
    severity: Output only. The severity of harm for this category.
    severityScore: Output only. The severity score of harm for this category.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""Output only. The harm category of this rating.

    Values:
      HARM_CATEGORY_UNSPECIFIED: Default value. This value is unused.
      HARM_CATEGORY_HATE_SPEECH: Content that promotes violence or incites
        hatred against individuals or groups based on certain attributes.
      HARM_CATEGORY_DANGEROUS_CONTENT: Content that promotes, facilitates, or
        enables dangerous activities.
      HARM_CATEGORY_HARASSMENT: Abusive, threatening, or content intended to
        bully, torment, or ridicule.
      HARM_CATEGORY_SEXUALLY_EXPLICIT: Content that contains sexually explicit
        material.
      HARM_CATEGORY_CIVIC_INTEGRITY: Deprecated: Election filter is not longer
        supported. The harm category is civic integrity.
      HARM_CATEGORY_IMAGE_HATE: Images that contain hate speech.
      HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT: Images that contain dangerous
        content.
      HARM_CATEGORY_IMAGE_HARASSMENT: Images that contain harassment.
      HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT: Images that contain sexually
        explicit content.
      HARM_CATEGORY_JAILBREAK: Prompts designed to bypass safety filters.
    """
    HARM_CATEGORY_UNSPECIFIED = 0
    HARM_CATEGORY_HATE_SPEECH = 1
    HARM_CATEGORY_DANGEROUS_CONTENT = 2
    HARM_CATEGORY_HARASSMENT = 3
    HARM_CATEGORY_SEXUALLY_EXPLICIT = 4
    HARM_CATEGORY_CIVIC_INTEGRITY = 5
    HARM_CATEGORY_IMAGE_HATE = 6
    HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT = 7
    HARM_CATEGORY_IMAGE_HARASSMENT = 8
    HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT = 9
    HARM_CATEGORY_JAILBREAK = 10

  class OverwrittenThresholdValueValuesEnum(_messages.Enum):
    r"""Output only. The overwritten threshold for the safety category of
    Gemini 2.0 image out. If minors are detected in the output image, the
    threshold of each safety category will be overwritten if user sets a lower
    threshold.

    Values:
      HARM_BLOCK_THRESHOLD_UNSPECIFIED: The harm block threshold is
        unspecified.
      BLOCK_LOW_AND_ABOVE: Block content with a low harm probability or
        higher.
      BLOCK_MEDIUM_AND_ABOVE: Block content with a medium harm probability or
        higher.
      BLOCK_ONLY_HIGH: Block content with a high harm probability.
      BLOCK_NONE: Do not block any content, regardless of its harm
        probability.
      OFF: Turn off the safety filter entirely.
    """
    HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0
    BLOCK_LOW_AND_ABOVE = 1
    BLOCK_MEDIUM_AND_ABOVE = 2
    BLOCK_ONLY_HIGH = 3
    BLOCK_NONE = 4
    OFF = 5

  class ProbabilityValueValuesEnum(_messages.Enum):
    r"""Output only. The probability of harm for this category.

    Values:
      HARM_PROBABILITY_UNSPECIFIED: The harm probability is unspecified.
      NEGLIGIBLE: The harm probability is negligible.
      LOW: The harm probability is low.
      MEDIUM: The harm probability is medium.
      HIGH: The harm probability is high.
    """
    HARM_PROBABILITY_UNSPECIFIED = 0
    NEGLIGIBLE = 1
    LOW = 2
    MEDIUM = 3
    HIGH = 4

  class SeverityValueValuesEnum(_messages.Enum):
    r"""Output only. The severity of harm for this category.

    Values:
      HARM_SEVERITY_UNSPECIFIED: The harm severity is unspecified.
      HARM_SEVERITY_NEGLIGIBLE: The harm severity is negligible.
      HARM_SEVERITY_LOW: The harm severity is low.
      HARM_SEVERITY_MEDIUM: The harm severity is medium.
      HARM_SEVERITY_HIGH: The harm severity is high.
    """
    HARM_SEVERITY_UNSPECIFIED = 0
    HARM_SEVERITY_NEGLIGIBLE = 1
    HARM_SEVERITY_LOW = 2
    HARM_SEVERITY_MEDIUM = 3
    HARM_SEVERITY_HIGH = 4

  blocked = _messages.BooleanField(1)
  category = _messages.EnumField('CategoryValueValuesEnum', 2)
  overwrittenThreshold = _messages.EnumField('OverwrittenThresholdValueValuesEnum', 3)
  probability = _messages.EnumField('ProbabilityValueValuesEnum', 4)
  probabilityScore = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  severity = _messages.EnumField('SeverityValueValuesEnum', 6)
  severityScore = _messages.FloatField(7, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SafetyResult(_messages.Message):
  r"""Spec for safety result.

  Fields:
    confidence: Output only. Confidence for safety score.
    explanation: Output only. Explanation for safety score.
    score: Output only. Safety score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SafetySetting(_messages.Message):
  r"""A safety setting that affects the safety-blocking behavior. A
  SafetySetting consists of a harm category and a threshold for that category.

  Enums:
    CategoryValueValuesEnum: Required. The harm category to be blocked.
    MethodValueValuesEnum: Optional. The method for blocking content. If not
      specified, the default behavior is to use the probability score.
    ThresholdValueValuesEnum: Required. The threshold for blocking content. If
      the harm probability exceeds this threshold, the content will be
      blocked.

  Fields:
    category: Required. The harm category to be blocked.
    method: Optional. The method for blocking content. If not specified, the
      default behavior is to use the probability score.
    threshold: Required. The threshold for blocking content. If the harm
      probability exceeds this threshold, the content will be blocked.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""Required. The harm category to be blocked.

    Values:
      HARM_CATEGORY_UNSPECIFIED: Default value. This value is unused.
      HARM_CATEGORY_HATE_SPEECH: Content that promotes violence or incites
        hatred against individuals or groups based on certain attributes.
      HARM_CATEGORY_DANGEROUS_CONTENT: Content that promotes, facilitates, or
        enables dangerous activities.
      HARM_CATEGORY_HARASSMENT: Abusive, threatening, or content intended to
        bully, torment, or ridicule.
      HARM_CATEGORY_SEXUALLY_EXPLICIT: Content that contains sexually explicit
        material.
      HARM_CATEGORY_CIVIC_INTEGRITY: Deprecated: Election filter is not longer
        supported. The harm category is civic integrity.
      HARM_CATEGORY_IMAGE_HATE: Images that contain hate speech.
      HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT: Images that contain dangerous
        content.
      HARM_CATEGORY_IMAGE_HARASSMENT: Images that contain harassment.
      HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT: Images that contain sexually
        explicit content.
      HARM_CATEGORY_JAILBREAK: Prompts designed to bypass safety filters.
    """
    HARM_CATEGORY_UNSPECIFIED = 0
    HARM_CATEGORY_HATE_SPEECH = 1
    HARM_CATEGORY_DANGEROUS_CONTENT = 2
    HARM_CATEGORY_HARASSMENT = 3
    HARM_CATEGORY_SEXUALLY_EXPLICIT = 4
    HARM_CATEGORY_CIVIC_INTEGRITY = 5
    HARM_CATEGORY_IMAGE_HATE = 6
    HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT = 7
    HARM_CATEGORY_IMAGE_HARASSMENT = 8
    HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT = 9
    HARM_CATEGORY_JAILBREAK = 10

  class MethodValueValuesEnum(_messages.Enum):
    r"""Optional. The method for blocking content. If not specified, the
    default behavior is to use the probability score.

    Values:
      HARM_BLOCK_METHOD_UNSPECIFIED: The harm block method is unspecified.
      SEVERITY: The harm block method uses both probability and severity
        scores.
      PROBABILITY: The harm block method uses the probability score.
    """
    HARM_BLOCK_METHOD_UNSPECIFIED = 0
    SEVERITY = 1
    PROBABILITY = 2

  class ThresholdValueValuesEnum(_messages.Enum):
    r"""Required. The threshold for blocking content. If the harm probability
    exceeds this threshold, the content will be blocked.

    Values:
      HARM_BLOCK_THRESHOLD_UNSPECIFIED: The harm block threshold is
        unspecified.
      BLOCK_LOW_AND_ABOVE: Block content with a low harm probability or
        higher.
      BLOCK_MEDIUM_AND_ABOVE: Block content with a medium harm probability or
        higher.
      BLOCK_ONLY_HIGH: Block content with a high harm probability.
      BLOCK_NONE: Do not block any content, regardless of its harm
        probability.
      OFF: Turn off the safety filter entirely.
    """
    HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0
    BLOCK_LOW_AND_ABOVE = 1
    BLOCK_MEDIUM_AND_ABOVE = 2
    BLOCK_ONLY_HIGH = 3
    BLOCK_NONE = 4
    OFF = 5

  category = _messages.EnumField('CategoryValueValuesEnum', 1)
  method = _messages.EnumField('MethodValueValuesEnum', 2)
  threshold = _messages.EnumField('ThresholdValueValuesEnum', 3)


class GoogleCloudAiplatformV1SafetySpec(_messages.Message):
  r"""Spec for safety metric.

  Fields:
    version: Optional. Which version to use for evaluation.
  """

  version = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SampledShapleyAttribution(_messages.Message):
  r"""An attribution method that approximates Shapley values for features that
  contribute to the label being predicted. A sampling strategy is used to
  approximate the value rather than considering all subsets of features.

  Fields:
    pathCount: Required. The number of feature permutations to consider when
      approximating the Shapley values. Valid range of its value is [1, 50],
      inclusively.
  """

  pathCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SamplingStrategy(_messages.Message):
  r"""Sampling Strategy for logging, can be for both training and prediction
  dataset.

  Fields:
    randomSampleConfig: Random sample config. Will support more sampling
      strategies later.
  """

  randomSampleConfig = _messages.MessageField('GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig', 1)


class GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig(_messages.Message):
  r"""Requests are randomly selected.

  Fields:
    sampleRate: Sample rate (0, 1]
  """

  sampleRate = _messages.FloatField(1)


class GoogleCloudAiplatformV1SavedQuery(_messages.Message):
  r"""A SavedQuery is a view of the dataset. It references a subset of
  annotations by problem type and filters.

  Fields:
    annotationFilter: Output only. Filters on the Annotations in the dataset.
    annotationSpecCount: Output only. Number of AnnotationSpecs in the context
      of the SavedQuery.
    createTime: Output only. Timestamp when this SavedQuery was created.
    displayName: Required. The user-defined name of the SavedQuery. The name
      can be up to 128 characters long and can consist of any UTF-8
      characters.
    etag: Used to perform a consistent read-modify-write update. If not set, a
      blind "overwrite" update happens.
    metadata: Some additional information about the SavedQuery.
    name: Output only. Resource name of the SavedQuery.
    problemType: Required. Problem type of the SavedQuery. Allowed values: *
      IMAGE_CLASSIFICATION_SINGLE_LABEL * IMAGE_CLASSIFICATION_MULTI_LABEL *
      IMAGE_BOUNDING_POLY * IMAGE_BOUNDING_BOX *
      TEXT_CLASSIFICATION_SINGLE_LABEL * TEXT_CLASSIFICATION_MULTI_LABEL *
      TEXT_EXTRACTION * TEXT_SENTIMENT * VIDEO_CLASSIFICATION *
      VIDEO_OBJECT_TRACKING
    supportAutomlTraining: Output only. If the Annotations belonging to the
      SavedQuery can be used for AutoML training.
    updateTime: Output only. Timestamp when SavedQuery was last updated.
  """

  annotationFilter = _messages.StringField(1)
  annotationSpecCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  createTime = _messages.StringField(3)
  displayName = _messages.StringField(4)
  etag = _messages.StringField(5)
  metadata = _messages.MessageField('extra_types.JsonValue', 6)
  name = _messages.StringField(7)
  problemType = _messages.StringField(8)
  supportAutomlTraining = _messages.BooleanField(9)
  updateTime = _messages.StringField(10)


class GoogleCloudAiplatformV1Scalar(_messages.Message):
  r"""One point viewable on a scalar metric plot.

  Fields:
    value: Value of the point at this step / timestamp.
  """

  value = _messages.FloatField(1)


class GoogleCloudAiplatformV1Schedule(_messages.Message):
  r"""An instance of a Schedule periodically schedules runs to make API calls
  based on user specified time specification and API request type.

  Enums:
    StateValueValuesEnum: Output only. The state of this Schedule.

  Fields:
    allowQueueing: Optional. Whether new scheduled runs can be queued when
      max_concurrent_runs limit is reached. If set to true, new runs will be
      queued instead of skipped. Default to false.
    catchUp: Output only. Whether to backfill missed runs when the schedule is
      resumed from PAUSED state. If set to true, all missed runs will be
      scheduled. New runs will be scheduled after the backfill is complete.
      Default to false.
    createNotebookExecutionJobRequest: Request for
      NotebookService.CreateNotebookExecutionJob.
    createPipelineJobRequest: Request for PipelineService.CreatePipelineJob.
      CreatePipelineJobRequest.parent field is required (format:
      projects/{project}/locations/{location}).
    createTime: Output only. Timestamp when this Schedule was created.
    cron: Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch
      scheduled runs. To explicitly set a timezone to the cron tab, apply a
      prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or
      "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string
      from IANA time zone database. For example, "CRON_TZ=America/New_York 1 *
      * * *", or "TZ=America/New_York 1 * * * *".
    displayName: Required. User provided name of the Schedule. The name can be
      up to 128 characters long and can consist of any UTF-8 characters.
    endTime: Optional. Timestamp after which no new runs can be scheduled. If
      specified, The schedule will be completed when either end_time is
      reached or when scheduled_run_count >= max_run_count. If not specified,
      new runs will keep getting scheduled until this Schedule is paused or
      deleted. Already scheduled runs will be allowed to complete. Unset if
      not specified.
    lastPauseTime: Output only. Timestamp when this Schedule was last paused.
      Unset if never paused.
    lastResumeTime: Output only. Timestamp when this Schedule was last
      resumed. Unset if never resumed from pause.
    lastScheduledRunResponse: Output only. Response of the last scheduled run.
      This is the response for starting the scheduled requests and not the
      execution of the operations/jobs created by the requests (if
      applicable). Unset if no run has been scheduled yet.
    maxConcurrentActiveRunCount: Optional. Specifies the maximum number of
      active runs that can be executed concurrently for this Schedule. This
      limits the number of runs that can be in a non-terminal state at the
      same time. Currently, this field is only supported for requests of type
      CreatePipelineJobRequest.
    maxConcurrentRunCount: Required. Maximum number of runs that can be
      started concurrently for this Schedule. This is the limit for starting
      the scheduled requests and not the execution of the operations/jobs
      created by the requests (if applicable).
    maxRunCount: Optional. Maximum run count of the schedule. If specified,
      The schedule will be completed when either started_run_count >=
      max_run_count or when end_time is reached. If not specified, new runs
      will keep getting scheduled until this Schedule is paused or deleted.
      Already scheduled runs will be allowed to complete. Unset if not
      specified.
    name: Immutable. The resource name of the Schedule.
    nextRunTime: Output only. Timestamp when this Schedule should schedule the
      next run. Having a next_run_time in the past means the runs are being
      started behind schedule.
    startTime: Optional. Timestamp after which the first run can be scheduled.
      Default to Schedule create time if not specified.
    startedRunCount: Output only. The number of runs started by this schedule.
    state: Output only. The state of this Schedule.
    updateTime: Output only. Timestamp when this Schedule was updated.
  """

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

    Values:
      STATE_UNSPECIFIED: Unspecified.
      ACTIVE: The Schedule is active. Runs are being scheduled on the user-
        specified timespec.
      PAUSED: The schedule is paused. No new runs will be created until the
        schedule is resumed. Already started runs will be allowed to complete.
      COMPLETED: The Schedule is completed. No new runs will be scheduled.
        Already started runs will be allowed to complete. Schedules in
        completed state cannot be paused or resumed.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    PAUSED = 2
    COMPLETED = 3

  allowQueueing = _messages.BooleanField(1)
  catchUp = _messages.BooleanField(2)
  createNotebookExecutionJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest', 3)
  createPipelineJobRequest = _messages.MessageField('GoogleCloudAiplatformV1CreatePipelineJobRequest', 4)
  createTime = _messages.StringField(5)
  cron = _messages.StringField(6)
  displayName = _messages.StringField(7)
  endTime = _messages.StringField(8)
  lastPauseTime = _messages.StringField(9)
  lastResumeTime = _messages.StringField(10)
  lastScheduledRunResponse = _messages.MessageField('GoogleCloudAiplatformV1ScheduleRunResponse', 11)
  maxConcurrentActiveRunCount = _messages.IntegerField(12)
  maxConcurrentRunCount = _messages.IntegerField(13)
  maxRunCount = _messages.IntegerField(14)
  name = _messages.StringField(15)
  nextRunTime = _messages.StringField(16)
  startTime = _messages.StringField(17)
  startedRunCount = _messages.IntegerField(18)
  state = _messages.EnumField('StateValueValuesEnum', 19)
  updateTime = _messages.StringField(20)


class GoogleCloudAiplatformV1ScheduleRunResponse(_messages.Message):
  r"""Status of a scheduled run.

  Fields:
    runResponse: The response of the scheduled run.
    scheduledRunTime: The scheduled run time based on the user-specified
      schedule.
  """

  runResponse = _messages.StringField(1)
  scheduledRunTime = _messages.StringField(2)


class GoogleCloudAiplatformV1Scheduling(_messages.Message):
  r"""All parameters related to queuing and scheduling of custom jobs.

  Enums:
    StrategyValueValuesEnum: Optional. This determines which type of
      scheduling strategy to use.

  Fields:
    disableRetries: Optional. Indicates if the job should retry for internal
      errors after the job starts running. If true, overrides
      `Scheduling.restart_job_on_worker_restart` to false.
    maxWaitDuration: Optional. This is the maximum duration that a job will
      wait for the requested resources to be provisioned if the scheduling
      strategy is set to [Strategy.DWS_FLEX_START]. If set to 0, the job will
      wait indefinitely. The default is 24 hours.
    restartJobOnWorkerRestart: Optional. Restarts the entire CustomJob if a
      worker gets restarted. This feature can be used by distributed training
      jobs that are not resilient to workers leaving and joining a job.
    strategy: Optional. This determines which type of scheduling strategy to
      use.
    timeout: Optional. The maximum job running time. The default is 7 days.
  """

  class StrategyValueValuesEnum(_messages.Enum):
    r"""Optional. This determines which type of scheduling strategy to use.

    Values:
      STRATEGY_UNSPECIFIED: Strategy will default to STANDARD.
      ON_DEMAND: Deprecated. Regular on-demand provisioning strategy.
      LOW_COST: Deprecated. Low cost by making potential use of spot
        resources.
      STANDARD: Standard provisioning strategy uses regular on-demand
        resources.
      SPOT: Spot provisioning strategy uses spot resources.
      FLEX_START: Flex Start strategy uses DWS to queue for resources.
    """
    STRATEGY_UNSPECIFIED = 0
    ON_DEMAND = 1
    LOW_COST = 2
    STANDARD = 3
    SPOT = 4
    FLEX_START = 5

  disableRetries = _messages.BooleanField(1)
  maxWaitDuration = _messages.StringField(2)
  restartJobOnWorkerRestart = _messages.BooleanField(3)
  strategy = _messages.EnumField('StrategyValueValuesEnum', 4)
  timeout = _messages.StringField(5)


class GoogleCloudAiplatformV1Schema(_messages.Message):
  r"""Defines the schema of input and output data. This is a subset of the
  [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-
  object).

  Enums:
    TypeValueValuesEnum: Optional. Data type of the schema field.

  Messages:
    DefsValue: Optional. `defs` provides a map of schema definitions that can
      be reused by `ref` elsewhere in the schema. Only allowed at root level
      of the schema.
    PropertiesValue: Optional. If type is `OBJECT`, `properties` is a map of
      property names to schema definitions for each property of the object.

  Fields:
    additionalProperties: Optional. If `type` is `OBJECT`, specifies how to
      handle properties not defined in `properties`. If it is a boolean
      `false`, no additional properties are allowed. If it is a schema,
      additional properties are allowed if they conform to the schema.
    anyOf: Optional. The instance must be valid against any (one or more) of
      the subschemas listed in `any_of`.
    default: Optional. Default value to use if the field is not specified.
    defs: Optional. `defs` provides a map of schema definitions that can be
      reused by `ref` elsewhere in the schema. Only allowed at root level of
      the schema.
    description: Optional. Describes the data. The model uses this field to
      understand the purpose of the schema and how to use it. It is a best
      practice to provide a clear and descriptive explanation for the schema
      and its properties here, rather than in the prompt.
    enum: Optional. Possible values of the field. This field can be used to
      restrict a value to a fixed set of values. To mark a field as an enum,
      set `format` to `enum` and provide the list of possible values in
      `enum`. For example: 1. To define directions: `{type:STRING,
      format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define
      apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201",
      "301"]}`
    example: Optional. Example of an instance of this schema.
    format: Optional. The format of the data. For `NUMBER` type, format can be
      `float` or `double`. For `INTEGER` type, format can be `int32` or
      `int64`. For `STRING` type, format can be `email`, `byte`, `date`,
      `date-time`, `password`, and other formats to further refine the data
      type.
    items: Optional. If type is `ARRAY`, `items` specifies the schema of
      elements in the array.
    maxItems: Optional. If type is `ARRAY`, `max_items` specifies the maximum
      number of items in an array.
    maxLength: Optional. If type is `STRING`, `max_length` specifies the
      maximum length of the string.
    maxProperties: Optional. If type is `OBJECT`, `max_properties` specifies
      the maximum number of properties that can be provided.
    maximum: Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies
      the maximum allowed value.
    minItems: Optional. If type is `ARRAY`, `min_items` specifies the minimum
      number of items in an array.
    minLength: Optional. If type is `STRING`, `min_length` specifies the
      minimum length of the string.
    minProperties: Optional. If type is `OBJECT`, `min_properties` specifies
      the minimum number of properties that can be provided.
    minimum: Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies
      the minimum allowed value.
    nullable: Optional. Indicates if the value of this field can be null.
    pattern: Optional. If type is `STRING`, `pattern` specifies a regular
      expression that the string must match.
    properties: Optional. If type is `OBJECT`, `properties` is a map of
      property names to schema definitions for each property of the object.
    propertyOrdering: Optional. Order of properties displayed or used where
      order matters. This is not a standard field in OpenAPI specification,
      but can be used to control the order of properties.
    ref: Optional. Allows referencing another schema definition to use in
      place of this schema. The value must be a valid reference to a schema in
      `defs`. For example, the following schema defines a reference to a
      schema node named "Pet": type: object properties: pet: ref: #/defs/Pet
      defs: Pet: type: object properties: name: type: string The value of the
      "pet" property is a reference to the schema node named "Pet". See
      details in https://json-schema.org/understanding-json-schema/structuring
    required: Optional. If type is `OBJECT`, `required` lists the names of
      properties that must be present.
    title: Optional. Title for the schema.
    type: Optional. Data type of the schema field.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""Optional. Data type of the schema field.

    Values:
      TYPE_UNSPECIFIED: Not specified, should not be used.
      STRING: OpenAPI string type
      NUMBER: OpenAPI number type
      INTEGER: OpenAPI integer type
      BOOLEAN: OpenAPI boolean type
      ARRAY: OpenAPI array type
      OBJECT: OpenAPI object type
      NULL: Null type
    """
    TYPE_UNSPECIFIED = 0
    STRING = 1
    NUMBER = 2
    INTEGER = 3
    BOOLEAN = 4
    ARRAY = 5
    OBJECT = 6
    NULL = 7

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DefsValue(_messages.Message):
    r"""Optional. `defs` provides a map of schema definitions that can be
    reused by `ref` elsewhere in the schema. Only allowed at root level of the
    schema.

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

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

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

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

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

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

  @encoding.MapUnrecognizedFields('additionalProperties')
  class PropertiesValue(_messages.Message):
    r"""Optional. If type is `OBJECT`, `properties` is a map of property names
    to schema definitions for each property of the object.

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

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

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

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

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

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

  additionalProperties = _messages.MessageField('extra_types.JsonValue', 1)
  anyOf = _messages.MessageField('GoogleCloudAiplatformV1Schema', 2, repeated=True)
  default = _messages.MessageField('extra_types.JsonValue', 3)
  defs = _messages.MessageField('DefsValue', 4)
  description = _messages.StringField(5)
  enum = _messages.StringField(6, repeated=True)
  example = _messages.MessageField('extra_types.JsonValue', 7)
  format = _messages.StringField(8)
  items = _messages.MessageField('GoogleCloudAiplatformV1Schema', 9)
  maxItems = _messages.IntegerField(10)
  maxLength = _messages.IntegerField(11)
  maxProperties = _messages.IntegerField(12)
  maximum = _messages.FloatField(13)
  minItems = _messages.IntegerField(14)
  minLength = _messages.IntegerField(15)
  minProperties = _messages.IntegerField(16)
  minimum = _messages.FloatField(17)
  nullable = _messages.BooleanField(18)
  pattern = _messages.StringField(19)
  properties = _messages.MessageField('PropertiesValue', 20)
  propertyOrdering = _messages.StringField(21, repeated=True)
  ref = _messages.StringField(22)
  required = _messages.StringField(23, repeated=True)
  title = _messages.StringField(24)
  type = _messages.EnumField('TypeValueValuesEnum', 25)


class GoogleCloudAiplatformV1SchemaAnnotationSpecColor(_messages.Message):
  r"""An entry of mapping between color and AnnotationSpec. The mapping is
  used in segmentation mask.

  Fields:
    color: The color of the AnnotationSpec in a segmentation mask.
    displayName: The display name of the AnnotationSpec represented by the
      color in the segmentation mask.
    id: The ID of the AnnotationSpec represented by the color in the
      segmentation mask.
  """

  color = _messages.MessageField('GoogleTypeColor', 1)
  displayName = _messages.StringField(2)
  id = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation(_messages.Message):
  r"""Annotation details specific to image object detection.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    xMax: The rightmost coordinate of the bounding box.
    xMin: The leftmost coordinate of the bounding box.
    yMax: The bottommost coordinate of the bounding box.
    yMin: The topmost coordinate of the bounding box.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  xMax = _messages.FloatField(3)
  xMin = _messages.FloatField(4)
  yMax = _messages.FloatField(5)
  yMin = _messages.FloatField(6)


class GoogleCloudAiplatformV1SchemaImageClassificationAnnotation(_messages.Message):
  r"""Annotation details specific to image classification.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaImageDataItem(_messages.Message):
  r"""Payload of Image DataItem.

  Fields:
    gcsUri: Required. Google Cloud Storage URI points to the original image in
      user's bucket. The image is up to 30MB in size.
    mimeType: Output only. The mime type of the content of the image. Only the
      images in below listed mime types are supported. - image/jpeg -
      image/gif - image/png - image/webp - image/bmp - image/tiff -
      image/vnd.microsoft.icon
  """

  gcsUri = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaImageDatasetMetadata(_messages.Message):
  r"""The metadata of Datasets that contain Image DataItems.

  Fields:
    dataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing payload of the Image DataItems that belong to this Dataset.
    gcsBucket: Google Cloud Storage Bucket name that contains the blob data of
      this Dataset.
  """

  dataItemSchemaUri = _messages.StringField(1)
  gcsBucket = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation(_messages.Message):
  r"""Annotation details specific to image segmentation.

  Fields:
    maskAnnotation: Mask based segmentation annotation. Only one mask
      annotation can exist for one image.
    polygonAnnotation: Polygon annotation.
    polylineAnnotation: Polyline annotation.
  """

  maskAnnotation = _messages.MessageField('GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation', 1)
  polygonAnnotation = _messages.MessageField('GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation', 2)
  polylineAnnotation = _messages.MessageField('GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation', 3)


class GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation(_messages.Message):
  r"""The mask based segmentation annotation.

  Fields:
    annotationSpecColors: The mapping between color and AnnotationSpec for
      this Annotation.
    maskGcsUri: Google Cloud Storage URI that points to the mask image. The
      image must be in PNG format. It must have the same size as the
      DataItem's image. Each pixel in the image mask represents the
      AnnotationSpec which the pixel in the image DataItem belong to. Each
      color is mapped to one AnnotationSpec based on annotation_spec_colors.
  """

  annotationSpecColors = _messages.MessageField('GoogleCloudAiplatformV1SchemaAnnotationSpecColor', 1, repeated=True)
  maskGcsUri = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation(_messages.Message):
  r"""Represents a polygon in image.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    vertexes: The vertexes are connected one by one and the last vertex is
      connected to the first one to represent a polygon.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  vertexes = _messages.MessageField('GoogleCloudAiplatformV1SchemaVertex', 3, repeated=True)


class GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation(_messages.Message):
  r"""Represents a polyline in image.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    vertexes: The vertexes are connected one by one and the last vertex in not
      connected to the first one.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  vertexes = _messages.MessageField('GoogleCloudAiplatformV1SchemaVertex', 3, repeated=True)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics(_messages.Message):
  r"""Bounding box matching model metrics for a single intersection-over-union
  threshold and multiple label match confidence thresholds.

  Fields:
    confidenceMetrics: Metrics for each label-match confidence_threshold from
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is
      derived from them.
    iouThreshold: The intersection-over-union threshold value used to compute
      this metrics entry.
    meanAveragePrecision: The mean average precision, most often close to
      `auPrc`.
  """

  confidenceMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics', 1, repeated=True)
  iouThreshold = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  meanAveragePrecision = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics(_messages.Message):
  r"""Metrics for a single confidence threshold.

  Fields:
    confidenceThreshold: The confidence threshold value used to compute the
      metrics.
    f1Score: The harmonic mean of recall and precision.
    precision: Precision under the given confidence threshold.
    recall: Recall under the given confidence threshold.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  f1Score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics(_messages.Message):
  r"""Metrics for classification evaluation results.

  Fields:
    auPrc: The Area Under Precision-Recall Curve metric. Micro-averaged for
      the overall evaluation.
    auRoc: The Area Under Receiver Operating Characteristic curve metric.
      Micro-averaged for the overall evaluation.
    confidenceMetrics: Metrics for each `confidenceThreshold` in
      0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` =
      INT32_MAX_VALUE. ROC and precision-recall curves, and other aggregated
      metrics are derived from them. The confidence metrics entries may also
      be supplied for additional values of `positionThreshold`, but from these
      no aggregated metrics are computed.
    confusionMatrix: Confusion matrix of the evaluation.
    logLoss: The Log Loss metric.
  """

  auPrc = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  auRoc = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  confidenceMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics', 3, repeated=True)
  confusionMatrix = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix', 4)
  logLoss = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvalu
  ationMetricsConfidenceMetrics object.

  Fields:
    confidenceThreshold: Metrics are computed with an assumption that the
      Model never returns predictions with score lower than this value.
    confusionMatrix: Confusion matrix of the evaluation for this
      confidence_threshold.
    f1Score: The harmonic mean of recall and precision. For summary metrics,
      it computes the micro-averaged F1 score.
    f1ScoreAt1: The harmonic mean of recallAt1 and precisionAt1.
    f1ScoreMacro: Macro-averaged F1 Score.
    f1ScoreMicro: Micro-averaged F1 Score.
    falseNegativeCount: The number of ground truth labels that are not matched
      by a Model created label.
    falsePositiveCount: The number of Model created labels that do not match a
      ground truth label.
    falsePositiveRate: False Positive Rate for the given confidence threshold.
    falsePositiveRateAt1: The False Positive Rate when only considering the
      label that has the highest prediction score and not below the confidence
      threshold for each DataItem.
    maxPredictions: Metrics are computed with an assumption that the Model
      always returns at most this many predictions (ordered by their score,
      descendingly), but they all still need to meet the
      `confidenceThreshold`.
    precision: Precision for the given confidence threshold.
    precisionAt1: The precision when only considering the label that has the
      highest prediction score and not below the confidence threshold for each
      DataItem.
    recall: Recall (True Positive Rate) for the given confidence threshold.
    recallAt1: The Recall (True Positive Rate) when only considering the label
      that has the highest prediction score and not below the confidence
      threshold for each DataItem.
    trueNegativeCount: The number of labels that were not created by the
      Model, but if they would, they would not match a ground truth label.
    truePositiveCount: The number of Model created labels that match a ground
      truth label.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  confusionMatrix = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix', 2)
  f1Score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  f1ScoreAt1 = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  f1ScoreMacro = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  f1ScoreMicro = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  falseNegativeCount = _messages.IntegerField(7)
  falsePositiveCount = _messages.IntegerField(8)
  falsePositiveRate = _messages.FloatField(9, variant=_messages.Variant.FLOAT)
  falsePositiveRateAt1 = _messages.FloatField(10, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(11, variant=_messages.Variant.INT32)
  precision = _messages.FloatField(12, variant=_messages.Variant.FLOAT)
  precisionAt1 = _messages.FloatField(13, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(14, variant=_messages.Variant.FLOAT)
  recallAt1 = _messages.FloatField(15, variant=_messages.Variant.FLOAT)
  trueNegativeCount = _messages.IntegerField(16)
  truePositiveCount = _messages.IntegerField(17)


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

  Fields:
    annotationSpecs: AnnotationSpecs used in the confusion matrix. For AutoML
      Text Extraction, a special negative AnnotationSpec with empty `id` and
      `displayName` of "NULL" will be added as the last element.
    rows: Rows in the confusion matrix. The number of rows is equal to the
      size of `annotationSpecs`. `rowsi` is the number of DataItems that have
      ground truth of the `annotationSpecs[i]` and are predicted as
      `annotationSpecs[j]` by the Model being evaluated. For Text Extraction,
      when `annotationSpecs[i]` is the last element in `annotationSpecs`, i.e.
      the special negative AnnotationSpec, `rowsi` is the number of predicted
      entities of `annoatationSpec[j]` that are not labeled as any of the
      ground truth AnnotationSpec. When annotationSpecs[j] is the special
      negative AnnotationSpec, `rowsi` is the number of entities have ground
      truth of `annotationSpec[i]` that are not predicted as an entity by the
      Model. The value of the last cell, i.e. `rowi` where i == j and
      `annotationSpec[i]` is the special negative AnnotationSpec, is always 0.
  """

  annotationSpecs = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef', 1, repeated=True)
  rows = _messages.MessageField('extra_types.JsonArray', 2, repeated=True)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnno
  tationSpecRef object.

  Fields:
    displayName: Display name of the AnnotationSpec.
    id: ID of the AnnotationSpec.
  """

  displayName = _messages.StringField(1)
  id = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics(_messages.Message):
  r"""Metrics for forecasting evaluation results.

  Fields:
    meanAbsoluteError: Mean Absolute Error (MAE).
    meanAbsolutePercentageError: Mean absolute percentage error. Infinity when
      there are zeros in the ground truth.
    quantileMetrics: The quantile metrics entries for each quantile.
    rSquared: Coefficient of determination as Pearson correlation coefficient.
      Undefined when ground truth or predictions are constant or near
      constant.
    rootMeanSquaredError: Root Mean Squared Error (RMSE).
    rootMeanSquaredLogError: Root mean squared log error. Undefined when there
      are negative ground truth values or predictions.
    rootMeanSquaredPercentageError: Root Mean Square Percentage Error. Square
      root of MSPE. Undefined/imaginary when MSPE is negative.
    weightedAbsolutePercentageError: Weighted Absolute Percentage Error. Does
      not use weights, this is just what the metric is called. Undefined if
      actual values sum to zero. Will be very large if actual values sum to a
      very small number.
  """

  meanAbsoluteError = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  meanAbsolutePercentageError = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  quantileMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry', 3, repeated=True)
  rSquared = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  rootMeanSquaredError = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  rootMeanSquaredLogError = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  rootMeanSquaredPercentageError = _messages.FloatField(7, variant=_messages.Variant.FLOAT)
  weightedAbsolutePercentageError = _messages.FloatField(8, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry(_messages.Message):
  r"""Entry for the Quantiles loss type optimization objective.

  Fields:
    observedQuantile: This is a custom metric that calculates the percentage
      of true values that were less than the predicted value for that
      quantile. Only populated when optimization_objective is minimize-
      quantile-loss and each entry corresponds to an entry in quantiles The
      percent value can be used to compare with the quantile value, which is
      the target value.
    quantile: The quantile for this entry.
    scaledPinballLoss: The scaled pinball loss of this quantile.
  """

  observedQuantile = _messages.FloatField(1)
  quantile = _messages.FloatField(2)
  scaledPinballLoss = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerati
  onEvaluationMetrics object.

  Fields:
    bleu: BLEU (bilingual evaluation understudy) scores based on sacrebleu
      implementation.
    rougeLSum: ROUGE-L (Longest Common Subsequence) scoring at summary level.
  """

  bleu = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  rougeLSum = _messages.FloatField(2, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics(_messages.Message):
  r"""Metrics for image object detection evaluation results.

  Fields:
    boundingBoxMeanAveragePrecision: The single metric for bounding boxes
      evaluation: the `meanAveragePrecision` averaged over all
      `boundingBoxMetricsEntries`.
    boundingBoxMetrics: The bounding boxes match metrics for each
      intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
      and each label confidence threshold
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
    evaluatedBoundingBoxCount: The total number of bounding boxes (i.e. summed
      over all images) the ground truth used to create this evaluation had.
  """

  boundingBoxMeanAveragePrecision = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  boundingBoxMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics', 2, repeated=True)
  evaluatedBoundingBoxCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics(_messages.Message):
  r"""Metrics for image segmentation evaluation results.

  Fields:
    confidenceMetricsEntries: Metrics for each confidenceThreshold in
      0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve can
      be derived from it.
  """

  confidenceMetricsEntries = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry', 1, repeated=True)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEv
  aluationMetricsConfidenceMetricsEntry object.

  Fields:
    confidenceThreshold: Metrics are computed with an assumption that the
      model never returns predictions with score lower than this value.
    confusionMatrix: Confusion matrix for the given confidence threshold.
    diceScoreCoefficient: DSC or the F1 score, The harmonic mean of recall and
      precision.
    iouScore: The intersection-over-union score. The measure of overlap of the
      annotation's category mask with ground truth category mask on the
      DataItem.
    precision: Precision for the given confidence threshold.
    recall: Recall (True Positive Rate) for the given confidence threshold.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  confusionMatrix = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix', 2)
  diceScoreCoefficient = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  iouScore = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(6, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics(_messages.Message):
  r"""Metrics for general pairwise text generation evaluation results.

  Fields:
    accuracy: Fraction of cases where the autorater agreed with the human
      raters.
    baselineModelWinRate: Percentage of time the autorater decided the
      baseline model had the better response.
    cohensKappa: A measurement of agreement between the autorater and human
      raters that takes the likelihood of random agreement into account.
    f1Score: Harmonic mean of precision and recall.
    falseNegativeCount: Number of examples where the autorater chose the
      baseline model, but humans preferred the model.
    falsePositiveCount: Number of examples where the autorater chose the
      model, but humans preferred the baseline model.
    humanPreferenceBaselineModelWinRate: Percentage of time humans decided the
      baseline model had the better response.
    humanPreferenceModelWinRate: Percentage of time humans decided the model
      had the better response.
    modelWinRate: Percentage of time the autorater decided the model had the
      better response.
    precision: Fraction of cases where the autorater and humans thought the
      model had a better response out of all cases where the autorater thought
      the model had a better response. True positive divided by all positive.
    recall: Fraction of cases where the autorater and humans thought the model
      had a better response out of all cases where the humans thought the
      model had a better response.
    trueNegativeCount: Number of examples where both the autorater and humans
      decided that the model had the worse response.
    truePositiveCount: Number of examples where both the autorater and humans
      decided that the model had the better response.
  """

  accuracy = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  baselineModelWinRate = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  cohensKappa = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  f1Score = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  falseNegativeCount = _messages.IntegerField(5)
  falsePositiveCount = _messages.IntegerField(6)
  humanPreferenceBaselineModelWinRate = _messages.FloatField(7, variant=_messages.Variant.FLOAT)
  humanPreferenceModelWinRate = _messages.FloatField(8, variant=_messages.Variant.FLOAT)
  modelWinRate = _messages.FloatField(9, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(10, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(11, variant=_messages.Variant.FLOAT)
  trueNegativeCount = _messages.IntegerField(12)
  truePositiveCount = _messages.IntegerField(13)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEv
  aluationMetrics object.

  Fields:
    exactMatch: The rate at which the input predicted strings exactly match
      their references.
  """

  exactMatch = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics(_messages.Message):
  r"""Metrics for regression evaluation results.

  Fields:
    meanAbsoluteError: Mean Absolute Error (MAE).
    meanAbsolutePercentageError: Mean absolute percentage error. Infinity when
      there are zeros in the ground truth.
    rSquared: Coefficient of determination as Pearson correlation coefficient.
      Undefined when ground truth or predictions are constant or near
      constant.
    rootMeanSquaredError: Root Mean Squared Error (RMSE).
    rootMeanSquaredLogError: Root mean squared log error. Undefined when there
      are negative ground truth values or predictions.
  """

  meanAbsoluteError = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  meanAbsolutePercentageError = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  rSquared = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  rootMeanSquaredError = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  rootMeanSquaredLogError = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvalua
  tionMetrics object.

  Fields:
    rougeLSum: ROUGE-L (Longest Common Subsequence) scoring at summary level.
  """

  rougeLSum = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics(_messages.Message):
  r"""Metrics for text extraction evaluation results.

  Fields:
    confidenceMetrics: Metrics that have confidence thresholds. Precision-
      recall curve can be derived from them.
    confusionMatrix: Confusion matrix of the evaluation. Only set for Models
      where number of AnnotationSpecs is no more than 10. Only set for
      ModelEvaluations, not for ModelEvaluationSlices.
  """

  confidenceMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics', 1, repeated=True)
  confusionMatrix = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix', 2)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvalu
  ationMetricsConfidenceMetrics object.

  Fields:
    confidenceThreshold: Metrics are computed with an assumption that the
      Model never returns predictions with score lower than this value.
    f1Score: The harmonic mean of recall and precision.
    precision: Precision for the given confidence threshold.
    recall: Recall (True Positive Rate) for the given confidence threshold.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  f1Score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics(_messages.Message):
  r"""Model evaluation metrics for text sentiment problems.

  Fields:
    confusionMatrix: Confusion matrix of the evaluation. Only set for
      ModelEvaluations, not for ModelEvaluationSlices.
    f1Score: The harmonic mean of recall and precision.
    linearKappa: Linear weighted kappa. Only set for ModelEvaluations, not for
      ModelEvaluationSlices.
    meanAbsoluteError: Mean absolute error. Only set for ModelEvaluations, not
      for ModelEvaluationSlices.
    meanSquaredError: Mean squared error. Only set for ModelEvaluations, not
      for ModelEvaluationSlices.
    precision: Precision.
    quadraticKappa: Quadratic weighted kappa. Only set for ModelEvaluations,
      not for ModelEvaluationSlices.
    recall: Recall.
  """

  confusionMatrix = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix', 1)
  f1Score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  linearKappa = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  meanAbsoluteError = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  meanSquaredError = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  quadraticKappa = _messages.FloatField(7, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(8, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics(_messages.Message):
  r"""UNIMPLEMENTED. Track matching model metrics for a single track match
  threshold and multiple label match confidence thresholds.

  Fields:
    confidenceMetrics: Metrics for each label-match `confidenceThreshold` from
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is
      derived from them.
    iouThreshold: The intersection-over-union threshold value between bounding
      boxes across frames used to compute this metric entry.
    meanBoundingBoxIou: The mean bounding box iou over all confidence
      thresholds.
    meanMismatchRate: The mean mismatch rate over all confidence thresholds.
    meanTrackingAveragePrecision: The mean average precision over all
      confidence thresholds.
  """

  confidenceMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics', 1, repeated=True)
  iouThreshold = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  meanBoundingBoxIou = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  meanMismatchRate = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  meanTrackingAveragePrecision = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics(_messages.Message):
  r"""Metrics for a single confidence threshold.

  Fields:
    boundingBoxIou: Bounding box intersection-over-union precision. Measures
      how well the bounding boxes overlap between each other (e.g. complete
      overlap or just barely above iou_threshold).
    confidenceThreshold: The confidence threshold value used to compute the
      metrics.
    mismatchRate: Mismatch rate, which measures the tracking consistency, i.e.
      correctness of instance ID continuity.
    trackingPrecision: Tracking precision.
    trackingRecall: Tracking recall.
  """

  boundingBoxIou = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  confidenceThreshold = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  mismatchRate = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  trackingPrecision = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  trackingRecall = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics(_messages.Message):
  r"""The Evaluation metrics given a specific precision_window_length.

  Fields:
    confidenceMetrics: Metrics for each label-match confidence_threshold from
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.
    meanAveragePrecision: The mean average precision.
    precisionWindowLength: This VideoActionMetrics is calculated based on this
      prediction window length. If the predicted action's timestamp is inside
      the time window whose center is the ground truth action's timestamp with
      this specific length, the prediction result is treated as a true
      positive.
  """

  confidenceMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics', 1, repeated=True)
  meanAveragePrecision = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  precisionWindowLength = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics(_messages.Message):
  r"""Metrics for a single confidence threshold.

  Fields:
    confidenceThreshold: Output only. The confidence threshold value used to
      compute the metrics.
    f1Score: Output only. The harmonic mean of recall and precision.
    precision: Output only. Precision for the given confidence threshold.
    recall: Output only. Recall for the given confidence threshold.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  f1Score = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  precision = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  recall = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics(_messages.Message):
  r"""Model evaluation metrics for video action recognition.

  Fields:
    evaluatedActionCount: The number of ground truth actions used to create
      this evaluation.
    videoActionMetrics: The metric entries for precision window lengths:
      1s,2s,3s.
  """

  evaluatedActionCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  videoActionMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics', 2, repeated=True)


class GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics(_messages.Message):
  r"""Model evaluation metrics for video object tracking problems. Evaluates
  prediction quality of both labeled bounding boxes and labeled tracks (i.e.
  series of bounding boxes sharing same label and instance ID).

  Fields:
    boundingBoxMeanAveragePrecision: The single metric for bounding boxes
      evaluation: the `meanAveragePrecision` averaged over all
      `boundingBoxMetrics`.
    boundingBoxMetrics: The bounding boxes match metrics for each
      intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
      and each label confidence threshold
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
    evaluatedBoundingBoxCount: UNIMPLEMENTED. The total number of bounding
      boxes (i.e. summed over all frames) the ground truth used to create this
      evaluation had.
    evaluatedFrameCount: UNIMPLEMENTED. The number of video frames used to
      create this evaluation.
    evaluatedTrackCount: UNIMPLEMENTED. The total number of tracks (i.e. as
      seen across all frames) the ground truth used to create this evaluation
      had.
    trackMeanAveragePrecision: UNIMPLEMENTED. The single metric for tracks
      accuracy evaluation: the `meanAveragePrecision` averaged over all
      `trackMetrics`.
    trackMeanBoundingBoxIou: UNIMPLEMENTED. The single metric for tracks
      bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all
      `trackMetrics`.
    trackMeanMismatchRate: UNIMPLEMENTED. The single metric for tracking
      consistency evaluation: the `meanMismatchRate` averaged over all
      `trackMetrics`.
    trackMetrics: UNIMPLEMENTED. The tracks match metrics for each
      intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99
      and each label confidence threshold
      0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
  """

  boundingBoxMeanAveragePrecision = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  boundingBoxMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics', 2, repeated=True)
  evaluatedBoundingBoxCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  evaluatedFrameCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  evaluatedTrackCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  trackMeanAveragePrecision = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  trackMeanBoundingBoxIou = _messages.FloatField(7, variant=_messages.Variant.FLOAT)
  trackMeanMismatchRate = _messages.FloatField(8, variant=_messages.Variant.FLOAT)
  trackMetrics = _messages.MessageField('GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics', 9, repeated=True)


class GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance(_messages.Message):
  r"""Prediction input format for Image Classification.

  Fields:
    content: The image bytes or Cloud Storage URI to make the prediction on.
    mimeType: The MIME type of the content of the image. Only the images in
      below listed MIME types are supported. - image/jpeg - image/gif -
      image/png - image/webp - image/bmp - image/tiff -
      image/vnd.microsoft.icon
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance(_messages.Message):
  r"""Prediction input format for Image Object Detection.

  Fields:
    content: The image bytes or Cloud Storage URI to make the prediction on.
    mimeType: The MIME type of the content of the image. Only the images in
      below listed MIME types are supported. - image/jpeg - image/gif -
      image/png - image/webp - image/bmp - image/tiff -
      image/vnd.microsoft.icon
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance(_messages.Message):
  r"""Prediction input format for Image Segmentation.

  Fields:
    content: The image bytes to make the predictions on.
    mimeType: The MIME type of the content of the image. Only the images in
      below listed MIME types are supported. - image/jpeg - image/png
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance(_messages.Message):
  r"""Prediction input format for Text Classification.

  Fields:
    content: The text snippet to make the predictions on.
    mimeType: The MIME type of the text snippet. The supported MIME types are
      listed below. - text/plain
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceTextEmbeddingPredictionInstance(_messages.Message):
  r"""Prediction input format for Text Embedding. An embedding is a numerical
  representation (a vector of floating-point numbers) of text that captures
  its semantic meaning, enabling tasks like semantic search, classification,
  and clustering. LINT.IfChange

  Enums:
    TaskTypeValueValuesEnum: The task that the generated embeddings will be
      used for. The model uses this hint to generate embeddings that are
      optimized for your use case. If not set, the default task type is used.

  Fields:
    content: The text passage to generate the embedding for. This can be a
      phrase, sentence, or document.
    taskType: The task that the generated embeddings will be used for. The
      model uses this hint to generate embeddings that are optimized for your
      use case. If not set, the default task type is used.
    title: The title for the text passage in the `content` field. If you are
      embedding documents for the `RETRIEVAL_DOCUMENT` task type, providing a
      title can improve the quality of the embedding.
  """

  class TaskTypeValueValuesEnum(_messages.Enum):
    r"""The task that the generated embeddings will be used for. The model
    uses this hint to generate embeddings that are optimized for your use
    case. If not set, the default task type is used.

    Values:
      DEFAULT: Task type not specified. The model will use a default value
        suitable for semantic similarity and retrieval.
      RETRIEVAL_QUERY: Specifies the given text is a query in a
        search/retrieval setting. Use this task type for embeddings that will
        be used to search a corpus of documents.
      RETRIEVAL_DOCUMENT: Specifies the given text is a document from the
        corpus being searched. Use this task type for texts that are part of a
        corpus that will be searched.
      SEMANTIC_SIMILARITY: Use this task type for Semantic Textual Similarity
        (STS). These embeddings will be compared with each other to measure
        semantic similarity.
      CLASSIFICATION: Specifies that the given text will be classified. Use
        this task type to generate embeddings that will be used as input to a
        classification model (e.g., classifying text as spam or not spam).
      CLUSTERING: Specifies that the embeddings will be used for clustering.
        Use this task type to generate embeddings that will be used to group
        similar texts together.
      QUESTION_ANSWERING: Specifies that the embeddings will be used for
        question answering. Use this task type to generate embeddings for
        texts that are part of a question answering system.
      FACT_VERIFICATION: Specifies that the embeddings will be used for fact
        verification. Use this task type to generate embeddings for texts that
        are part of a fact verification system.
      CODE_RETRIEVAL_QUERY: Specifies that the embeddings will be used for
        code retrieval. Use this task type for embeddings that will be used to
        search a corpus of code.
    """
    DEFAULT = 0
    RETRIEVAL_QUERY = 1
    RETRIEVAL_DOCUMENT = 2
    SEMANTIC_SIMILARITY = 3
    CLASSIFICATION = 4
    CLUSTERING = 5
    QUESTION_ANSWERING = 6
    FACT_VERIFICATION = 7
    CODE_RETRIEVAL_QUERY = 8

  content = _messages.StringField(1)
  taskType = _messages.EnumField('TaskTypeValueValuesEnum', 2)
  title = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance(_messages.Message):
  r"""Prediction input format for Text Extraction.

  Fields:
    content: The text snippet to make the predictions on.
    key: This field is only used for batch prediction. If a key is provided,
      the batch prediction result will by mapped to this key. If omitted, then
      the batch prediction result will contain the entire input instance.
      Vertex AI will not check if keys in the request are duplicates, so it is
      up to the caller to ensure the keys are unique.
    mimeType: The MIME type of the text snippet. The supported MIME types are
      listed below. - text/plain
  """

  content = _messages.StringField(1)
  key = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance(_messages.Message):
  r"""Prediction input format for Text Sentiment.

  Fields:
    content: The text snippet to make the predictions on.
    mimeType: The MIME type of the text snippet. The supported MIME types are
      listed below. - text/plain
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance(_messages.Message):
  r"""Prediction input format for Video Action Recognition.

  Fields:
    content: The Google Cloud Storage location of the video on which to
      perform the prediction.
    mimeType: The MIME type of the content of the video. Only the following
      are supported: video/mp4 video/avi video/quicktime
    timeSegmentEnd: The end, exclusive, of the video's time segment on which
      to perform the prediction. Expressed as a number of seconds as measured
      from the start of the video, with "s" appended at the end. Fractions are
      allowed, up to a microsecond precision, and "inf" or "Infinity" is
      allowed, which means the end of the video.
    timeSegmentStart: The beginning, inclusive, of the video's time segment on
      which to perform the prediction. Expressed as a number of seconds as
      measured from the start of the video, with "s" appended at the end.
      Fractions are allowed, up to a microsecond precision.
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)
  timeSegmentEnd = _messages.StringField(3)
  timeSegmentStart = _messages.StringField(4)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance(_messages.Message):
  r"""Prediction input format for Video Classification.

  Fields:
    content: The Google Cloud Storage location of the video on which to
      perform the prediction.
    mimeType: The MIME type of the content of the video. Only the following
      are supported: video/mp4 video/avi video/quicktime
    timeSegmentEnd: The end, exclusive, of the video's time segment on which
      to perform the prediction. Expressed as a number of seconds as measured
      from the start of the video, with "s" appended at the end. Fractions are
      allowed, up to a microsecond precision, and "inf" or "Infinity" is
      allowed, which means the end of the video.
    timeSegmentStart: The beginning, inclusive, of the video's time segment on
      which to perform the prediction. Expressed as a number of seconds as
      measured from the start of the video, with "s" appended at the end.
      Fractions are allowed, up to a microsecond precision.
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)
  timeSegmentEnd = _messages.StringField(3)
  timeSegmentStart = _messages.StringField(4)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstance(_messages.Message):
  r"""An instance for a video generation prediction request.

  Fields:
    cameraControl: The camera motion to apply to the generated video. This
      field can only be used if `image` is also provided. Supported values: -
      `fixed`: No camera motion. - `pan_left`: Pan camera to the left. -
      `pan_right`: Pan camera to the right. - `tilt_up`: Tilt camera up. -
      `tilt_down`: Tilt camera down. - `truck_left`: Move camera to the left.
      - `truck_right`: Move camera to the right. - `pedestal_up`: Move camera
      up. - `pedestal_down`: Move camera down. - `push_in`: Move camera closer
      to the subject. - `pull_out`: Move camera away from the subject.
    image: An optional image to use as a starting point for video generation,
      used as the first frame of the generated video. If `image` is provided,
      `video` and `reference_images` cannot be used.
    lastFrame: Image to use as the last frame of the generated video. This
      field can only be used if `image` is also provided.
    mask: An optional mask to apply to the input `video` for video editing
      tasks like inserting or removing objects, or outpainting.
    prompt: A text description of the video you want to generate. The prompt
      should specify the subject, style, and any specific elements or actions
      that should appear in the video.
    referenceImages: Optional reference images to guide video generation. If
      `reference_images` are provided, `prompt` must also be provided, and
      `image`, `video`, and `last_frame` cannot be used. You can provide up to
      3 `asset` images or 1 `style` image.
    video: An optional input video to use as a starting point for video
      generation. If `video` is provided, `image` and `reference_images`
      cannot be used. If `mask` is also provided, the input video will be
      edited based on the mask. If `mask` is not provided, the input video
      will be extended in duration.
  """

  cameraControl = _messages.StringField(1)
  image = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceImage', 2)
  lastFrame = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceImage', 3)
  mask = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceMask', 4)
  prompt = _messages.StringField(5)
  referenceImages = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceReferenceImage', 6, repeated=True)
  video = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceVideo', 7)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceImage(_messages.Message):
  r"""Defines the input image format.

  Fields:
    bytesBase64Encoded: The image bytes encoded in base64.
    gcsUri: A Google Cloud Storage URI pointing to the image file.
    mimeType: The MIME type of the image. Supported MIME types: - image/jpeg -
      image/png
  """

  bytesBase64Encoded = _messages.StringField(1)
  gcsUri = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceMask(_messages.Message):
  r"""Defines the input mask format for video editing. A mask specifies
  regions of a video or image to modify or preserve.

  Fields:
    bytesBase64Encoded: The mask bytes encoded in base64.
    gcsUri: A Google Cloud Storage URI pointing to the mask file.
    maskMode: Specifies how the mask is applied to the input video for
      editing. For `insert`, `remove`, and `remove_static` modes, the mask
      must have the same aspect ratio as the input video. For `outpaint` mode,
      the mask can be 9:16 or 16:9. Supported values: - `insert`: The mask
      defines a rectangular region in the first frame of the input video. The
      object described in the `prompt` is inserted into this region and
      appears in subsequent frames. - `remove`: The mask identifies an object
      in the first frame to track and remove from the video. -
      `remove_static`: The mask identifies a static region in the video from
      which to remove objects. - `outpaint`: The mask defines a region where
      the input video is placed. The area outside this region is generated
      based on the `prompt`. Video masks are not supported for outpainting.
    mimeType: The MIME type of the mask. Supported MIME types: - image/png -
      image/jpeg - image/webp - video/mov - video/mpeg - video/mp4 - video/mpg
      - video/avi - video/wmv - video/mpegps - video/flv
  """

  bytesBase64Encoded = _messages.StringField(1)
  gcsUri = _messages.StringField(2)
  maskMode = _messages.StringField(3)
  mimeType = _messages.StringField(4)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceReferenceImage(_messages.Message):
  r"""Defines the input reference image format. A reference image provides
  additional context to guide video generation, such as style or assets.

  Fields:
    image: The image data for the reference image.
    referenceType: The type of reference image, which defines how it
      influences video generation. Supported values: - `asset`: The reference
      image provides assets to the generated video, such as the scene, an
      object, or a character. - `style`: The aesthetics of the reference image
      (e.g., colors, lighting, texture) are used to define the style of the
      generated video, such as 'anime', 'photography', or 'origami'.
  """

  image = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceImage', 1)
  referenceType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoGenerationModelInstanceVideo(_messages.Message):
  r"""Defines the input video format.

  Fields:
    bytesBase64Encoded: The video bytes encoded in base64.
    gcsUri: A Google Cloud Storage URI pointing to the video file.
    mimeType: The MIME type of the video. Supported MIME types: - video/mov -
      video/mpeg - video/mp4 - video/mpg - video/avi - video/wmv -
      video/mpegps - video/flv
  """

  bytesBase64Encoded = _messages.StringField(1)
  gcsUri = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance(_messages.Message):
  r"""Prediction input format for Video Object Tracking.

  Fields:
    content: The Google Cloud Storage location of the video on which to
      perform the prediction.
    mimeType: The MIME type of the content of the video. Only the following
      are supported: video/mp4 video/avi video/quicktime
    timeSegmentEnd: The end, exclusive, of the video's time segment on which
      to perform the prediction. Expressed as a number of seconds as measured
      from the start of the video, with "s" appended at the end. Fractions are
      allowed, up to a microsecond precision, and "inf" or "Infinity" is
      allowed, which means the end of the video.
    timeSegmentStart: The beginning, inclusive, of the video's time segment on
      which to perform the prediction. Expressed as a number of seconds as
      measured from the start of the video, with "s" appended at the end.
      Fractions are allowed, up to a microsecond precision.
  """

  content = _messages.StringField(1)
  mimeType = _messages.StringField(2)
  timeSegmentEnd = _messages.StringField(3)
  timeSegmentStart = _messages.StringField(4)


class GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstance(_messages.Message):
  r"""Input format for requesting embeddings from vision models. An embedding
  is a list of numbers that represents the semantic meaning of text, an image,
  or a video. Embeddings can be used for many applications, like searching for
  similar images or getting recommendations. Each instance must specify
  exactly one of `text`, `image`, or `video` field.

  Fields:
    image: An image to generate embeddings for.
    text: Text to generate embeddings for.
    video: A video to generate embeddings for.
  """

  image = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceImage', 1)
  text = _messages.StringField(2)
  video = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceVideo', 3)


class GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceImage(_messages.Message):
  r"""Represents an image input for embedding generation.

  Fields:
    bytesBase64Encoded: Base64-encoded bytes of the image.
    gcsUri: A Cloud Storage URI pointing to the image file. Format:
      `gs://bucket/object`
    mimeType: The MIME type of the image. The supported MIME types are: -
      `image/jpeg` - `image/png`
  """

  bytesBase64Encoded = _messages.StringField(1)
  gcsUri = _messages.StringField(2)
  mimeType = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceVideo(_messages.Message):
  r"""Represents a video input for embedding generation.

  Fields:
    bytesBase64Encoded: Base64-encoded bytes of the video.
    gcsUri: A Cloud Storage URI pointing to the video file. Format:
      `gs://bucket/object`
    videoSegmentConfig: Configuration for processing a video segment. If
      specified, embeddings are generated for the segment. If not specified,
      embeddings are generated for the entire video.
  """

  bytesBase64Encoded = _messages.StringField(1)
  gcsUri = _messages.StringField(2)
  videoSegmentConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceVideoVideoSegmentConfig', 3)


class GoogleCloudAiplatformV1SchemaPredictInstanceVisionEmbeddingModelInstanceVideoVideoSegmentConfig(_messages.Message):
  r"""Configuration for processing a segment of a video.

  Fields:
    endOffsetSec: The end offset of the video segment in seconds.
    intervalSec: The interval of the video for which the embedding will be
      generated. The minimum value for `interval_sec` is 4. If the interval is
      less than 4, an `InvalidArgumentError` is returned. There are no
      limitations on the maximum value of the interval. However, if the
      interval is larger than `min(video_length, 120s)`, it might affect the
      quality of the generated embeddings.
    startOffsetSec: The start offset of the video segment in seconds.
  """

  endOffsetSec = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  intervalSec = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  startOffsetSec = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams(_messages.Message):
  r"""Prediction model parameters for Image Classification.

  Fields:
    confidenceThreshold: The Model only returns predictions with at least this
      confidence score. Default value is 0.0
    maxPredictions: The Model only returns up to that many top, by confidence
      score, predictions per instance. If this number is very high, the Model
      may return fewer predictions. Default value is 10.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams(_messages.Message):
  r"""Prediction model parameters for Image Object Detection.

  Fields:
    confidenceThreshold: The Model only returns predictions with at least this
      confidence score. Default value is 0.0
    maxPredictions: The Model only returns up to that many top, by confidence
      score, predictions per instance. Note that number of returned
      predictions is also limited by metadata's predictionsLimit. Default
      value is 10.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams(_messages.Message):
  r"""Prediction model parameters for Image Segmentation.

  Fields:
    confidenceThreshold: When the model predicts category of pixels of the
      image, it will only provide predictions for pixels that it is at least
      this much confident about. All other pixels will be classified as
      background. Default value is 0.5.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictParamsTextEmbeddingPredictionParams(_messages.Message):
  r"""Prediction model parameters for Text Embedding. Text embeddings are
  numerical representations of text that capture semantic meaning, used for
  tasks like semantic search, classification, and clustering.

  Fields:
    autoTruncate: Optional. Whether to silently truncate inputs longer than
      the maximum input token limit. This behavior is enabled by default. If
      this option is set to false, inputs longer than the limit will cause an
      INVALID_ARGUMENT error.
    outputDimensionality: Parameter to reduce the dimensionality of the output
      embedding. Some models support this feature, which can reduce storage
      and computation costs. If you specify this parameter, you must use a
      value supported by the model. If the model does not support it, or if
      you specify an unsupported dimension, the request will fail with an
      `INVALID_ARGUMENT` error.
  """

  autoTruncate = _messages.BooleanField(1)
  outputDimensionality = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams(_messages.Message):
  r"""Prediction model parameters for Video Action Recognition.

  Fields:
    confidenceThreshold: The Model only returns predictions with at least this
      confidence score. Default value is 0.0
    maxPredictions: The model only returns up to that many top, by confidence
      score, predictions per frame of the video. If this number is very high,
      the Model may return fewer predictions per frame. Default value is 50.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams(_messages.Message):
  r"""Prediction model parameters for Video Classification.

  Fields:
    confidenceThreshold: The Model only returns predictions with at least this
      confidence score. Default value is 0.0
    maxPredictions: The Model only returns up to that many top, by confidence
      score, predictions per instance. If this number is very high, the Model
      may return fewer predictions. Default value is 10,000.
    oneSecIntervalClassification: Set to true to request classification for a
      video at one-second intervals. Vertex AI returns labels and their
      confidence scores for each second of the entire time segment of the
      video that user specified in the input WARNING: Model evaluation is not
      done for this classification type, the quality of it depends on the
      training data, but there are no metrics provided to describe that
      quality. Default value is false
    segmentClassification: Set to true to request segment-level
      classification. Vertex AI returns labels and their confidence scores for
      the entire time segment of the video that user specified in the input
      instance. Default value is true
    shotClassification: Set to true to request shot-level classification.
      Vertex AI determines the boundaries for each camera shot in the entire
      time segment of the video that user specified in the input instance.
      Vertex AI then returns labels and their confidence scores for each
      detected shot, along with the start and end time of the shot. WARNING:
      Model evaluation is not done for this classification type, the quality
      of it depends on the training data, but there are no metrics provided to
      describe that quality. Default value is false
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  oneSecIntervalClassification = _messages.BooleanField(3)
  segmentClassification = _messages.BooleanField(4)
  shotClassification = _messages.BooleanField(5)


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

  Fields:
    aspectRatio: The aspect ratio of the generated videos. Supported values: *
      `16:9` (landscape) * `9:16` (portrait)
    compressionQuality: The compression quality of the generated videos. A
      lower quality might result in a smaller file size, while a higher
      quality might result in a better-looking video. Supported values: *
      `optimized`: (Default) Optimized for quality and file size. *
      `lossless`: Highest quality, larger file size.
    durationSeconds: The target duration of the generated videos in seconds.
      The actual duration of the generated videos may vary slightly. If not
      specified, a default value appropriate for the model is used.
    enablePromptRewriting: Deprecated: This field is deprecated and has no
      effect. Use `enhance_prompt` instead.
    enhancePrompt: Whether to automatically enhance the prompt before
      generating videos. If true, the prompt is improved to generate higher
      quality videos. If prompt enhancement is enabled, providing a `seed`
      won't guarantee consistent results. Defaults to true.
    fps: The frame rate of the generated videos in frames per second (fps).
      This value can affect the smoothness of motion in the video. If not
      specified, a default value appropriate for the model is used.
    generateAudio: Whether to generate audio along with the video. If true, an
      audio track is generated for the videos. Defaults to true.
    negativePrompt: Things that shouldn't appear in the generated videos. For
      example: "low quality", "ugly", "deformed".
    personGeneration: Controls whether videos of people can be generated,
      based on age appearance. Supported values: * `dont_allow`: Prevents
      generation of videos with people. * `allow_adult`: Allows generation of
      videos with people who appear to be adults. * `allow_all`: Allows
      generation of videos with people of all ages. If not specified,
      `allow_adult` is used.
    pubsubTopic: The Cloud Pub/Sub topic to publish video generation progress
      to. If this field is specified, messages are published to the topic
      detailing the progress of video generation. The topic must be in the
      format `projects/{project}/topics/{topic}`.
    resizeMode: The resize mode for the generated videos. Supported values: *
      `pad`: Pad the video to the specified aspect ratio. * `crop`: Crop the
      video to the specified aspect ratio. If not specified, `pad` is used.
    resolution: The resolution of the generated videos. Supported values: *
      `720p` * `1080p`
    sampleCount: The number of videos to generate. If not specified, 1 video
      is generated.
    seed: Seed for random number generation. Providing the same seed with the
      same input parameters will produce consistent video generation results.
      If not specified, a random seed is used, resulting in different videos
      each time. If `sample_count` is greater than 1, a different random seed
      is used for each generated video, even if a `seed` is provided.
    storageUri: The Google Cloud Storage URI for saving the generated videos.
      The URI must start with `gs://` and point to a bucket or folder. If this
      field is specified, generated videos are uploaded to the specified
      location.
    task: The task to perform. If not specified, the task is inferred from
      other input fields. Supported values: * `text_to_video`: Generate a
      video from a text prompt. * `image_to_video`: Generate a video from an
      start frame, an optional end frame, and a text prompt. *
      `reference_to_video`: Generate a video from one to three reference
      images, an optional reference audio and a text prompt. * `edit`: Edit a
      video based on a mask and a text prompt. * `extend`: Extend a video
      based on a text prompt. * `upscale`: Upscale a video to a higher
      resolution.
  """

  aspectRatio = _messages.StringField(1)
  compressionQuality = _messages.StringField(2)
  durationSeconds = _messages.FloatField(3)
  enablePromptRewriting = _messages.BooleanField(4)
  enhancePrompt = _messages.BooleanField(5)
  fps = _messages.IntegerField(6, variant=_messages.Variant.INT32)
  generateAudio = _messages.BooleanField(7)
  negativePrompt = _messages.StringField(8)
  personGeneration = _messages.StringField(9)
  pubsubTopic = _messages.StringField(10)
  resizeMode = _messages.StringField(11)
  resolution = _messages.StringField(12)
  sampleCount = _messages.IntegerField(13, variant=_messages.Variant.INT32)
  seed = _messages.IntegerField(14, variant=_messages.Variant.INT32)
  storageUri = _messages.StringField(15)
  task = _messages.StringField(16)


class GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams(_messages.Message):
  r"""Prediction model parameters for Video Object Tracking.

  Fields:
    confidenceThreshold: The Model only returns predictions with at least this
      confidence score. Default value is 0.0
    maxPredictions: The model only returns up to that many top, by confidence
      score, predictions per frame of the video. If this number is very high,
      the Model may return fewer predictions per frame. Default value is 50.
    minBoundingBoxSize: Only bounding boxes with shortest edge at least that
      long as a relative value of video frame size are returned. Default value
      is 0.0.
  """

  confidenceThreshold = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  maxPredictions = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  minBoundingBoxSize = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictParamsVisionEmbeddingModelParams(_messages.Message):
  r"""Parameter format for large vision model embedding api."""


class GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult(_messages.Message):
  r"""Prediction output format for Image and Text Classification.

  Fields:
    confidences: The Model's confidences in correctness of the predicted IDs,
      higher value means higher confidence. Order matches the Ids.
    displayNames: The display names of the AnnotationSpecs that had been
      identified, order matches the IDs.
    ids: The resource IDs of the AnnotationSpecs that had been identified.
  """

  confidences = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)
  displayNames = _messages.StringField(2, repeated=True)
  ids = _messages.IntegerField(3, repeated=True)


class GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult(_messages.Message):
  r"""Prediction output format for Image Object Detection.

  Fields:
    bboxes: Bounding boxes, i.e. the rectangles over the image, that pinpoint
      the found AnnotationSpecs. Given in order that matches the IDs. Each
      bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and
      `yMax`, which represent the extremal coordinates of the box. They are
      relative to the image size, and the point 0,0 is in the top left of the
      image.
    confidences: The Model's confidences in correctness of the predicted IDs,
      higher value means higher confidence. Order matches the Ids.
    displayNames: The display names of the AnnotationSpecs that had been
      identified, order matches the IDs.
    ids: The resource IDs of the AnnotationSpecs that had been identified,
      ordered by the confidence score descendingly.
  """

  bboxes = _messages.MessageField('extra_types.JsonArray', 1, repeated=True)
  confidences = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)
  displayNames = _messages.StringField(3, repeated=True)
  ids = _messages.IntegerField(4, repeated=True)


class GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult(_messages.Message):
  r"""Prediction output format for Image Segmentation.

  Fields:
    categoryMask: A PNG image where each pixel in the mask represents the
      category in which the pixel in the original image was predicted to
      belong to. The size of this image will be the same as the original
      image. The mapping between the AnntoationSpec and the color can be found
      in model's metadata. The model will choose the most likely category and
      if none of the categories reach the confidence threshold, the pixel will
      be marked as background.
    confidenceMask: A one channel image which is encoded as an 8bit lossless
      PNG. The size of the image will be the same as the original image. For a
      specific pixel, darker color means less confidence in correctness of the
      cateogry in the categoryMask for the corresponding pixel. Black means no
      confidence and white means complete confidence.
  """

  categoryMask = _messages.StringField(1)
  confidenceMask = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult(_messages.Message):
  r"""Prediction output format for Tabular Classification.

  Fields:
    classes: The name of the classes being classified, contains all possible
      values of the target column.
    scores: The model's confidence in each class being correct, higher value
      means higher confidence. The N-th score corresponds to the N-th class in
      classes.
  """

  classes = _messages.StringField(1, repeated=True)
  scores = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult(_messages.Message):
  r"""Prediction output format for Tabular Regression.

  Fields:
    lowerBound: The lower bound of the prediction interval.
    quantilePredictions: Quantile predictions, in 1-1 correspondence with
      quantile_values.
    quantileValues: Quantile values.
    upperBound: The upper bound of the prediction interval.
    value: The regression value.
  """

  lowerBound = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  quantilePredictions = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)
  quantileValues = _messages.FloatField(3, repeated=True, variant=_messages.Variant.FLOAT)
  upperBound = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  value = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionTextEmbedding(_messages.Message):
  r"""An embedding is a vector (list) of floating-point numbers that
  represents the semantic meaning of text. Embeddings can be used to compare
  text for similarity, classify text, or cluster text. Text with similar
  meaning will have similar embedding vectors.

  Fields:
    statistics: Statistics about the input text.
    values: The embedding vector. The size of the vector is fixed and
      determined by the model used for embedding generation.
  """

  statistics = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictPredictionTextEmbeddingStatistics', 1)
  values = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionTextEmbeddingPredictionResult(_messages.Message):
  r"""Prediction output format for Text Embedding. LINT.IfChange Represents
  the prediction result for a text embedding request.

  Fields:
    embeddings: The embedding generated from the input text.
  """

  embeddings = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictPredictionTextEmbedding', 1)


class GoogleCloudAiplatformV1SchemaPredictPredictionTextEmbeddingStatistics(_messages.Message):
  r"""Statistics about the input text.

  Fields:
    tokenCount: The number of tokens in the input text.
    truncated: Whether the input text was truncated. If true, the embedding
      was generated from a truncated version of the input text. This can
      happen if the input text was longer than the model's input token limit.
  """

  tokenCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  truncated = _messages.BooleanField(2)


class GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult(_messages.Message):
  r"""Prediction output format for Text Extraction.

  Fields:
    confidences: The Model's confidences in correctness of the predicted IDs,
      higher value means higher confidence. Order matches the Ids.
    displayNames: The display names of the AnnotationSpecs that had been
      identified, order matches the IDs.
    ids: The resource IDs of the AnnotationSpecs that had been identified,
      ordered by the confidence score descendingly.
    textSegmentEndOffsets: The end offsets, inclusive, of the text segment in
      which the AnnotationSpec has been identified. Expressed as a zero-based
      number of characters as measured from the start of the text snippet.
    textSegmentStartOffsets: The start offsets, inclusive, of the text segment
      in which the AnnotationSpec has been identified. Expressed as a zero-
      based number of characters as measured from the start of the text
      snippet.
  """

  confidences = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)
  displayNames = _messages.StringField(2, repeated=True)
  ids = _messages.IntegerField(3, repeated=True)
  textSegmentEndOffsets = _messages.IntegerField(4, repeated=True)
  textSegmentStartOffsets = _messages.IntegerField(5, repeated=True)


class GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult(_messages.Message):
  r"""Prediction output format for Text Sentiment

  Fields:
    sentiment: The integer sentiment labels between 0 (inclusive) and
      sentimentMax label (inclusive), while 0 maps to the least positive
      sentiment and sentimentMax maps to the most positive one. The higher the
      score is, the more positive the sentiment in the text snippet is. Note:
      sentimentMax is an integer value between 1 (inclusive) and 10
      (inclusive).
  """

  sentiment = _messages.IntegerField(1, variant=_messages.Variant.INT32)


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

  Fields:
    attributeColumns: A string attribute.
    attributeWeights: A number attribute.
    contextColumns: A string attribute.
    contextWeights: TFT feature importance values. Each pair for
      {context/horizon/attribute} should have the same shape since the weight
      corresponds to the column names.
    horizonColumns: A string attribute.
    horizonWeights: A number attribute.
  """

  attributeColumns = _messages.StringField(1, repeated=True)
  attributeWeights = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)
  contextColumns = _messages.StringField(3, repeated=True)
  contextWeights = _messages.FloatField(4, repeated=True, variant=_messages.Variant.FLOAT)
  horizonColumns = _messages.StringField(5, repeated=True)
  horizonWeights = _messages.FloatField(6, repeated=True, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult(_messages.Message):
  r"""Prediction output format for Time Series Forecasting.

  Fields:
    quantilePredictions: Quantile predictions, in 1-1 correspondence with
      quantile_values.
    quantileValues: Quantile values.
    tftFeatureImportance: Only use these if TFt is enabled.
    value: The regression value.
  """

  quantilePredictions = _messages.FloatField(1, repeated=True, variant=_messages.Variant.FLOAT)
  quantileValues = _messages.FloatField(2, repeated=True, variant=_messages.Variant.FLOAT)
  tftFeatureImportance = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance', 3)
  value = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult(_messages.Message):
  r"""Prediction output format for Video Action Recognition.

  Fields:
    confidence: The Model's confidence in correction of this prediction,
      higher value means higher confidence.
    displayName: The display name of the AnnotationSpec that had been
      identified.
    id: The resource ID of the AnnotationSpec that had been identified.
    timeSegmentEnd: The end, exclusive, of the video's time segment in which
      the AnnotationSpec has been identified. Expressed as a number of seconds
      as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end.
    timeSegmentStart: The beginning, inclusive, of the video's time segment in
      which the AnnotationSpec has been identified. Expressed as a number of
      seconds as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  displayName = _messages.StringField(2)
  id = _messages.StringField(3)
  timeSegmentEnd = _messages.StringField(4)
  timeSegmentStart = _messages.StringField(5)


class GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult(_messages.Message):
  r"""Prediction output format for Video Classification.

  Fields:
    confidence: The Model's confidence in correction of this prediction,
      higher value means higher confidence.
    displayName: The display name of the AnnotationSpec that had been
      identified.
    id: The resource ID of the AnnotationSpec that had been identified.
    timeSegmentEnd: The end, exclusive, of the video's time segment in which
      the AnnotationSpec has been identified. Expressed as a number of seconds
      as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end. Note that for
      'segment-classification' prediction type, this equals the original
      'timeSegmentEnd' from the input instance, for other types it is the end
      of a shot or a 1 second interval respectively.
    timeSegmentStart: The beginning, inclusive, of the video's time segment in
      which the AnnotationSpec has been identified. Expressed as a number of
      seconds as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end. Note that for
      'segment-classification' prediction type, this equals the original
      'timeSegmentStart' from the input instance, for other types it is the
      start of a shot or a 1 second interval respectively.
    type: The type of the prediction. The requested types can be configured
      via parameters. This will be one of - segment-classification - shot-
      classification - one-sec-interval-classification
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  displayName = _messages.StringField(2)
  id = _messages.StringField(3)
  timeSegmentEnd = _messages.StringField(4)
  timeSegmentStart = _messages.StringField(5)
  type = _messages.StringField(6)


class GoogleCloudAiplatformV1SchemaPredictPredictionVideoGenerationModelResult(_messages.Message):
  r"""Prediction result from a video generation model. When you request a
  prediction from a video generation model, the model generates videos based
  on your input and returns URIs to these videos in Google Cloud Storage.

  Fields:
    gcsUris: A list of Google Cloud Storage URIs for generated videos. For
      each input instance in your prediction request, the model may generate
      one or more videos. This field provides the Google Cloud Storage URIs
      for each of these videos.
  """

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


class GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult(_messages.Message):
  r"""Prediction output format for Video Object Tracking.

  Fields:
    confidence: The Model's confidence in correction of this prediction,
      higher value means higher confidence.
    displayName: The display name of the AnnotationSpec that had been
      identified.
    frames: All of the frames of the video in which a single object instance
      has been detected. The bounding boxes in the frames identify the same
      object.
    id: The resource ID of the AnnotationSpec that had been identified.
    timeSegmentEnd: The end, inclusive, of the video's time segment in which
      the object instance has been detected. Expressed as a number of seconds
      as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end.
    timeSegmentStart: The beginning, inclusive, of the video's time segment in
      which the object instance has been detected. Expressed as a number of
      seconds as measured from the start of the video, with fractions up to a
      microsecond precision, and with "s" appended at the end.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  displayName = _messages.StringField(2)
  frames = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame', 3, repeated=True)
  id = _messages.StringField(4)
  timeSegmentEnd = _messages.StringField(5)
  timeSegmentStart = _messages.StringField(6)


class GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame(_messages.Message):
  r"""The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box,
  i.e. the rectangle over the video frame pinpointing the found
  AnnotationSpec. The coordinates are relative to the frame size, and the
  point 0,0 is in the top left of the frame.

  Fields:
    timeOffset: A time (frame) of a video in which the object has been
      detected. Expressed as a number of seconds as measured from the start of
      the video, with fractions up to a microsecond precision, and with "s"
      appended at the end.
    xMax: The rightmost coordinate of the bounding box.
    xMin: The leftmost coordinate of the bounding box.
    yMax: The bottommost coordinate of the bounding box.
    yMin: The topmost coordinate of the bounding box.
  """

  timeOffset = _messages.StringField(1)
  xMax = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  xMin = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  yMax = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
  yMin = _messages.FloatField(5, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SchemaPredictPredictionVisionEmbeddingModelResult(_messages.Message):
  r"""The prediction result for a large vision model embedding request. An
  embedding is a vectorized representation of data such as image, text or
  video. The embeddings produced by this model can be used for tasks such as
  image retrieval, similarity comparison, and classification. The embedding
  vectors have 1024 dimensions.

  Fields:
    imageEmbedding: The embedding generated from the input image. This field
      is populated if the prediction request contained an image.
    textEmbedding: The embedding generated from the input text. This field is
      populated if the prediction request contained text.
    videoEmbeddings: The embeddings generated from the input video. This field
      is populated if the prediction request contained a video. The video is
      divided into 1-second segments, and an embedding is generated for each
      segment.
  """

  imageEmbedding = _messages.MessageField('extra_types.JsonValue', 1, repeated=True)
  textEmbedding = _messages.MessageField('extra_types.JsonValue', 2, repeated=True)
  videoEmbeddings = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictPredictionVisionEmbeddingModelResultVideoEmbedding', 3, repeated=True)


class GoogleCloudAiplatformV1SchemaPredictPredictionVisionEmbeddingModelResultVideoEmbedding(_messages.Message):
  r"""Contains embedding data for a specific time segment of a video.

  Fields:
    embedding: The 1024-dimension embedding vector for this video segment.
    endOffsetSec: The end time of the video segment that this embedding
      represents, measured in seconds from the beginning of the video.
    startOffsetSec: The start time of the video segment that this embedding
      represents, measured in seconds from the beginning of the video.
  """

  embedding = _messages.MessageField('extra_types.JsonValue', 1, repeated=True)
  endOffsetSec = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  startOffsetSec = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaPredictionResult(_messages.Message):
  r"""Represents a line of JSONL in the batch prediction output file.

  Messages:
    InstanceValue: User's input instance. Struct is used here instead of Any
      so that JsonFormat does not append an extra "@type" field when we
      convert the proto to JSON.

  Fields:
    error: The error result. Do not set prediction if this is set.
    instance: User's input instance. Struct is used here instead of Any so
      that JsonFormat does not append an extra "@type" field when we convert
      the proto to JSON.
    key: Optional user-provided key from the input instance.
    prediction: The prediction result. Value is used here instead of Any so
      that JsonFormat does not append an extra "@type" field when we convert
      the proto to JSON and so we can represent array of objects. Do not set
      error if this is set.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InstanceValue(_messages.Message):
    r"""User's input instance. Struct is used here instead of Any so that
    JsonFormat does not append an extra "@type" field when we convert the
    proto to JSON.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a InstanceValue 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)

  error = _messages.MessageField('GoogleCloudAiplatformV1SchemaPredictionResultError', 1)
  instance = _messages.MessageField('InstanceValue', 2)
  key = _messages.StringField(3)
  prediction = _messages.MessageField('extra_types.JsonValue', 4)


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

  Enums:
    StatusValueValuesEnum: Error status. This will be serialized into the enum
      name e.g. "NOT_FOUND".

  Fields:
    message: Error message with additional details.
    status: Error status. This will be serialized into the enum name e.g.
      "NOT_FOUND".
  """

  class StatusValueValuesEnum(_messages.Enum):
    r"""Error status. This will be serialized into the enum name e.g.
    "NOT_FOUND".

    Values:
      OK: Not an error; returned on success. HTTP Mapping: 200 OK
      CANCELLED: The operation was cancelled, typically by the caller. HTTP
        Mapping: 499 Client Closed Request
      UNKNOWN: Unknown error. For example, this error may be returned when a
        `Status` value received from another address space belongs to an error
        space that is not known in this address space. Also errors raised by
        APIs that do not return enough error information may be converted to
        this error. HTTP Mapping: 500 Internal Server Error
      INVALID_ARGUMENT: The client specified an invalid argument. Note that
        this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates
        arguments that are problematic regardless of the state of the system
        (e.g., a malformed file name). HTTP Mapping: 400 Bad Request
      DEADLINE_EXCEEDED: The deadline expired before the operation could
        complete. For operations that change the state of the system, this
        error may be returned even if the operation has completed
        successfully. For example, a successful response from a server could
        have been delayed long enough for the deadline to expire. HTTP
        Mapping: 504 Gateway Timeout
      NOT_FOUND: Some requested entity (e.g., file or directory) was not
        found. Note to server developers: if a request is denied for an entire
        class of users, such as gradual feature rollout or undocumented
        allowlist, `NOT_FOUND` may be used. If a request is denied for some
        users within a class of users, such as user-based access control,
        `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found
      ALREADY_EXISTS: The entity that a client attempted to create (e.g., file
        or directory) already exists. HTTP Mapping: 409 Conflict
      PERMISSION_DENIED: The caller does not have permission to execute the
        specified operation. `PERMISSION_DENIED` must not be used for
        rejections caused by exhausting some resource (use
        `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
        must not be used if the caller can not be identified (use
        `UNAUTHENTICATED` instead for those errors). This error code does not
        imply the request is valid or the requested entity exists or satisfies
        other pre-conditions. HTTP Mapping: 403 Forbidden
      UNAUTHENTICATED: The request does not have valid authentication
        credentials for the operation. HTTP Mapping: 401 Unauthorized
      RESOURCE_EXHAUSTED: Some resource has been exhausted, perhaps a per-user
        quota, or perhaps the entire file system is out of space. HTTP
        Mapping: 429 Too Many Requests
      FAILED_PRECONDITION: The operation was rejected because the system is
        not in a state required for the operation's execution. For example,
        the directory to be deleted is non-empty, an rmdir operation is
        applied to a non-directory, etc. Service implementors can use the
        following guidelines to decide between `FAILED_PRECONDITION`,
        `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
        retry just the failing call. (b) Use `ABORTED` if the client should
        retry at a higher level. For example, when a client-specified test-
        and-set fails, indicating the client should restart a read-modify-
        write sequence. (c) Use `FAILED_PRECONDITION` if the client should not
        retry until the system state has been explicitly fixed. For example,
        if an "rmdir" fails because the directory is non-empty,
        `FAILED_PRECONDITION` should be returned since the client should not
        retry unless the files are deleted from the directory. HTTP Mapping:
        400 Bad Request
      ABORTED: The operation was aborted, typically due to a concurrency issue
        such as a sequencer check failure or transaction abort. See the
        guidelines above for deciding between `FAILED_PRECONDITION`,
        `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict
      OUT_OF_RANGE: The operation was attempted past the valid range. E.g.,
        seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this
        error indicates a problem that may be fixed if the system state
        changes. For example, a 32-bit file system will generate
        `INVALID_ARGUMENT` if asked to read at an offset that is not in the
        range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read
        from an offset past the current file size. There is a fair bit of
        overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend
        using `OUT_OF_RANGE` (the more specific error) when it applies so that
        callers who are iterating through a space can easily look for an
        `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400
        Bad Request
      UNIMPLEMENTED: The operation is not implemented or is not
        supported/enabled in this service. HTTP Mapping: 501 Not Implemented
      INTERNAL: Internal errors. This means that some invariants expected by
        the underlying system have been broken. This error code is reserved
        for serious errors. HTTP Mapping: 500 Internal Server Error
      UNAVAILABLE: The service is currently unavailable. This is most likely a
        transient condition, which can be corrected by retrying with a
        backoff. Note that it is not always safe to retry non-idempotent
        operations. See the guidelines above for deciding between
        `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503
        Service Unavailable
      DATA_LOSS: Unrecoverable data loss or corruption. HTTP Mapping: 500
        Internal Server Error
    """
    OK = 0
    CANCELLED = 1
    UNKNOWN = 2
    INVALID_ARGUMENT = 3
    DEADLINE_EXCEEDED = 4
    NOT_FOUND = 5
    ALREADY_EXISTS = 6
    PERMISSION_DENIED = 7
    UNAUTHENTICATED = 8
    RESOURCE_EXHAUSTED = 9
    FAILED_PRECONDITION = 10
    ABORTED = 11
    OUT_OF_RANGE = 12
    UNIMPLEMENTED = 13
    INTERNAL = 14
    UNAVAILABLE = 15
    DATA_LOSS = 16

  message = _messages.StringField(1)
  status = _messages.EnumField('StatusValueValuesEnum', 2)


class GoogleCloudAiplatformV1SchemaTablesDatasetMetadata(_messages.Message):
  r"""The metadata of Datasets that contain tables data.

  Fields:
    inputConfig: A
      GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig attribute.
  """

  inputConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig', 1)


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

  Fields:
    uri: The URI of a BigQuery table. e.g.
      bq://projectId.bqDatasetId.bqTableId
  """

  uri = _messages.StringField(1)


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

  Fields:
    uri: Cloud Storage URI of one or more files. Only CSV files are supported.
      The first line of the CSV file is used as the header. If there are
      multiple files, the header is the first line of the lexicographically
      first file, the other files must either contain the exact same header or
      omit the header.
  """

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


class GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig(_messages.Message):
  r"""The tables Dataset's data source. The Dataset doesn't store the data
  directly, but only pointer(s) to its data.

  Fields:
    bigquerySource: A
      GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource
      attribute.
    gcsSource: A GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource
      attribute.
  """

  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource', 1)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource', 2)


class GoogleCloudAiplatformV1SchemaTextClassificationAnnotation(_messages.Message):
  r"""Annotation details specific to text classification.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTextDataItem(_messages.Message):
  r"""Payload of Text DataItem.

  Fields:
    gcsUri: Output only. Google Cloud Storage URI points to a copy of the
      original text in the Vertex-managed bucket in the user's project. The
      text file is up to 10MB in size.
  """

  gcsUri = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTextDatasetMetadata(_messages.Message):
  r"""The metadata of Datasets that contain Text DataItems.

  Fields:
    dataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing payload of the Text DataItems that belong to this Dataset.
    gcsBucket: Google Cloud Storage Bucket name that contains the blob data of
      this Dataset.
  """

  dataItemSchemaUri = _messages.StringField(1)
  gcsBucket = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTextExtractionAnnotation(_messages.Message):
  r"""Annotation details specific to text extraction.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    textSegment: The segment of the text content.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  textSegment = _messages.MessageField('GoogleCloudAiplatformV1SchemaTextSegment', 3)


class GoogleCloudAiplatformV1SchemaTextSegment(_messages.Message):
  r"""The text segment inside of DataItem.

  Fields:
    content: The text content in the segment for output only.
    endOffset: Zero-based character index of the first character past the end
      of the text segment (counting character from the beginning of the text).
      The character at the end_offset is NOT included in the text segment.
    startOffset: Zero-based character index of the first character of the text
      segment (counting characters from the beginning of the text).
  """

  content = _messages.StringField(1)
  endOffset = _messages.IntegerField(2, variant=_messages.Variant.UINT64)
  startOffset = _messages.IntegerField(3, variant=_messages.Variant.UINT64)


class GoogleCloudAiplatformV1SchemaTextSentimentAnnotation(_messages.Message):
  r"""Annotation details specific to text sentiment.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    sentiment: The sentiment score for text.
    sentimentMax: The sentiment max score for text.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  sentiment = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  sentimentMax = _messages.IntegerField(4, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata(_messages.Message):
  r"""The metadata of SavedQuery contains TextSentiment Annotations.

  Fields:
    sentimentMax: The maximum sentiment of sentiment Anntoation in this
      SavedQuery.
  """

  sentimentMax = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SchemaTimeSegment(_messages.Message):
  r"""A time period inside of a DataItem that has a time dimension (e.g.
  video).

  Fields:
    endTimeOffset: End of the time segment (exclusive), represented as the
      duration since the start of the DataItem.
    startTimeOffset: Start of the time segment (inclusive), represented as the
      duration since the start of the DataItem.
  """

  endTimeOffset = _messages.StringField(1)
  startTimeOffset = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata(_messages.Message):
  r"""The metadata of Datasets that contain time series data.

  Fields:
    inputConfig: A
      GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig
      attribute.
    timeColumn: The column name of the time column that identifies time order
      in the time series.
    timeSeriesIdentifierColumn: The column name of the time series identifier
      column that identifies the time series.
  """

  inputConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig', 1)
  timeColumn = _messages.StringField(2)
  timeSeriesIdentifierColumn = _messages.StringField(3)


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

  Fields:
    uri: The URI of a BigQuery table.
  """

  uri = _messages.StringField(1)


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

  Fields:
    uri: Cloud Storage URI of one or more files. Only CSV files are supported.
      The first line of the CSV file is used as the header. If there are
      multiple files, the header is the first line of the lexicographically
      first file, the other files must either contain the exact same header or
      omit the header.
  """

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


class GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig(_messages.Message):
  r"""The time series Dataset's data source. The Dataset doesn't store the
  data directly, but only pointer(s) to its data.

  Fields:
    bigquerySource: A
      GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource
      attribute.
    gcsSource: A
      GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource
      attribute.
  """

  bigquerySource = _messages.MessageField('GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource', 1)
  gcsSource = _messages.MessageField('GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Forecasting Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata', 2)


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

  Fields:
    additionalExperiments: Additional experiment flags for the time series
      forcasting training.
    availableAtForecastColumns: Names of columns that are available and
      provided when a forecast is requested. These columns contain information
      for the given entity (identified by the time_series_identifier_column
      column) that is known at forecast. For example, predicted weather for a
      specific day.
    contextWindow: The amount of time into the past training and prediction
      data is used for model training and prediction respectively. Expressed
      in number of units defined by the `data_granularity` field.
    dataGranularity: Expected difference in time granularity between rows in
      the data.
    enableProbabilisticInference: If probabilistic inference is enabled, the
      model will fit a distribution that captures the uncertainty of a
      prediction. At inference time, the predictive distribution is used to
      make a point prediction that minimizes the optimization objective. For
      example, the mean of a predictive distribution is the point prediction
      that minimizes RMSE loss. If quantiles are specified, then the quantiles
      of the distribution are also returned. The optimization objective cannot
      be minimize-quantile-loss.
    exportEvaluatedDataItemsConfig: Configuration for exporting test set
      predictions to a BigQuery table. If this configuration is absent, then
      the export is not performed.
    forecastHorizon: The amount of time into the future for which forecasted
      values for the target are returned. Expressed in number of units defined
      by the `data_granularity` field.
    hierarchyConfig: Configuration that defines the hierarchical relationship
      of time series and parameters for hierarchical forecasting strategies.
    holidayRegions: The geographical region based on which the holiday effect
      is applied in modeling by adding holiday categorical array feature that
      include all holidays matching the date. This option only allowed when
      data_granularity is day. By default, holiday effect modeling is
      disabled. To turn it on, specify the holiday region using this option.
    optimizationObjective: Objective function the model is optimizing towards.
      The training process creates a model that optimizes the value of the
      objective function over the validation set. The supported optimization
      objectives: * "minimize-rmse" (default) - Minimize root-mean-squared
      error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). *
      "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). *
      "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE).
      * "minimize-wape-mae" - Minimize the combination of weighted absolute
      percentage error (WAPE) and mean-absolute-error (MAE). * "minimize-
      quantile-loss" - Minimize the quantile loss at the quantiles defined in
      `quantiles`. * "minimize-mape" - Minimize the mean absolute percentage
      error.
    quantiles: Quantiles to use for minimize-quantile-loss
      `optimization_objective`, or for probabilistic inference. Up to 5
      quantiles are allowed of values between 0 and 1, exclusive. Required if
      the value of optimization_objective is minimize-quantile-loss.
      Represents the percent quantiles to use for that objective. Quantiles
      must be unique.
    targetColumn: The name of the column that the Model is to predict values
      for. This column must be unavailable at forecast.
    timeColumn: The name of the column that identifies time order in the time
      series. This column must be available at forecast.
    timeSeriesAttributeColumns: Column names that should be used as attribute
      columns. The value of these columns does not vary as a function of time.
      For example, store ID or item color.
    timeSeriesIdentifierColumn: The name of the column that identifies the
      time series.
    trainBudgetMilliNodeHours: Required. The train budget of creating this
      model, expressed in milli node hours i.e. 1,000 value in this field
      means 1 node hour. The training cost of the model will not exceed this
      budget. The final cost will be attempted to be close to the budget,
      though may end up being (even) noticeably smaller - at the backend's
      discretion. This especially may happen when further model training
      ceases to provide any improvements. If the budget is set to a value
      known to be insufficient to train a model for the given dataset, the
      training won't be attempted and will error. The train budget must be
      between 1,000 and 72,000 milli node hours, inclusive.
    transformations: Each transformation will apply transform function to
      given input column. And the result will be used for training. When
      creating transformation for BigQuery Struct column, the column should be
      flattened using "." as the delimiter.
    unavailableAtForecastColumns: Names of columns that are unavailable when a
      forecast is requested. This column contains information for the given
      entity (identified by the time_series_identifier_column) that is unknown
      before the forecast For example, actual weather on a given day.
    validationOptions: Validation options for the data validation component.
      The available options are: * "fail-pipeline" - default, will validate
      against the validation and fail the pipeline if it fails. * "ignore-
      validation" - ignore the results of the validation and continue
    weightColumn: Column name that should be used as the weight column. Higher
      values in this column give more importance to the row during model
      training. The column must have numeric values between 0 and 10000
      inclusively; 0 means the row is ignored for training. If weight column
      field is not set, then all rows are assumed to have equal weight of 1.
    windowConfig: Config containing strategy for generating sliding windows.
  """

  additionalExperiments = _messages.StringField(1, repeated=True)
  availableAtForecastColumns = _messages.StringField(2, repeated=True)
  contextWindow = _messages.IntegerField(3)
  dataGranularity = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity', 4)
  enableProbabilisticInference = _messages.BooleanField(5)
  exportEvaluatedDataItemsConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig', 6)
  forecastHorizon = _messages.IntegerField(7)
  hierarchyConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig', 8)
  holidayRegions = _messages.StringField(9, repeated=True)
  optimizationObjective = _messages.StringField(10)
  quantiles = _messages.FloatField(11, repeated=True)
  targetColumn = _messages.StringField(12)
  timeColumn = _messages.StringField(13)
  timeSeriesAttributeColumns = _messages.StringField(14, repeated=True)
  timeSeriesIdentifierColumn = _messages.StringField(15)
  trainBudgetMilliNodeHours = _messages.IntegerField(16)
  transformations = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation', 17, repeated=True)
  unavailableAtForecastColumns = _messages.StringField(18, repeated=True)
  validationOptions = _messages.StringField(19)
  weightColumn = _messages.StringField(20)
  windowConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig', 21)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity(_messages.Message):
  r"""A duration of time expressed in time granularity units.

  Fields:
    quantity: The number of granularity_units between data points in the
      training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15,
      or 30. For all other values of `granularity_unit`, must be 1.
    unit: The time granularity unit of this time period. The supported units
      are: * "minute" * "hour" * "day" * "week" * "month" * "year"
  """

  quantity = _messages.IntegerField(1)
  unit = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
  utsTransformation object.

  Fields:
    auto: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastin
      gInputsTransformationAutoTransformation attribute.
    categorical: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlFor
      ecastingInputsTransformationCategoricalTransformation attribute.
    numeric: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecas
      tingInputsTransformationNumericTransformation attribute.
    text: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastin
      gInputsTransformationTextTransformation attribute.
    timestamp: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForec
      astingInputsTransformationTimestampTransformation attribute.
  """

  auto = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation', 1)
  categorical = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation', 2)
  numeric = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation', 3)
  text = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation', 4)
  timestamp = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation', 5)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation(_messages.Message):
  r"""Training pipeline will infer the proper transformation based on the
  statistic of dataset.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  categorical string as is--no change to case, punctuation, spelling, tense,
  and so on. * Convert the category name to a dictionary lookup index and
  generate an embedding for each index. * Categories that appear less than 5
  times in the training dataset are treated as the "unknown" category. The
  "unknown" category gets its own special lookup index and resulting
  embedding.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  value converted to float32. * The z_score of the value. * log(value+1) when
  the value is greater than or equal to 0. Otherwise, this transformation is
  not applied and the value is considered a missing value. * z_score of
  log(value+1) when the value is greater than or equal to 0. Otherwise, this
  transformation is not applied and the value is considered a missing value. *
  A boolean value that indicates whether the value is valid.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  text as is--no change to case, punctuation, spelling, tense, and so on. *
  Convert the category name to a dictionary lookup index and generate an
  embedding for each index.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. *
  Apply the transformation functions for Numerical columns. * Determine the
  year, month, day,and weekday. Treat each value from the timestamp as a
  Categorical column. * Invalid numerical values (for example, values that
  fall outside of a typical timestamp range, or are extreme values) receive no
  special treatment and are not removed.

  Fields:
    columnName: A string attribute.
    timeFormat: The format in which that time field is expressed. The
      time_format must either be one of: * `unix-seconds` * `unix-
      milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for
      respectively number of seconds, milliseconds, microseconds and
      nanoseconds since start of the Unix epoch); or be written in `strftime`
      syntax. If time_format is not set, then the default format is RFC 3339
      `date-time` format, where `time-offset` = `"Z"` (e.g.
      1985-04-12T23:20:50.52Z)
  """

  columnName = _messages.StringField(1)
  timeFormat = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata(_messages.Message):
  r"""Model metadata specific to AutoML Forecasting.

  Fields:
    evaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
      evaluated examples.
    trainCostMilliNodeHours: Output only. The actual training cost of the
      model, expressed in milli node hours, i.e. 1,000 value in this field
      means 1 node hour. Guaranteed to not exceed the train budget.
  """

  evaluatedDataItemsBigqueryUri = _messages.StringField(1)
  trainCostMilliNodeHours = _messages.IntegerField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Image Classification
  Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassific
  ationInputs object.

  Enums:
    ModelTypeValueValuesEnum:

  Fields:
    baseModelId: The ID of the `base` model. If it is specified, the new model
      will be trained based on the `base` model. Otherwise, the new model will
      be trained from scratch. The `base` model must be in the same Project
      and Location as the new Model to train, and have the same modelType.
    budgetMilliNodeHours: The training budget of creating this model,
      expressed in milli node hours i.e. 1,000 value in this field means 1
      node hour. The actual metadata.costMilliNodeHours will be equal or less
      than this value. If further model training ceases to provide any
      improvements, it will stop without using the full budget and the
      metadata.successfulStopReason will be `model-converged`. Note, node_hour
      = actual_hour * number_of_nodes_involved. For modelType
      `cloud`(default), the budget must be between 8,000 and 800,000 milli
      node hours, inclusive. The default value is 192,000 which represents one
      day in wall time, considering 8 nodes are used. For model types `mobile-
      tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1`,
      the training budget must be between 1,000 and 100,000 milli node hours,
      inclusive. The default value is 24,000 which represents one day in wall
      time on a single node that is used.
    disableEarlyStopping: Use the entire training budget. This disables the
      early stopping feature. When false the early stopping feature is
      enabled, which means that AutoML Image Classification might stop
      training before the entire training budget has been used.
    modelType: A ModelTypeValueValuesEnum attribute.
    multiLabel: If false, a single-label (multi-class) Model will be trained
      (i.e. assuming that for each image just up to one annotation may be
      applicable). If true, a multi-label Model will be trained (i.e. assuming
      that for each image multiple annotations may be applicable).
    uptrainBaseModelId: The ID of `base` model for upTraining. If it is
      specified, the new model will be upTrained based on the `base` model for
      upTraining. Otherwise, the new model will be trained from scratch. The
      `base` model for upTraining must be in the same Project and Location as
      the new Model to train, and have the same modelType.
  """

  class ModelTypeValueValuesEnum(_messages.Enum):
    r"""ModelTypeValueValuesEnum enum type.

    Values:
      MODEL_TYPE_UNSPECIFIED: Should not be set.
      CLOUD: A Model best tailored to be used within Google Cloud, and which
        cannot be exported. Default.
      CLOUD_1: A model type best tailored to be used within Google Cloud,
        which cannot be exported externally. Compared to the CLOUD model
        above, it is expected to have higher prediction accuracy.
      MOBILE_TF_LOW_LATENCY_1: A model that, in addition to being available
        within Google Cloud, can also be exported (see
        ModelService.ExportModel) as TensorFlow or Core ML model and used on a
        mobile or edge device afterwards. Expected to have low latency, but
        may have lower prediction quality than other mobile models.
      MOBILE_TF_VERSATILE_1: A model that, in addition to being available
        within Google Cloud, can also be exported (see
        ModelService.ExportModel) as TensorFlow or Core ML model and used on a
        mobile or edge device with afterwards.
      MOBILE_TF_HIGH_ACCURACY_1: A model that, in addition to being available
        within Google Cloud, can also be exported (see
        ModelService.ExportModel) as TensorFlow or Core ML model and used on a
        mobile or edge device afterwards. Expected to have a higher latency,
        but should also have a higher prediction quality than other mobile
        models.
    """
    MODEL_TYPE_UNSPECIFIED = 0
    CLOUD = 1
    CLOUD_1 = 2
    MOBILE_TF_LOW_LATENCY_1 = 3
    MOBILE_TF_VERSATILE_1 = 4
    MOBILE_TF_HIGH_ACCURACY_1 = 5

  baseModelId = _messages.StringField(1)
  budgetMilliNodeHours = _messages.IntegerField(2)
  disableEarlyStopping = _messages.BooleanField(3)
  modelType = _messages.EnumField('ModelTypeValueValuesEnum', 4)
  multiLabel = _messages.BooleanField(5)
  uptrainBaseModelId = _messages.StringField(6)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassific
  ationMetadata object.

  Enums:
    SuccessfulStopReasonValueValuesEnum: For successful job completions, this
      is the reason why the job has finished.

  Fields:
    costMilliNodeHours: The actual training cost of creating this model,
      expressed in milli node hours, i.e. 1,000 value in this field means 1
      node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
    successfulStopReason: For successful job completions, this is the reason
      why the job has finished.
  """

  class SuccessfulStopReasonValueValuesEnum(_messages.Enum):
    r"""For successful job completions, this is the reason why the job has
    finished.

    Values:
      SUCCESSFUL_STOP_REASON_UNSPECIFIED: Should not be set.
      BUDGET_REACHED: The inputs.budgetMilliNodeHours had been reached.
      MODEL_CONVERGED: Further training of the Model ceased to increase its
        quality, since it already has converged.
    """
    SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0
    BUDGET_REACHED = 1
    MODEL_CONVERGED = 2

  costMilliNodeHours = _messages.IntegerField(1)
  successfulStopReason = _messages.EnumField('SuccessfulStopReasonValueValuesEnum', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Image Object Detection
  Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDet
  ectionInputs object.

  Enums:
    ModelTypeValueValuesEnum:

  Fields:
    budgetMilliNodeHours: The training budget of creating this model,
      expressed in milli node hours i.e. 1,000 value in this field means 1
      node hour. The actual metadata.costMilliNodeHours will be equal or less
      than this value. If further model training ceases to provide any
      improvements, it will stop without using the full budget and the
      metadata.successfulStopReason will be `model-converged`. Note, node_hour
      = actual_hour * number_of_nodes_involved. For modelType
      `cloud`(default), the budget must be between 20,000 and 900,000 milli
      node hours, inclusive. The default value is 216,000 which represents one
      day in wall time, considering 9 nodes are used. For model types `mobile-
      tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1`
      the training budget must be between 1,000 and 100,000 milli node hours,
      inclusive. The default value is 24,000 which represents one day in wall
      time on a single node that is used.
    disableEarlyStopping: Use the entire training budget. This disables the
      early stopping feature. When false the early stopping feature is
      enabled, which means that AutoML Image Object Detection might stop
      training before the entire training budget has been used.
    modelType: A ModelTypeValueValuesEnum attribute.
    uptrainBaseModelId: The ID of `base` model for upTraining. If it is
      specified, the new model will be upTrained based on the `base` model for
      upTraining. Otherwise, the new model will be trained from scratch. The
      `base` model for upTraining must be in the same Project and Location as
      the new Model to train, and have the same modelType.
  """

  class ModelTypeValueValuesEnum(_messages.Enum):
    r"""ModelTypeValueValuesEnum enum type.

    Values:
      MODEL_TYPE_UNSPECIFIED: Should not be set.
      CLOUD_HIGH_ACCURACY_1: A model best tailored to be used within Google
        Cloud, and which cannot be exported. Expected to have a higher
        latency, but should also have a higher prediction quality than other
        cloud models.
      CLOUD_LOW_LATENCY_1: A model best tailored to be used within Google
        Cloud, and which cannot be exported. Expected to have a low latency,
        but may have lower prediction quality than other cloud models.
      CLOUD_1: A model best tailored to be used within Google Cloud, and which
        cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and
        CLOUD_LOW_LATENCY_1 models above, it is expected to have higher
        prediction quality and lower latency.
      MOBILE_TF_LOW_LATENCY_1: A model that, in addition to being available
        within Google Cloud can also be exported (see
        ModelService.ExportModel) and used on a mobile or edge device with
        TensorFlow afterwards. Expected to have low latency, but may have
        lower prediction quality than other mobile models.
      MOBILE_TF_VERSATILE_1: A model that, in addition to being available
        within Google Cloud can also be exported (see
        ModelService.ExportModel) and used on a mobile or edge device with
        TensorFlow afterwards.
      MOBILE_TF_HIGH_ACCURACY_1: A model that, in addition to being available
        within Google Cloud, can also be exported (see
        ModelService.ExportModel) and used on a mobile or edge device with
        TensorFlow afterwards. Expected to have a higher latency, but should
        also have a higher prediction quality than other mobile models.
      CLOUD_STREAMING_1: A model best tailored to be used within Google Cloud,
        and which cannot be exported. Expected to best support predictions in
        streaming with lower latency and lower prediction quality than other
        cloud models.
    """
    MODEL_TYPE_UNSPECIFIED = 0
    CLOUD_HIGH_ACCURACY_1 = 1
    CLOUD_LOW_LATENCY_1 = 2
    CLOUD_1 = 3
    MOBILE_TF_LOW_LATENCY_1 = 4
    MOBILE_TF_VERSATILE_1 = 5
    MOBILE_TF_HIGH_ACCURACY_1 = 6
    CLOUD_STREAMING_1 = 7

  budgetMilliNodeHours = _messages.IntegerField(1)
  disableEarlyStopping = _messages.BooleanField(2)
  modelType = _messages.EnumField('ModelTypeValueValuesEnum', 3)
  uptrainBaseModelId = _messages.StringField(4)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDet
  ectionMetadata object.

  Enums:
    SuccessfulStopReasonValueValuesEnum: For successful job completions, this
      is the reason why the job has finished.

  Fields:
    costMilliNodeHours: The actual training cost of creating this model,
      expressed in milli node hours, i.e. 1,000 value in this field means 1
      node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
    successfulStopReason: For successful job completions, this is the reason
      why the job has finished.
  """

  class SuccessfulStopReasonValueValuesEnum(_messages.Enum):
    r"""For successful job completions, this is the reason why the job has
    finished.

    Values:
      SUCCESSFUL_STOP_REASON_UNSPECIFIED: Should not be set.
      BUDGET_REACHED: The inputs.budgetMilliNodeHours had been reached.
      MODEL_CONVERGED: Further training of the Model ceased to increase its
        quality, since it already has converged.
    """
    SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0
    BUDGET_REACHED = 1
    MODEL_CONVERGED = 2

  costMilliNodeHours = _messages.IntegerField(1)
  successfulStopReason = _messages.EnumField('SuccessfulStopReasonValueValuesEnum', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Image Segmentation
  Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentat
  ionInputs object.

  Enums:
    ModelTypeValueValuesEnum:

  Fields:
    baseModelId: The ID of the `base` model. If it is specified, the new model
      will be trained based on the `base` model. Otherwise, the new model will
      be trained from scratch. The `base` model must be in the same Project
      and Location as the new Model to train, and have the same modelType.
    budgetMilliNodeHours: The training budget of creating this model,
      expressed in milli node hours i.e. 1,000 value in this field means 1
      node hour. The actual metadata.costMilliNodeHours will be equal or less
      than this value. If further model training ceases to provide any
      improvements, it will stop without using the full budget and the
      metadata.successfulStopReason will be `model-converged`. Note, node_hour
      = actual_hour * number_of_nodes_involved. Or actual_wall_clock_hours =
      train_budget_milli_node_hours / (number_of_nodes_involved * 1000) For
      modelType `cloud-high-accuracy-1`(default), the budget must be between
      20,000 and 2,000,000 milli node hours, inclusive. The default value is
      192,000 which represents one day in wall time (1000 milli * 24 hours * 8
      nodes).
    modelType: A ModelTypeValueValuesEnum attribute.
  """

  class ModelTypeValueValuesEnum(_messages.Enum):
    r"""ModelTypeValueValuesEnum enum type.

    Values:
      MODEL_TYPE_UNSPECIFIED: Should not be set.
      CLOUD_HIGH_ACCURACY_1: A model to be used via prediction calls to uCAIP
        API. Expected to have a higher latency, but should also have a higher
        prediction quality than other models.
      CLOUD_LOW_ACCURACY_1: A model to be used via prediction calls to uCAIP
        API. Expected to have a lower latency but relatively lower prediction
        quality.
      MOBILE_TF_LOW_LATENCY_1: A model that, in addition to being available
        within Google Cloud, can also be exported (see
        ModelService.ExportModel) as TensorFlow model and used on a mobile or
        edge device afterwards. Expected to have low latency, but may have
        lower prediction quality than other mobile models.
    """
    MODEL_TYPE_UNSPECIFIED = 0
    CLOUD_HIGH_ACCURACY_1 = 1
    CLOUD_LOW_ACCURACY_1 = 2
    MOBILE_TF_LOW_LATENCY_1 = 3

  baseModelId = _messages.StringField(1)
  budgetMilliNodeHours = _messages.IntegerField(2)
  modelType = _messages.EnumField('ModelTypeValueValuesEnum', 3)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentat
  ionMetadata object.

  Enums:
    SuccessfulStopReasonValueValuesEnum: For successful job completions, this
      is the reason why the job has finished.

  Fields:
    costMilliNodeHours: The actual training cost of creating this model,
      expressed in milli node hours, i.e. 1,000 value in this field means 1
      node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.
    successfulStopReason: For successful job completions, this is the reason
      why the job has finished.
  """

  class SuccessfulStopReasonValueValuesEnum(_messages.Enum):
    r"""For successful job completions, this is the reason why the job has
    finished.

    Values:
      SUCCESSFUL_STOP_REASON_UNSPECIFIED: Should not be set.
      BUDGET_REACHED: The inputs.budgetMilliNodeHours had been reached.
      MODEL_CONVERGED: Further training of the Model ceased to increase its
        quality, since it already has converged.
    """
    SUCCESSFUL_STOP_REASON_UNSPECIFIED = 0
    BUDGET_REACHED = 1
    MODEL_CONVERGED = 2

  costMilliNodeHours = _messages.IntegerField(1)
  successfulStopReason = _messages.EnumField('SuccessfulStopReasonValueValuesEnum', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Tables Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata', 2)


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

  Fields:
    additionalExperiments: Additional experiment flags for the Tables training
      pipeline.
    disableEarlyStopping: Use the entire training budget. This disables the
      early stopping feature. By default, the early stopping feature is
      enabled, which means that AutoML Tables might stop training before the
      entire training budget has been used.
    exportEvaluatedDataItemsConfig: Configuration for exporting test set
      predictions to a BigQuery table. If this configuration is absent, then
      the export is not performed.
    optimizationObjective: Objective function the model is optimizing towards.
      The training process creates a model that maximizes/minimizes the value
      of the objective function over the validation set. The supported
      optimization objectives depend on the prediction type. If the field is
      not set, a default objective function is used. classification (binary):
      "maximize-au-roc" (default) - Maximize the area under the receiver
      operating characteristic (ROC) curve. "minimize-log-loss" - Minimize log
      loss. "maximize-au-prc" - Maximize the area under the precision-recall
      curve. "maximize-precision-at-recall" - Maximize precision for a
      specified recall value. "maximize-recall-at-precision" - Maximize recall
      for a specified precision value. classification (multi-class):
      "minimize-log-loss" (default) - Minimize log loss. regression:
      "minimize-rmse" (default) - Minimize root-mean-squared error (RMSE).
      "minimize-mae" - Minimize mean-absolute error (MAE). "minimize-rmsle" -
      Minimize root-mean-squared log error (RMSLE).
    optimizationObjectivePrecisionValue: Required when optimization_objective
      is "maximize-recall-at-precision". Must be between 0 and 1, inclusive.
    optimizationObjectiveRecallValue: Required when optimization_objective is
      "maximize-precision-at-recall". Must be between 0 and 1, inclusive.
    predictionType: The type of prediction the Model is to produce.
      "classification" - Predict one out of multiple target values is picked
      for each row. "regression" - Predict a value based on its relation to
      other values. This type is available only to columns that contain
      semantically numeric values, i.e. integers or floating point number,
      even if stored as e.g. strings.
    targetColumn: The column name of the target column that the model is to
      predict.
    trainBudgetMilliNodeHours: Required. The train budget of creating this
      model, expressed in milli node hours i.e. 1,000 value in this field
      means 1 node hour. The training cost of the model will not exceed this
      budget. The final cost will be attempted to be close to the budget,
      though may end up being (even) noticeably smaller - at the backend's
      discretion. This especially may happen when further model training
      ceases to provide any improvements. If the budget is set to a value
      known to be insufficient to train a model for the given dataset, the
      training won't be attempted and will error. The train budget must be
      between 1,000 and 72,000 milli node hours, inclusive.
    transformations: Each transformation will apply transform function to
      given input column. And the result will be used for training. When
      creating transformation for BigQuery Struct column, the column should be
      flattened using "." as the delimiter.
    weightColumnName: Column name that should be used as the weight column.
      Higher values in this column give more importance to the row during
      model training. The column must have numeric values between 0 and 10000
      inclusively; 0 means the row is ignored for training. If weight column
      field is not set, then all rows are assumed to have equal weight of 1.
  """

  additionalExperiments = _messages.StringField(1, repeated=True)
  disableEarlyStopping = _messages.BooleanField(2)
  exportEvaluatedDataItemsConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig', 3)
  optimizationObjective = _messages.StringField(4)
  optimizationObjectivePrecisionValue = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
  optimizationObjectiveRecallValue = _messages.FloatField(6, variant=_messages.Variant.FLOAT)
  predictionType = _messages.StringField(7)
  targetColumn = _messages.StringField(8)
  trainBudgetMilliNodeHours = _messages.IntegerField(9)
  transformations = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation', 10, repeated=True)
  weightColumnName = _messages.StringField(11)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
  ansformation object.

  Fields:
    auto: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInpu
      tsTransformationAutoTransformation attribute.
    categorical: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTab
      lesInputsTransformationCategoricalTransformation attribute.
    numeric: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesI
      nputsTransformationNumericTransformation attribute.
    repeatedCategorical: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionA
      utoMlTablesInputsTransformationCategoricalArrayTransformation attribute.
    repeatedNumeric: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoM
      lTablesInputsTransformationNumericArrayTransformation attribute.
    repeatedText: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTa
      blesInputsTransformationTextArrayTransformation attribute.
    text: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInpu
      tsTransformationTextTransformation attribute.
    timestamp: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTable
      sInputsTransformationTimestampTransformation attribute.
  """

  auto = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation', 1)
  categorical = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation', 2)
  numeric = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation', 3)
  repeatedCategorical = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation', 4)
  repeatedNumeric = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation', 5)
  repeatedText = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation', 6)
  text = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation', 7)
  timestamp = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation', 8)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation(_messages.Message):
  r"""Training pipeline will infer the proper transformation based on the
  statistic of dataset.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation(_messages.Message):
  r"""Treats the column as categorical array and performs following
  transformation functions. * For each element in the array, convert the
  category name to a dictionary lookup index and generate an embedding for
  each index. Combine the embedding of all elements into a single embedding
  using the mean. * Empty arrays treated as an embedding of zeroes.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  categorical string as is--no change to case, punctuation, spelling, tense,
  and so on. * Convert the category name to a dictionary lookup index and
  generate an embedding for each index. * Categories that appear less than 5
  times in the training dataset are treated as the "unknown" category. The
  "unknown" category gets its own special lookup index and resulting
  embedding.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation(_messages.Message):
  r"""Treats the column as numerical array and performs following
  transformation functions. * All transformations for Numerical types applied
  to the average of the all elements. * The average of empty arrays is treated
  as zero.

  Fields:
    columnName: A string attribute.
    invalidValuesAllowed: If invalid values is allowed, the training pipeline
      will create a boolean feature that indicated whether the value is valid.
      Otherwise, the training pipeline will discard the input row from
      trainining data.
  """

  columnName = _messages.StringField(1)
  invalidValuesAllowed = _messages.BooleanField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  value converted to float32. * The z_score of the value. * log(value+1) when
  the value is greater than or equal to 0. Otherwise, this transformation is
  not applied and the value is considered a missing value. * z_score of
  log(value+1) when the value is greater than or equal to 0. Otherwise, this
  transformation is not applied and the value is considered a missing value. *
  A boolean value that indicates whether the value is valid.

  Fields:
    columnName: A string attribute.
    invalidValuesAllowed: If invalid values is allowed, the training pipeline
      will create a boolean feature that indicated whether the value is valid.
      Otherwise, the training pipeline will discard the input row from
      trainining data.
  """

  columnName = _messages.StringField(1)
  invalidValuesAllowed = _messages.BooleanField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation(_messages.Message):
  r"""Treats the column as text array and performs following transformation
  functions. * Concatenate all text values in the array into a single text
  value using a space (" ") as a delimiter, and then treat the result as a
  single text value. Apply the transformations for Text columns. * Empty
  arrays treated as an empty text.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  text as is--no change to case, punctuation, spelling, tense, and so on. *
  Tokenize text to words. Convert each words to a dictionary lookup index and
  generate an embedding for each index. Combine the embedding of all elements
  into a single embedding using the mean. * Tokenization is based on unicode
  script boundaries. * Missing values get their own lookup index and resulting
  embedding. * Stop-words receive no special treatment and are not removed.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. *
  Apply the transformation functions for Numerical columns. * Determine the
  year, month, day,and weekday. Treat each value from the * timestamp as a
  Categorical column. * Invalid numerical values (for example, values that
  fall outside of a typical timestamp range, or are extreme values) receive no
  special treatment and are not removed.

  Fields:
    columnName: A string attribute.
    invalidValuesAllowed: If invalid values is allowed, the training pipeline
      will create a boolean feature that indicated whether the value is valid.
      Otherwise, the training pipeline will discard the input row from
      trainining data.
    timeFormat: The format in which that time field is expressed. The
      time_format must either be one of: * `unix-seconds` * `unix-
      milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for
      respectively number of seconds, milliseconds, microseconds and
      nanoseconds since start of the Unix epoch); or be written in `strftime`
      syntax. If time_format is not set, then the default format is RFC 3339
      `date-time` format, where `time-offset` = `"Z"` (e.g.
      1985-04-12T23:20:50.52Z)
  """

  columnName = _messages.StringField(1)
  invalidValuesAllowed = _messages.BooleanField(2)
  timeFormat = _messages.StringField(3)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata(_messages.Message):
  r"""Model metadata specific to AutoML Tables.

  Fields:
    evaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
      evaluated examples.
    trainCostMilliNodeHours: Output only. The actual training cost of the
      model, expressed in milli node hours, i.e. 1,000 value in this field
      means 1 node hour. Guaranteed to not exceed the train budget.
  """

  evaluatedDataItemsBigqueryUri = _messages.StringField(1)
  trainCostMilliNodeHours = _messages.IntegerField(2)


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

  Fields:
    backingCustomJob: The resource name of the CustomJob that has been created
      to carry out this custom task.
  """

  backingCustomJob = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask(_messages.Message):
  r"""A TrainingJob that trains a custom code Model.

  Fields:
    inputs: The input parameters of this CustomTask.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig(_messages.Message):
  r"""Configuration for exporting test set predictions to a BigQuery table.

  Fields:
    destinationBigqueryUri: URI of desired destination BigQuery table.
      Expected format: `bq://{project_id}:{dataset_id}:{table}` If not
      specified, then results are exported to the following auto-created
      BigQuery table: `{project_id}:export_evaluated_examples_{model_name}_{yy
      yy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples`
    overrideExistingTable: If true and an export destination is specified,
      then the contents of the destination are overwritten. Otherwise, if the
      export destination already exists, then the export operation fails.
  """

  destinationBigqueryUri = _messages.StringField(1)
  overrideExistingTable = _messages.BooleanField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig(_messages.Message):
  r"""Configuration that defines the hierarchical relationship of time series
  and parameters for hierarchical forecasting strategies.

  Fields:
    groupColumns: A list of time series attribute column names that define the
      time series hierarchy. Only one level of hierarchy is supported, ex.
      'region' for a hierarchy of stores or 'department' for a hierarchy of
      products. If multiple columns are specified, time series will be grouped
      by their combined values, ex. ('blue', 'large') for 'color' and 'size',
      up to 5 columns are accepted. If no group columns are specified, all
      time series are considered to be part of the same group.
    groupTemporalTotalWeight: The weight of the loss for predictions
      aggregated over both the horizon and time series in the same hierarchy
      group.
    groupTotalWeight: The weight of the loss for predictions aggregated over
      time series in the same group.
    temporalTotalWeight: The weight of the loss for predictions aggregated
      over the horizon for a single time series.
  """

  groupColumns = _messages.StringField(1, repeated=True)
  groupTemporalTotalWeight = _messages.FloatField(2)
  groupTotalWeight = _messages.FloatField(3)
  temporalTotalWeight = _messages.FloatField(4)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuning
  JobMetadata object.

  Fields:
    backingHyperparameterTuningJob: The resource name of the
      HyperparameterTuningJob that has been created to carry out this
      HyperparameterTuning task.
    bestTrialBackingCustomJob: The resource name of the CustomJob that has
      been created to run the best Trial of this HyperparameterTuning task.
  """

  backingHyperparameterTuningJob = _messages.StringField(1)
  bestTrialBackingCustomJob = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuning
  JobSpec object.

  Fields:
    maxFailedTrialCount: The number of failed Trials that need to be seen
      before failing the HyperparameterTuningJob. If set to 0, Vertex AI
      decides how many Trials must fail before the whole job fails.
    maxTrialCount: The desired total number of Trials.
    parallelTrialCount: The desired number of Trials to run in parallel.
    studySpec: Study configuration of the HyperparameterTuningJob.
    trialJobSpec: The spec of a trial job. The same spec applies to the
      CustomJobs created in all the trials.
  """

  maxFailedTrialCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  maxTrialCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  parallelTrialCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  studySpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpec', 4)
  trialJobSpec = _messages.MessageField('GoogleCloudAiplatformV1CustomJobSpec', 5)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask(_messages.Message):
  r"""A TrainingJob that tunes Hypererparameters of a custom code Model.

  Fields:
    inputs: The input parameters of this HyperparameterTuningTask.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting(_messages.Message):
  r"""A TrainingJob that trains and uploads an AutoML Forecasting Model.

  Fields:
    inputs: The input parameters of this TrainingJob.
    metadata: The metadata information.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs', 1)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata', 2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
  ngInputs object.

  Fields:
    additionalExperiments: Additional experiment flags for the time series
      forcasting training.
    availableAtForecastColumns: Names of columns that are available and
      provided when a forecast is requested. These columns contain information
      for the given entity (identified by the time_series_identifier_column
      column) that is known at forecast. For example, predicted weather for a
      specific day.
    contextWindow: The amount of time into the past training and prediction
      data is used for model training and prediction respectively. Expressed
      in number of units defined by the `data_granularity` field.
    dataGranularity: Expected difference in time granularity between rows in
      the data.
    exportEvaluatedDataItemsConfig: Configuration for exporting test set
      predictions to a BigQuery table. If this configuration is absent, then
      the export is not performed.
    forecastHorizon: The amount of time into the future for which forecasted
      values for the target are returned. Expressed in number of units defined
      by the `data_granularity` field.
    hierarchyConfig: Configuration that defines the hierarchical relationship
      of time series and parameters for hierarchical forecasting strategies.
    holidayRegions: The geographical region based on which the holiday effect
      is applied in modeling by adding holiday categorical array feature that
      include all holidays matching the date. This option only allowed when
      data_granularity is day. By default, holiday effect modeling is
      disabled. To turn it on, specify the holiday region using this option.
    optimizationObjective: Objective function the model is optimizing towards.
      The training process creates a model that optimizes the value of the
      objective function over the validation set. The supported optimization
      objectives: * "minimize-rmse" (default) - Minimize root-mean-squared
      error (RMSE). * "minimize-mae" - Minimize mean-absolute error (MAE). *
      "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE). *
      "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE).
      * "minimize-wape-mae" - Minimize the combination of weighted absolute
      percentage error (WAPE) and mean-absolute-error (MAE). * "minimize-
      quantile-loss" - Minimize the quantile loss at the quantiles defined in
      `quantiles`. * "minimize-mape" - Minimize the mean absolute percentage
      error.
    quantiles: Quantiles to use for minimize-quantile-loss
      `optimization_objective`. Up to 5 quantiles are allowed of values
      between 0 and 1, exclusive. Required if the value of
      optimization_objective is minimize-quantile-loss. Represents the percent
      quantiles to use for that objective. Quantiles must be unique.
    targetColumn: The name of the column that the Model is to predict values
      for. This column must be unavailable at forecast.
    timeColumn: The name of the column that identifies time order in the time
      series. This column must be available at forecast.
    timeSeriesAttributeColumns: Column names that should be used as attribute
      columns. The value of these columns does not vary as a function of time.
      For example, store ID or item color.
    timeSeriesIdentifierColumn: The name of the column that identifies the
      time series.
    trainBudgetMilliNodeHours: Required. The train budget of creating this
      model, expressed in milli node hours i.e. 1,000 value in this field
      means 1 node hour. The training cost of the model will not exceed this
      budget. The final cost will be attempted to be close to the budget,
      though may end up being (even) noticeably smaller - at the backend's
      discretion. This especially may happen when further model training
      ceases to provide any improvements. If the budget is set to a value
      known to be insufficient to train a model for the given dataset, the
      training won't be attempted and will error. The train budget must be
      between 1,000 and 72,000 milli node hours, inclusive.
    transformations: Each transformation will apply transform function to
      given input column. And the result will be used for training. When
      creating transformation for BigQuery Struct column, the column should be
      flattened using "." as the delimiter.
    unavailableAtForecastColumns: Names of columns that are unavailable when a
      forecast is requested. This column contains information for the given
      entity (identified by the time_series_identifier_column) that is unknown
      before the forecast For example, actual weather on a given day.
    validationOptions: Validation options for the data validation component.
      The available options are: * "fail-pipeline" - default, will validate
      against the validation and fail the pipeline if it fails. * "ignore-
      validation" - ignore the results of the validation and continue
    weightColumn: Column name that should be used as the weight column. Higher
      values in this column give more importance to the row during model
      training. The column must have numeric values between 0 and 10000
      inclusively; 0 means the row is ignored for training. If weight column
      field is not set, then all rows are assumed to have equal weight of 1.
      This column must be available at forecast.
    windowConfig: Config containing strategy for generating sliding windows.
  """

  additionalExperiments = _messages.StringField(1, repeated=True)
  availableAtForecastColumns = _messages.StringField(2, repeated=True)
  contextWindow = _messages.IntegerField(3)
  dataGranularity = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity', 4)
  exportEvaluatedDataItemsConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig', 5)
  forecastHorizon = _messages.IntegerField(6)
  hierarchyConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig', 7)
  holidayRegions = _messages.StringField(8, repeated=True)
  optimizationObjective = _messages.StringField(9)
  quantiles = _messages.FloatField(10, repeated=True)
  targetColumn = _messages.StringField(11)
  timeColumn = _messages.StringField(12)
  timeSeriesAttributeColumns = _messages.StringField(13, repeated=True)
  timeSeriesIdentifierColumn = _messages.StringField(14)
  trainBudgetMilliNodeHours = _messages.IntegerField(15)
  transformations = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation', 16, repeated=True)
  unavailableAtForecastColumns = _messages.StringField(17, repeated=True)
  validationOptions = _messages.StringField(18)
  weightColumn = _messages.StringField(19)
  windowConfig = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig', 20)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity(_messages.Message):
  r"""A duration of time expressed in time granularity units.

  Fields:
    quantity: The number of granularity_units between data points in the
      training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15,
      or 30. For all other values of `granularity_unit`, must be 1.
    unit: The time granularity unit of this time period. The supported units
      are: * "minute" * "hour" * "day" * "week" * "month" * "year"
  """

  quantity = _messages.IntegerField(1)
  unit = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
  ngInputsTransformation object.

  Fields:
    auto: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForec
      astingInputsTransformationAutoTransformation attribute.
    categorical: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPl
      usForecastingInputsTransformationCategoricalTransformation attribute.
    numeric: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusFo
      recastingInputsTransformationNumericTransformation attribute.
    text: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForec
      astingInputsTransformationTextTransformation attribute.
    timestamp: A GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlus
      ForecastingInputsTransformationTimestampTransformation attribute.
  """

  auto = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation', 1)
  categorical = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation', 2)
  numeric = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation', 3)
  text = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation', 4)
  timestamp = _messages.MessageField('GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation', 5)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation(_messages.Message):
  r"""Training pipeline will infer the proper transformation based on the
  statistic of dataset.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  categorical string as is--no change to case, punctuation, spelling, tense,
  and so on. * Convert the category name to a dictionary lookup index and
  generate an embedding for each index. * Categories that appear less than 5
  times in the training dataset are treated as the "unknown" category. The
  "unknown" category gets its own special lookup index and resulting
  embedding.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  value converted to float32. * The z_score of the value. * log(value+1) when
  the value is greater than or equal to 0. Otherwise, this transformation is
  not applied and the value is considered a missing value. * z_score of
  log(value+1) when the value is greater than or equal to 0. Otherwise, this
  transformation is not applied and the value is considered a missing value.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. * The
  text as is--no change to case, punctuation, spelling, tense, and so on. *
  Convert the category name to a dictionary lookup index and generate an
  embedding for each index.

  Fields:
    columnName: A string attribute.
  """

  columnName = _messages.StringField(1)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation(_messages.Message):
  r"""Training pipeline will perform following transformation functions. *
  Apply the transformation functions for Numerical columns. * Determine the
  year, month, day,and weekday. Treat each value from the timestamp as a
  Categorical column. * Invalid numerical values (for example, values that
  fall outside of a typical timestamp range, or are extreme values) receive no
  special treatment and are not removed.

  Fields:
    columnName: A string attribute.
    timeFormat: The format in which that time field is expressed. The
      time_format must either be one of: * `unix-seconds` * `unix-
      milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for
      respectively number of seconds, milliseconds, microseconds and
      nanoseconds since start of the Unix epoch); or be written in `strftime`
      syntax. If time_format is not set, then the default format is RFC 3339
      `date-time` format, where `time-offset` = `"Z"` (e.g.
      1985-04-12T23:20:50.52Z)
  """

  columnName = _messages.StringField(1)
  timeFormat = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata(_messages.Message):
  r"""Model metadata specific to Seq2Seq Plus Forecasting.

  Fields:
    evaluatedDataItemsBigqueryUri: BigQuery destination uri for exported
      evaluated examples.
    trainCostMilliNodeHours: Output only. The actual training cost of the
      model, expressed in milli node hours, i.e. 1,000 value in this field
      means 1 node hour. Guaranteed to not exceed the train budget.
  """

  evaluatedDataItemsBigqueryUri = _messages.StringField(1)
  trainCostMilliNodeHours = _messages.IntegerField(2)


class GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig(_messages.Message):
  r"""Config that contains the strategy used to generate sliding windows in
  time series training. A window is a series of rows that comprise the context
  up to the time of prediction, and the horizon following. The corresponding
  row for each window marks the start of the forecast horizon. Each window is
  used as an input example for training/evaluation.

  Fields:
    column: Name of the column that should be used to generate sliding
      windows. The column should contain either booleans or string booleans;
      if the value of the row is True, generate a sliding window with the
      horizon starting at that row. The column will not be used as a feature
      in training.
    maxCount: Maximum number of windows that should be generated across all
      time series.
    strideLength: Stride length used to generate input examples. Within one
      time series, every {$STRIDE_LENGTH} rows will be used to generate a
      sliding window.
  """

  column = _messages.StringField(1)
  maxCount = _messages.IntegerField(2)
  strideLength = _messages.IntegerField(3)


class GoogleCloudAiplatformV1SchemaVertex(_messages.Message):
  r"""Represents a 2D point in the image. Vertex coordinates are normalized to
  be relative to the original image dimensions and range from 0 to 1. The
  origin of the coordinate system (0,0) is the top-left corner of the image. x
  increases to the right, and y increases to the bottom.

  Fields:
    x: X coordinate of the vertex, normalized to [0.0, 1.0].
    y: Y coordinate of the vertex, normalized to [0.0, 1.0].
  """

  x = _messages.FloatField(1)
  y = _messages.FloatField(2)


class GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation(_messages.Message):
  r"""Annotation details specific to video action recognition.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    timeSegment: This Annotation applies to the time period represented by the
      TimeSegment. If it's not set, the Annotation applies to the whole video.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  timeSegment = _messages.MessageField('GoogleCloudAiplatformV1SchemaTimeSegment', 3)


class GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation(_messages.Message):
  r"""Annotation details specific to video classification.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    timeSegment: This Annotation applies to the time period represented by the
      TimeSegment. If it's not set, the Annotation applies to the whole video.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  timeSegment = _messages.MessageField('GoogleCloudAiplatformV1SchemaTimeSegment', 3)


class GoogleCloudAiplatformV1SchemaVideoDataItem(_messages.Message):
  r"""Payload of Video DataItem.

  Fields:
    gcsUri: Required. Google Cloud Storage URI points to the original video in
      user's bucket. The video is up to 50 GB in size and up to 3 hour in
      duration.
    mimeType: Output only. The mime type of the content of the video. Only the
      videos in below listed mime types are supported. Supported mime_type: -
      video/mp4 - video/avi - video/quicktime
  """

  gcsUri = _messages.StringField(1)
  mimeType = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaVideoDatasetMetadata(_messages.Message):
  r"""The metadata of Datasets that contain Video DataItems.

  Fields:
    dataItemSchemaUri: Points to a YAML file stored on Google Cloud Storage
      describing payload of the Video DataItems that belong to this Dataset.
    gcsBucket: Google Cloud Storage Bucket name that contains the blob data of
      this Dataset.
  """

  dataItemSchemaUri = _messages.StringField(1)
  gcsBucket = _messages.StringField(2)


class GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation(_messages.Message):
  r"""Annotation details specific to video object tracking.

  Fields:
    annotationSpecId: The resource Id of the AnnotationSpec that this
      Annotation pertains to.
    displayName: The display name of the AnnotationSpec that this Annotation
      pertains to.
    instanceId: The instance of the object, expressed as a positive integer.
      Used to track the same object across different frames.
    timeOffset: A time (frame) of a video to which this annotation pertains.
      Represented as the duration since the video's start.
    xMax: The rightmost coordinate of the bounding box.
    xMin: The leftmost coordinate of the bounding box.
    yMax: The bottommost coordinate of the bounding box.
    yMin: The topmost coordinate of the bounding box.
  """

  annotationSpecId = _messages.StringField(1)
  displayName = _messages.StringField(2)
  instanceId = _messages.IntegerField(3)
  timeOffset = _messages.StringField(4)
  xMax = _messages.FloatField(5)
  xMin = _messages.FloatField(6)
  yMax = _messages.FloatField(7)
  yMin = _messages.FloatField(8)


class GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata(_messages.Message):
  r"""A GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQ
  ueryMetadata object.

  Fields:
    multiLabel: Whether or not the classification label is multi_label.
  """

  multiLabel = _messages.BooleanField(1)


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



class GoogleCloudAiplatformV1SearchDataItemsResponse(_messages.Message):
  r"""Response message for DatasetService.SearchDataItems.

  Fields:
    dataItemViews: The DataItemViews read.
    nextPageToken: A token to retrieve next page of results. Pass to
      SearchDataItemsRequest.page_token to obtain that page.
  """

  dataItemViews = _messages.MessageField('GoogleCloudAiplatformV1DataItemView', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1SearchEntryPoint(_messages.Message):
  r"""An entry point for displaying Google Search results. A
  `SearchEntryPoint` is populated when the grounding source for a model's
  response is Google Search. It provides information that you can use to
  display the search results in your application.

  Fields:
    renderedContent: Optional. An HTML snippet that can be embedded in a web
      page or an application's webview. This snippet displays a search result,
      including the title, URL, and a brief description of the search result.
    sdkBlob: Optional. A base64-encoded JSON object that contains a list of
      search queries and their corresponding search URLs. This information can
      be used to build a custom search UI.
  """

  renderedContent = _messages.StringField(1)
  sdkBlob = _messages.BytesField(2)


class GoogleCloudAiplatformV1SearchFeaturesResponse(_messages.Message):
  r"""Response message for FeaturestoreService.SearchFeatures.

  Fields:
    features: The Features matching the request. Fields returned: * `name` *
      `description` * `labels` * `create_time` * `update_time`
    nextPageToken: A token, which can be sent as
      SearchFeaturesRequest.page_token to retrieve the next page. If this
      field is omitted, there are no subsequent pages.
  """

  features = _messages.MessageField('GoogleCloudAiplatformV1Feature', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1SearchMigratableResourcesRequest(_messages.Message):
  r"""Request message for MigrationService.SearchMigratableResources.

  Fields:
    filter: A filter for your search. You can use the following types of
      filters: * Resource type filters. The following strings filter for a
      specific type of MigratableResource: * `ml_engine_model_version:*` *
      `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` *
      "Migrated or not" filters. The following strings filter for resources
      that either have or have not already been migrated: *
      `last_migrate_time:*` filters for migrated resources. * `NOT
      last_migrate_time:*` filters for not yet migrated resources.
    pageSize: The standard page size. The default and maximum value is 100.
    pageToken: The standard page token.
  """

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


class GoogleCloudAiplatformV1SearchMigratableResourcesResponse(_messages.Message):
  r"""Response message for MigrationService.SearchMigratableResources.

  Fields:
    migratableResources: All migratable resources that can be migrated to the
      location specified in the request.
    nextPageToken: The standard next-page token. The migratable_resources may
      not fill page_size in SearchMigratableResourcesRequest even when there
      are subsequent pages.
  """

  migratableResources = _messages.MessageField('GoogleCloudAiplatformV1MigratableResource', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest(_messages.Message):
  r"""Request message for
  JobService.SearchModelDeploymentMonitoringStatsAnomalies.

  Fields:
    deployedModelId: Required. The DeployedModel ID of the
      [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].
    endTime: The latest timestamp of stats being generated. If not set,
      indicates feching stats till the latest possible one.
    featureDisplayName: The feature display name. If specified, only return
      the stats belonging to this feature. Format: ModelMonitoringStatsAnomali
      es.FeatureHistoricStatsAnomalies.feature_display_name, example:
      "user_destination".
    objectives: Required. Objectives of the stats to retrieve.
    pageSize: The standard list page size.
    pageToken: A page token received from a previous
      JobService.SearchModelDeploymentMonitoringStatsAnomalies call.
    startTime: The earliest timestamp of stats being generated. If not set,
      indicates fetching stats till the earliest possible one.
  """

  deployedModelId = _messages.StringField(1)
  endTime = _messages.StringField(2)
  featureDisplayName = _messages.StringField(3)
  objectives = _messages.MessageField('GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective', 4, repeated=True)
  pageSize = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(6)
  startTime = _messages.StringField(7)


class GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective(_messages.Message):
  r"""Stats requested for specific objective.

  Enums:
    TypeValueValuesEnum:

  Fields:
    topFeatureCount: If set, all attribution scores between
      SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and
      SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are
      fetched, and page token doesn't take effect in this case. Only used to
      retrieve attribution score for the top Features which has the highest
      attribution score in the latest monitoring run.
    type: A TypeValueValuesEnum attribute.
  """

  class TypeValueValuesEnum(_messages.Enum):
    r"""TypeValueValuesEnum enum type.

    Values:
      MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED: Default value,
        should not be set.
      RAW_FEATURE_SKEW: Raw feature values' stats to detect skew between
        Training-Prediction datasets.
      RAW_FEATURE_DRIFT: Raw feature values' stats to detect drift between
        Serving-Prediction datasets.
      FEATURE_ATTRIBUTION_SKEW: Feature attribution scores to detect skew
        between Training-Prediction datasets.
      FEATURE_ATTRIBUTION_DRIFT: Feature attribution scores to detect skew
        between Prediction datasets collected within different time windows.
    """
    MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED = 0
    RAW_FEATURE_SKEW = 1
    RAW_FEATURE_DRIFT = 2
    FEATURE_ATTRIBUTION_SKEW = 3
    FEATURE_ATTRIBUTION_DRIFT = 4

  topFeatureCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  type = _messages.EnumField('TypeValueValuesEnum', 2)


class GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse(_messages.Message):
  r"""Response message for
  JobService.SearchModelDeploymentMonitoringStatsAnomalies.

  Fields:
    monitoringStats: Stats retrieved for requested objectives. There are at
      most 1000 ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.pr
      ediction_stats in the response.
    nextPageToken: The page token that can be used by the next
      JobService.SearchModelDeploymentMonitoringStatsAnomalies call.
  """

  monitoringStats = _messages.MessageField('GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class GoogleCloudAiplatformV1SearchNearestEntitiesRequest(_messages.Message):
  r"""The request message for FeatureOnlineStoreService.SearchNearestEntities.

  Fields:
    query: Required. The query.
    returnFullEntity: Optional. If set to true, the full entities (including
      all vector values and metadata) of the nearest neighbors are returned;
      otherwise only entity id of the nearest neighbors will be returned. Note
      that returning full entities will significantly increase the latency and
      cost of the query.
  """

  query = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborQuery', 1)
  returnFullEntity = _messages.BooleanField(2)


class GoogleCloudAiplatformV1SearchNearestEntitiesResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreService.SearchNearestEntities

  Fields:
    nearestNeighbors: The nearest neighbors of the query entity.
  """

  nearestNeighbors = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighbors', 1)


class GoogleCloudAiplatformV1SecretEnvVar(_messages.Message):
  r"""Represents an environment variable where the value is a secret in Cloud
  Secret Manager.

  Fields:
    name: Required. Name of the secret environment variable.
    secretRef: Required. Reference to a secret stored in the Cloud Secret
      Manager that will provide the value for this environment variable.
  """

  name = _messages.StringField(1)
  secretRef = _messages.MessageField('GoogleCloudAiplatformV1SecretRef', 2)


class GoogleCloudAiplatformV1SecretRef(_messages.Message):
  r"""Reference to a secret stored in the Cloud Secret Manager that will
  provide the value for this environment variable.

  Fields:
    secret: Required. The name of the secret in Cloud Secret Manager. Format:
      {secret_name}.
    version: The Cloud Secret Manager secret version. Can be 'latest' for the
      latest version, an integer for a specific version, or a version alias.
  """

  secret = _messages.StringField(1)
  version = _messages.StringField(2)


class GoogleCloudAiplatformV1Segment(_messages.Message):
  r"""A segment of the content.

  Fields:
    endIndex: Output only. The end index of the segment in the `Part`,
      measured in bytes. This marks the end of the segment and is exclusive,
      meaning the segment includes content up to, but not including, the byte
      at this index.
    partIndex: Output only. The index of the `Part` object that this segment
      belongs to. This is useful for associating the segment with a specific
      part of the content.
    startIndex: Output only. The start index of the segment in the `Part`,
      measured in bytes. This marks the beginning of the segment and is
      inclusive, meaning the byte at this index is the first byte of the
      segment.
    text: Output only. The text of the segment.
  """

  endIndex = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  partIndex = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  startIndex = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  text = _messages.StringField(4)


class GoogleCloudAiplatformV1SemanticGovernancePolicy(_messages.Message):
  r"""Represents a governance policy applied to a specific Agent and
  optionally a specific Tool within that Agent.

  Fields:
    agent: Required. The name of the agent in Agent Registry that is affected
      by this policy.
    agentIdentity: Output only. Represents the principal of the agent, used by
      the Policy Decision Point (PDP) for governance checks. For more
      information, see https://docs.cloud.google.com/agent-builder/agent-
      engine/agent-identity Format:
      `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example:
      `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/
      aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/A
      GENT_ENGINE_ID`
    createTime: Output only. Timestamp when this SemanticGovernancePolicy was
      created.
    description: Optional. The description of the SemanticGovernancePolicy.
    displayName: Optional. The user-defined name of the
      SemanticGovernancePolicy.
    etag: Optional. Used to perform consistent read-modify-write transactions.
      If provided, the request will only succeed if the etag matches the
      current value. Otherwise, an ABORTED error will be returned.
    mcpTools: Optional. The McpTools that are affected by this policy.
    name: Identifier. Resource name of the SemanticGovernancePolicy.
    naturalLanguageConstraint: Required. The natural language constraint of
      the SemanticGovernancePolicy.
    updateTime: Output only. Timestamp when this SemanticGovernancePolicy was
      last updated.
  """

  agent = _messages.StringField(1)
  agentIdentity = _messages.StringField(2)
  createTime = _messages.StringField(3)
  description = _messages.StringField(4)
  displayName = _messages.StringField(5)
  etag = _messages.StringField(6)
  mcpTools = _messages.MessageField('GoogleCloudAiplatformV1SemanticGovernancePolicyMcpTool', 7, repeated=True)
  name = _messages.StringField(8)
  naturalLanguageConstraint = _messages.StringField(9)
  updateTime = _messages.StringField(10)


class GoogleCloudAiplatformV1SemanticGovernancePolicyEngine(_messages.Message):
  r"""Define a singleton SemanticGovernancePolicyEngine resource under a
  project and location.

  Enums:
    StateValueValuesEnum: Output only. The state of the
      SemanticGovernancePolicyEngine.

  Messages:
    GatewayConfigsValue: Optional. Configurations for gateways. The keys are
      user-defined names for each gateway. At most 5 gateway configurations
      are allowed.

  Fields:
    createTime: Output only. Timestamp when this
      SemanticGovernancePolicyEngine was created.
    gatewayConfigs: Optional. Configurations for gateways. The keys are user-
      defined names for each gateway. At most 5 gateway configurations are
      allowed.
    ipAddress: Output only. The private IPv4 address of the PSC endpoint.
    name: Identifier. The resource name of the SemanticGovernancePolicyEngine.
      Format:
      projects/{project}/locations/{location}/semanticGovernancePolicyEngine
    pscForwardingRule: Output only. The URI of the PSC endpoint resource
      created in customer project. Format:
      projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
    pscServiceAttachment: Output only. URI of the PSC attachment resource
      provided by SGP. Format: projects/{project}/regions/{region}/serviceAtta
      chments/{service_attachment}
    state: Output only. The state of the SemanticGovernancePolicyEngine.
    updateTime: Output only. Timestamp when this
      SemanticGovernancePolicyEngine was last updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The state of the SemanticGovernancePolicyEngine.

    Values:
      STATE_UNSPECIFIED: Default value. This value is unused.
      PROVISIONING: A provisioning operation is in progress. The engine will
        transition to ACTIVE on success or FAILED on failure.
      ACTIVE: The engine and all of its gateway configurations are provisioned
        and ready to serve traffic.
      DEPROVISIONING: A deprovisioning operation is in progress. The engine
        will transition to INACTIVE on success or FAILED on failure.
      INACTIVE: The engine has no provisioned infrastructure: either never
        provisioned, or successfully deprovisioned.
      FAILED: The most recent provisioning or deprovisioning operation failed.
        The engine may have partial infrastructure that needs explicit
        deprovision; the engine may be either re-provisioned or deprovisioned
        to recover.
    """
    STATE_UNSPECIFIED = 0
    PROVISIONING = 1
    ACTIVE = 2
    DEPROVISIONING = 3
    INACTIVE = 4
    FAILED = 5

  @encoding.MapUnrecognizedFields('additionalProperties')
  class GatewayConfigsValue(_messages.Message):
    r"""Optional. Configurations for gateways. The keys are user-defined names
    for each gateway. At most 5 gateway configurations are allowed.

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

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

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

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

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

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

  createTime = _messages.StringField(1)
  gatewayConfigs = _messages.MessageField('GatewayConfigsValue', 2)
  ipAddress = _messages.StringField(3)
  name = _messages.StringField(4)
  pscForwardingRule = _messages.StringField(5)
  pscServiceAttachment = _messages.StringField(6)
  state = _messages.EnumField('StateValueValuesEnum', 7)
  updateTime = _messages.StringField(8)


class GoogleCloudAiplatformV1SemanticGovernancePolicyMcpTool(_messages.Message):
  r"""Represents a governance policy applied to MCP tools used by an Agent.

  Fields:
    mcpServer: Required. The resource name of the McpServer in Agent Registry
      that is affected by this policy. Format:
      `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
    tools: Optional. The resource names of the McpTools used by the Agent that
      is affected by this policy. If not specified, the policy applies to all
      McpTools in the McpServer.
  """

  mcpServer = _messages.StringField(1)
  tools = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1ServiceAccountSpec(_messages.Message):
  r"""Configuration for the use of custom service account to run the
  workloads.

  Fields:
    enableCustomServiceAccount: Required. If true, custom user-managed service
      account is enforced to run any workloads (for example, Vertex Jobs) on
      the resource. Otherwise, uses the [Vertex AI Custom Code Service
      Agent](https://cloud.google.com/vertex-ai/docs/general/access-
      control#service-agents).
    serviceAccount: Optional. Required when all below conditions are met *
      `enable_custom_service_account` is true; * any runtime is specified via
      `ResourceRuntimeSpec` on creation time, for example, Ray The users must
      have `iam.serviceAccounts.actAs` permission on this service account and
      then the specified runtime containers will run as it. Do not set this
      field if you want to submit jobs using custom service account to this
      PersistentResource after creation, but only specify the
      `service_account` inside the job.
  """

  enableCustomServiceAccount = _messages.BooleanField(1)
  serviceAccount = _messages.StringField(2)


class GoogleCloudAiplatformV1Session(_messages.Message):
  r"""A session contains a set of actions between users and Vertex agents.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Sessions. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    SessionStateValue: Optional. Session specific memory which stores key
      conversation points.

  Fields:
    createTime: Output only. Timestamp when the session was created.
    displayName: Optional. The display name of the session.
    expireTime: Optional. Timestamp of when this session is considered
      expired. This is *always* provided on output, regardless of what was
      sent on input. The minimum value is 24 hours from the time of creation.
    labels: The labels with user-defined metadata to organize your Sessions.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. See
      https://goo.gl/xmQnxf for more information and examples of labels.
    name: Identifier. The resource name of the session. Format: 'projects/{pro
      ject}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/
      {session}'.
    sessionState: Optional. Session specific memory which stores key
      conversation points.
    ttl: Optional. Input only. The TTL for this session. The minimum value is
      24 hours.
    updateTime: Output only. Timestamp when the session was updated.
    userId: Required. Immutable. String id provided by the user
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Sessions. Label
    keys and values can be no longer than 64 characters (Unicode codepoints),
    can only contain lowercase letters, numeric characters, underscores and
    dashes. International characters are allowed. See https://goo.gl/xmQnxf
    for more information and examples of labels.

    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 SessionStateValue(_messages.Message):
    r"""Optional. Session specific memory which stores key conversation
    points.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a SessionStateValue 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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  expireTime = _messages.StringField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  sessionState = _messages.MessageField('SessionStateValue', 6)
  ttl = _messages.StringField(7)
  updateTime = _messages.StringField(8)
  userId = _messages.StringField(9)


class GoogleCloudAiplatformV1SessionEvent(_messages.Message):
  r"""An event represents a message from either the user or agent.

  Messages:
    RawEventValue: Optional. Weakly typed raw event data in proto struct
      format.

  Fields:
    actions: Optional. Actions executed by the agent.
    author: Required. The name of the agent that sent the event, or user.
    content: Optional. Content of the event provided by the author.
    errorCode: Optional. Error code if the response is an error. Code varies
      by model.
    errorMessage: Optional. Error message if the response is an error.
    eventMetadata: Optional. Metadata relating to this event.
    invocationId: Required. The invocation id of the event, multiple events
      can have the same invocation id.
    name: Identifier. The resource name of the event. Format:`projects/{projec
      t}/locations/{location}/reasoningEngines/{reasoning_engine}/sessions/{se
      ssion}/events/{event}`.
    rawEvent: Optional. Weakly typed raw event data in proto struct format.
    timestamp: Required. Timestamp when the event was created on client side.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class RawEventValue(_messages.Message):
    r"""Optional. Weakly typed raw event data in proto struct format.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a RawEventValue 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)

  actions = _messages.MessageField('GoogleCloudAiplatformV1EventActions', 1)
  author = _messages.StringField(2)
  content = _messages.MessageField('GoogleCloudAiplatformV1Content', 3)
  errorCode = _messages.StringField(4)
  errorMessage = _messages.StringField(5)
  eventMetadata = _messages.MessageField('GoogleCloudAiplatformV1EventMetadata', 6)
  invocationId = _messages.StringField(7)
  name = _messages.StringField(8)
  rawEvent = _messages.MessageField('RawEventValue', 9)
  timestamp = _messages.StringField(10)


class GoogleCloudAiplatformV1SharePointSources(_messages.Message):
  r"""The SharePointSources to pass to ImportRagFiles.

  Fields:
    sharePointSources: The SharePoint sources.
  """

  sharePointSources = _messages.MessageField('GoogleCloudAiplatformV1SharePointSourcesSharePointSource', 1, repeated=True)


class GoogleCloudAiplatformV1SharePointSourcesSharePointSource(_messages.Message):
  r"""An individual SharePointSource.

  Fields:
    clientId: The Application ID for the app registered in Microsoft Azure
      Portal. The application must also be configured with MS Graph
      permissions "Files.ReadAll", "Sites.ReadAll" and
      BrowserSiteLists.Read.All.
    clientSecret: The application secret for the app registered in Azure.
    driveId: The ID of the drive to download from.
    driveName: The name of the drive to download from.
    fileId: Output only. The SharePoint file id. Output only.
    sharepointFolderId: The ID of the SharePoint folder to download from.
    sharepointFolderPath: The path of the SharePoint folder to download from.
    sharepointSiteName: The name of the SharePoint site to download from. This
      can be the site name or the site id.
    tenantId: Unique identifier of the Azure Active Directory Instance.
  """

  clientId = _messages.StringField(1)
  clientSecret = _messages.MessageField('GoogleCloudAiplatformV1ApiAuthApiKeyConfig', 2)
  driveId = _messages.StringField(3)
  driveName = _messages.StringField(4)
  fileId = _messages.StringField(5)
  sharepointFolderId = _messages.StringField(6)
  sharepointFolderPath = _messages.StringField(7)
  sharepointSiteName = _messages.StringField(8)
  tenantId = _messages.StringField(9)


class GoogleCloudAiplatformV1ShieldedVmConfig(_messages.Message):
  r"""A set of Shielded Instance options. See [Images using supported Shielded
  VM features](https://cloud.google.com/compute/docs/instances/modifying-
  shielded-vm).

  Fields:
    enableSecureBoot: Defines whether the instance has [Secure
      Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-
      vm#secure-boot) enabled. Secure Boot helps ensure that the system only
      runs authentic software by verifying the digital signature of all boot
      components, and halting the boot process if signature verification
      fails.
  """

  enableSecureBoot = _messages.BooleanField(1)


class GoogleCloudAiplatformV1SlackSource(_messages.Message):
  r"""The Slack source for the ImportRagFilesRequest.

  Fields:
    channels: Required. The Slack channels.
  """

  channels = _messages.MessageField('GoogleCloudAiplatformV1SlackSourceSlackChannels', 1, repeated=True)


class GoogleCloudAiplatformV1SlackSourceSlackChannels(_messages.Message):
  r"""SlackChannels contains the Slack channels and corresponding access
  token.

  Fields:
    apiKeyConfig: Required. The SecretManager secret version resource name
      (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing
      the Slack channel access token that has access to the slack channel IDs.
      See: https://api.slack.com/tutorials/tracks/getting-a-token.
    channels: Required. The Slack channel IDs.
  """

  apiKeyConfig = _messages.MessageField('GoogleCloudAiplatformV1ApiAuthApiKeyConfig', 1)
  channels = _messages.MessageField('GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel', 2, repeated=True)


class GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel(_messages.Message):
  r"""SlackChannel contains the Slack channel ID and the time range to import.

  Fields:
    channelId: Required. The Slack channel ID.
    endTime: Optional. The ending timestamp for messages to import.
    startTime: Optional. The starting timestamp for messages to import.
  """

  channelId = _messages.StringField(1)
  endTime = _messages.StringField(2)
  startTime = _messages.StringField(3)


class GoogleCloudAiplatformV1SmoothGradConfig(_messages.Message):
  r"""Config for SmoothGrad approximation of gradients. When enabled, the
  gradients are approximated by averaging the gradients from noisy samples in
  the vicinity of the inputs. Adding noise can help improve the computed
  gradients. Refer to this paper for more details:
  https://arxiv.org/pdf/1706.03825.pdf

  Fields:
    featureNoiseSigma: This is similar to noise_sigma, but provides additional
      flexibility. A separate noise sigma can be provided for each feature,
      which is useful if their distributions are different. No noise is added
      to features that are not set. If this field is unset, noise_sigma will
      be used for all features.
    noiseSigma: This is a single float value and will be used to add noise to
      all the features. Use this field when all features are normalized to
      have the same distribution: scale to range [0, 1], [-1, 1] or z-scoring,
      where features are normalized to have 0-mean and 1-variance. Learn more
      about [normalization](https://developers.google.com/machine-
      learning/data-prep/transform/normalization). For best results the
      recommended value is about 10% - 20% of the standard deviation of the
      input feature. Refer to section 3.2 of the SmoothGrad paper:
      https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. If the
      distribution is different per feature, set feature_noise_sigma instead
      for each feature.
    noisySampleCount: The number of gradient samples to use for approximation.
      The higher this number, the more accurate the gradient is, but the
      runtime complexity increases by this factor as well. Valid range of its
      value is [1, 50]. Defaults to 3.
  """

  featureNoiseSigma = _messages.MessageField('GoogleCloudAiplatformV1FeatureNoiseSigma', 1)
  noiseSigma = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  noisySampleCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SpeakerVoiceConfig(_messages.Message):
  r"""Configuration for a single speaker in a multi-speaker setup.

  Fields:
    speaker: Required. The name of the speaker. This should be the same as the
      speaker name used in the prompt.
    voiceConfig: Required. The configuration for the voice of this speaker.
  """

  speaker = _messages.StringField(1)
  voiceConfig = _messages.MessageField('GoogleCloudAiplatformV1VoiceConfig', 2)


class GoogleCloudAiplatformV1SpecialistPool(_messages.Message):
  r"""SpecialistPool represents customers' own workforce to work on their data
  labeling jobs. It includes a group of specialist managers and workers.
  Managers are responsible for managing the workers in this pool as well as
  customers' data labeling jobs associated with this pool. Customers create
  specialist pool as well as start data labeling jobs on Cloud, managers and
  workers handle the jobs using CrowdCompute console.

  Fields:
    displayName: Required. The user-defined name of the SpecialistPool. The
      name can be up to 128 characters long and can consist of any UTF-8
      characters. This field should be unique on project-level.
    name: Required. The resource name of the SpecialistPool.
    pendingDataLabelingJobs: Output only. The resource name of the pending
      data labeling jobs.
    specialistManagerEmails: The email addresses of the managers in the
      SpecialistPool.
    specialistManagersCount: Output only. The number of managers in this
      SpecialistPool.
    specialistWorkerEmails: The email addresses of workers in the
      SpecialistPool.
  """

  displayName = _messages.StringField(1)
  name = _messages.StringField(2)
  pendingDataLabelingJobs = _messages.StringField(3, repeated=True)
  specialistManagerEmails = _messages.StringField(4, repeated=True)
  specialistManagersCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  specialistWorkerEmails = _messages.StringField(6, repeated=True)


class GoogleCloudAiplatformV1SpeculativeDecodingSpec(_messages.Message):
  r"""Configuration for Speculative Decoding.

  Fields:
    draftModelSpeculation: draft model speculation.
    ngramSpeculation: N-Gram speculation.
    speculativeTokenCount: The number of speculative tokens to generate at
      each step.
  """

  draftModelSpeculation = _messages.MessageField('GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation', 1)
  ngramSpeculation = _messages.MessageField('GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation', 2)
  speculativeTokenCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SpeculativeDecodingSpecDraftModelSpeculation(_messages.Message):
  r"""Draft model speculation works by using the smaller model to generate
  candidate tokens for speculative decoding.

  Fields:
    draftModel: Required. The resource name of the draft model.
  """

  draftModel = _messages.StringField(1)


class GoogleCloudAiplatformV1SpeculativeDecodingSpecNgramSpeculation(_messages.Message):
  r"""N-Gram speculation works by trying to find matching tokens in the
  previous prompt sequence and use those as speculation for generating new
  tokens.

  Fields:
    ngramSize: The number of last N input tokens used as ngram to search/match
      against the previous prompt sequence. This is equal to the N in N-Gram.
      The default value is 3 if not specified.
  """

  ngramSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SpeechConfig(_messages.Message):
  r"""Configuration for speech generation.

  Fields:
    languageCode: Optional. The language code (ISO 639-1) for the speech
      synthesis.
    multiSpeakerVoiceConfig: The configuration for a multi-speaker text-to-
      speech request. This field is mutually exclusive with `voice_config`.
    voiceConfig: The configuration for the voice to use.
  """

  languageCode = _messages.StringField(1)
  multiSpeakerVoiceConfig = _messages.MessageField('GoogleCloudAiplatformV1MultiSpeakerVoiceConfig', 2)
  voiceConfig = _messages.MessageField('GoogleCloudAiplatformV1VoiceConfig', 3)


class GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata(_messages.Message):
  r"""Metadata information for NotebookService.StartNotebookRuntime.

  Fields:
    genericMetadata: The operation generic information.
    progressMessage: A human-readable message that shows the intermediate
      progress details of NotebookRuntime.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1StartNotebookRuntimeRequest(_messages.Message):
  r"""Request message for NotebookService.StartNotebookRuntime."""


class GoogleCloudAiplatformV1StopNotebookRuntimeRequest(_messages.Message):
  r"""Request message for NotebookService.StopNotebookRuntime."""


class GoogleCloudAiplatformV1StopTrialRequest(_messages.Message):
  r"""Request message for VizierService.StopTrial."""


class GoogleCloudAiplatformV1StratifiedSplit(_messages.Message):
  r"""Assigns input data to the training, validation, and test sets so that
  the distribution of values found in the categorical column (as specified by
  the `key` field) is mirrored within each split. The fraction values
  determine the relative sizes of the splits. For example, if the specified
  column has three values, with 50% of the rows having value "A", 25% value
  "B", and 25% value "C", and the split fractions are specified as 80/10/10,
  then the training set will constitute 80% of the training data, with about
  50% of the training set rows having the value "A" for the specified column,
  about 25% having the value "B", and about 25% having the value "C". Only the
  top 500 occurring values are used; any values not in the top 500 values are
  randomly assigned to a split. If less than three rows contain a specific
  value, those rows are randomly assigned. Supported only for tabular
  Datasets.

  Fields:
    key: Required. The key is a name of one of the Dataset's data columns. The
      key provided must be for a categorical column.
    testFraction: The fraction of the input data that is to be used to
      evaluate the Model.
    trainingFraction: The fraction of the input data that is to be used to
      train the Model.
    validationFraction: The fraction of the input data that is to be used to
      validate the Model.
  """

  key = _messages.StringField(1)
  testFraction = _messages.FloatField(2)
  trainingFraction = _messages.FloatField(3)
  validationFraction = _messages.FloatField(4)


class GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest(_messages.Message):
  r"""Request message for ReasoningEngineExecutionService.StreamQuery.

  Messages:
    InputValue: Optional. Input content provided by users in JSON object
      format. Examples include text query, function calling parameters, media
      bytes, etc.

  Fields:
    classMethod: Optional. Class method to be used for the stream query. It is
      optional and defaults to "stream_query" if unspecified.
    input: Optional. Input content provided by users in JSON object format.
      Examples include text query, function calling parameters, media bytes,
      etc.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class InputValue(_messages.Message):
    r"""Optional. Input content provided by users in JSON object format.
    Examples include text query, function calling parameters, media bytes,
    etc.

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

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a InputValue 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)

  classMethod = _messages.StringField(1)
  input = _messages.MessageField('InputValue', 2)


class GoogleCloudAiplatformV1StreamRawPredictRequest(_messages.Message):
  r"""Request message for PredictionService.StreamRawPredict.

  Fields:
    httpBody: The prediction input. Supports HTTP headers and arbitrary data
      payload.
  """

  httpBody = _messages.MessageField('GoogleApiHttpBody', 1)


class GoogleCloudAiplatformV1StreamingPredictRequest(_messages.Message):
  r"""Request message for PredictionService.StreamingPredict. The first
  message must contain endpoint field and optionally input. The subsequent
  messages must contain input.

  Fields:
    inputs: The prediction input.
    parameters: The parameters that govern the prediction.
  """

  inputs = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 1, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 2)


class GoogleCloudAiplatformV1StreamingPredictResponse(_messages.Message):
  r"""Response message for PredictionService.StreamingPredict.

  Fields:
    outputs: The prediction output.
    parameters: The parameters that govern the prediction.
  """

  outputs = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 1, repeated=True)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 2)


class GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest(_messages.Message):
  r"""Request message for
  FeaturestoreOnlineServingService.StreamingReadFeatureValues.

  Fields:
    entityIds: Required. IDs of entities to read Feature values of. The
      maximum number of IDs is 100. For example, for a machine learning model
      predicting user clicks on a website, an entity ID could be `user_123`.
    featureSelector: Required. Selector choosing Features of the target
      EntityType. Feature IDs will be deduplicated.
  """

  entityIds = _messages.StringField(1, repeated=True)
  featureSelector = _messages.MessageField('GoogleCloudAiplatformV1FeatureSelector', 2)


class GoogleCloudAiplatformV1StringArray(_messages.Message):
  r"""A list of string values.

  Fields:
    values: A list of string values.
  """

  values = _messages.StringField(1, repeated=True)


class GoogleCloudAiplatformV1StructFieldValue(_messages.Message):
  r"""One field of a Struct (or object) type feature value.

  Fields:
    name: Name of the field in the struct feature.
    value: The value for this field.
  """

  name = _messages.StringField(1)
  value = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 2)


class GoogleCloudAiplatformV1StructValue(_messages.Message):
  r"""Struct (or object) type feature value.

  Fields:
    values: A list of field values.
  """

  values = _messages.MessageField('GoogleCloudAiplatformV1StructFieldValue', 1, repeated=True)


class GoogleCloudAiplatformV1Study(_messages.Message):
  r"""A message representing a Study.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of a Study.

  Fields:
    createTime: Output only. Time at which the study was created.
    displayName: Required. Describes the Study, default value is empty string.
    inactiveReason: Output only. A human readable reason why the Study is
      inactive. This should be empty if a study is ACTIVE or COMPLETED.
    name: Output only. The name of a study. The study's globally unique
      identifier. Format:
      `projects/{project}/locations/{location}/studies/{study}`
    state: Output only. The detailed state of a Study.
    studySpec: Required. Configuration of the Study.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of a Study.

    Values:
      STATE_UNSPECIFIED: The study state is unspecified.
      ACTIVE: The study is active.
      INACTIVE: The study is stopped due to an internal error.
      COMPLETED: The study is done when the service exhausts the parameter
        search space or max_trial_count is reached.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    INACTIVE = 2
    COMPLETED = 3

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  inactiveReason = _messages.StringField(3)
  name = _messages.StringField(4)
  state = _messages.EnumField('StateValueValuesEnum', 5)
  studySpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpec', 6)


class GoogleCloudAiplatformV1StudySpec(_messages.Message):
  r"""Represents specification of a Study.

  Enums:
    AlgorithmValueValuesEnum: The search algorithm specified for the Study.
    MeasurementSelectionTypeValueValuesEnum: Describe which measurement
      selection type will be used
    ObservationNoiseValueValuesEnum: The observation noise level of the study.
      Currently only supported by the Vertex AI Vizier service. Not supported
      by HyperparameterTuningJob or TrainingPipeline.

  Fields:
    algorithm: The search algorithm specified for the Study.
    convexAutomatedStoppingSpec: The automated early stopping spec using
      convex stopping rule.
    decayCurveStoppingSpec: The automated early stopping spec using decay
      curve rule.
    measurementSelectionType: Describe which measurement selection type will
      be used
    medianAutomatedStoppingSpec: The automated early stopping spec using
      median rule.
    metrics: Required. Metric specs for the Study.
    observationNoise: The observation noise level of the study. Currently only
      supported by the Vertex AI Vizier service. Not supported by
      HyperparameterTuningJob or TrainingPipeline.
    parameters: Required. The set of parameters to tune.
    studyStoppingConfig: Conditions for automated stopping of a Study. Enable
      automated stopping by configuring at least one condition.
  """

  class AlgorithmValueValuesEnum(_messages.Enum):
    r"""The search algorithm specified for the Study.

    Values:
      ALGORITHM_UNSPECIFIED: The default algorithm used by Vertex AI for
        [hyperparameter tuning](https://cloud.google.com/vertex-
        ai/docs/training/hyperparameter-tuning-overview) and [Vertex AI
        Vizier](https://cloud.google.com/vertex-ai/docs/vizier).
      GRID_SEARCH: Simple grid search within the feasible space. To use grid
        search, all parameters must be `INTEGER`, `CATEGORICAL`, or
        `DISCRETE`.
      RANDOM_SEARCH: Simple random search within the feasible space.
    """
    ALGORITHM_UNSPECIFIED = 0
    GRID_SEARCH = 1
    RANDOM_SEARCH = 2

  class MeasurementSelectionTypeValueValuesEnum(_messages.Enum):
    r"""Describe which measurement selection type will be used

    Values:
      MEASUREMENT_SELECTION_TYPE_UNSPECIFIED: Will be treated as
        LAST_MEASUREMENT.
      LAST_MEASUREMENT: Use the last measurement reported.
      BEST_MEASUREMENT: Use the best measurement reported.
    """
    MEASUREMENT_SELECTION_TYPE_UNSPECIFIED = 0
    LAST_MEASUREMENT = 1
    BEST_MEASUREMENT = 2

  class ObservationNoiseValueValuesEnum(_messages.Enum):
    r"""The observation noise level of the study. Currently only supported by
    the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or
    TrainingPipeline.

    Values:
      OBSERVATION_NOISE_UNSPECIFIED: The default noise level chosen by Vertex
        AI.
      LOW: Vertex AI assumes that the objective function is (nearly) perfectly
        reproducible, and will never repeat the same Trial parameters.
      HIGH: Vertex AI will estimate the amount of noise in metric evaluations,
        it may repeat the same Trial parameters more than once.
    """
    OBSERVATION_NOISE_UNSPECIFIED = 0
    LOW = 1
    HIGH = 2

  algorithm = _messages.EnumField('AlgorithmValueValuesEnum', 1)
  convexAutomatedStoppingSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec', 2)
  decayCurveStoppingSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec', 3)
  measurementSelectionType = _messages.EnumField('MeasurementSelectionTypeValueValuesEnum', 4)
  medianAutomatedStoppingSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec', 5)
  metrics = _messages.MessageField('GoogleCloudAiplatformV1StudySpecMetricSpec', 6, repeated=True)
  observationNoise = _messages.EnumField('ObservationNoiseValueValuesEnum', 7)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpec', 8, repeated=True)
  studyStoppingConfig = _messages.MessageField('GoogleCloudAiplatformV1StudySpecStudyStoppingConfig', 9)


class GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec(_messages.Message):
  r"""Configuration for ConvexAutomatedStoppingSpec. When there are enough
  completed trials (configured by min_measurement_count), for pending trials
  with enough measurements and steps, the policy first computes an
  overestimate of the objective value at max_num_steps according to the slope
  of the incomplete objective value curve. No prediction can be made if the
  curve is completely flat. If the overestimation is worse than the best
  objective value of the completed trials, this pending trial will be early-
  stopped, but a last measurement will be added to the pending trial with
  max_num_steps and predicted objective value from the autoregression model.

  Fields:
    learningRateParameterName: The hyper-parameter name used in the tuning job
      that stands for learning rate. Leave it blank if learning rate is not in
      a parameter in tuning. The learning_rate is used to estimate the
      objective value of the ongoing trial.
    maxStepCount: Steps used in predicting the final objective for early
      stopped trials. In general, it's set to be the same as the defined steps
      in training / tuning. If not defined, it will learn it from the
      completed trials. When use_steps is false, this field is set to the
      maximum elapsed seconds.
    minMeasurementCount: The minimal number of measurements in a Trial. Early-
      stopping checks will not trigger if less than min_measurement_count+1
      completed trials or pending trials with less than min_measurement_count
      measurements. If not defined, the default value is 5.
    minStepCount: Minimum number of steps for a trial to complete. Trials
      which do not have a measurement with step_count > min_step_count won't
      be considered for early stopping. It's ok to set it to 0, and a trial
      can be early stopped at any stage. By default, min_step_count is set to
      be one-tenth of the max_step_count. When use_elapsed_duration is true,
      this field is set to the minimum elapsed seconds.
    updateAllStoppedTrials: ConvexAutomatedStoppingSpec by default only
      updates the trials that needs to be early stopped using a newly trained
      auto-regressive model. When this flag is set to True, all stopped trials
      from the beginning are potentially updated in terms of their
      `final_measurement`. Also, note that the training logic of
      autoregressive models is different in this case. Enabling this option
      has shown better results and this may be the default option in the
      future.
    useElapsedDuration: This bool determines whether or not the rule is
      applied based on elapsed_secs or steps. If use_elapsed_duration==false,
      the early stopping decision is made according to the predicted objective
      values according to the target steps. If use_elapsed_duration==true,
      elapsed_secs is used instead of steps. Also, in this case, the
      parameters max_num_steps and min_num_steps are overloaded to contain
      max_elapsed_seconds and min_elapsed_seconds.
  """

  learningRateParameterName = _messages.StringField(1)
  maxStepCount = _messages.IntegerField(2)
  minMeasurementCount = _messages.IntegerField(3)
  minStepCount = _messages.IntegerField(4)
  updateAllStoppedTrials = _messages.BooleanField(5)
  useElapsedDuration = _messages.BooleanField(6)


class GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec(_messages.Message):
  r"""The decay curve automated stopping rule builds a Gaussian Process
  Regressor to predict the final objective value of a Trial based on the
  already completed Trials and the intermediate measurements of the current
  Trial. Early stopping is requested for the current Trial if there is very
  low probability to exceed the optimal value found so far.

  Fields:
    useElapsedDuration: True if Measurement.elapsed_duration is used as the
      x-axis of each Trials Decay Curve. Otherwise, Measurement.step_count
      will be used as the x-axis.
  """

  useElapsedDuration = _messages.BooleanField(1)


class GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec(_messages.Message):
  r"""The median automated stopping rule stops a pending Trial if the Trial's
  best objective_value is strictly below the median 'performance' of all
  completed Trials reported up to the Trial's last measurement. Currently,
  'performance' refers to the running average of the objective values reported
  by the Trial in each measurement.

  Fields:
    useElapsedDuration: True if median automated stopping rule applies on
      Measurement.elapsed_duration. It means that elapsed_duration field of
      latest measurement of current Trial is used to compute median objective
      value for each completed Trials.
  """

  useElapsedDuration = _messages.BooleanField(1)


class GoogleCloudAiplatformV1StudySpecMetricSpec(_messages.Message):
  r"""Represents a metric to optimize.

  Enums:
    GoalValueValuesEnum: Required. The optimization goal of the metric.

  Fields:
    goal: Required. The optimization goal of the metric.
    metricId: Required. The ID of the metric. Must not contain whitespaces and
      must be unique amongst all MetricSpecs.
    safetyConfig: Used for safe search. In the case, the metric will be a
      safety metric. You must provide a separate metric for objective metric.
  """

  class GoalValueValuesEnum(_messages.Enum):
    r"""Required. The optimization goal of the metric.

    Values:
      GOAL_TYPE_UNSPECIFIED: Goal Type will default to maximize.
      MAXIMIZE: Maximize the goal metric.
      MINIMIZE: Minimize the goal metric.
    """
    GOAL_TYPE_UNSPECIFIED = 0
    MAXIMIZE = 1
    MINIMIZE = 2

  goal = _messages.EnumField('GoalValueValuesEnum', 1)
  metricId = _messages.StringField(2)
  safetyConfig = _messages.MessageField('GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig', 3)


class GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig(_messages.Message):
  r"""Used in safe optimization to specify threshold levels and risk
  tolerance.

  Fields:
    desiredMinSafeTrialsFraction: Desired minimum fraction of safe trials
      (over total number of trials) that should be targeted by the algorithm
      at any time during the study (best effort). This should be between 0.0
      and 1.0 and a value of 0.0 means that there is no minimum and an
      algorithm proceeds without targeting any specific fraction. A value of
      1.0 means that the algorithm attempts to only Suggest safe Trials.
    safetyThreshold: Safety threshold (boundary value between safe and
      unsafe). NOTE that if you leave SafetyMetricConfig unset, a default
      value of 0 will be used.
  """

  desiredMinSafeTrialsFraction = _messages.FloatField(1)
  safetyThreshold = _messages.FloatField(2)


class GoogleCloudAiplatformV1StudySpecParameterSpec(_messages.Message):
  r"""Represents a single parameter to optimize.

  Enums:
    ScaleTypeValueValuesEnum: How the parameter should be scaled. Leave unset
      for `CATEGORICAL` parameters.

  Fields:
    categoricalValueSpec: The value spec for a 'CATEGORICAL' parameter.
    conditionalParameterSpecs: A conditional parameter node is active if the
      parameter's value matches the conditional node's parent_value_condition.
      If two items in conditional_parameter_specs have the same name, they
      must have disjoint parent_value_condition.
    discreteValueSpec: The value spec for a 'DISCRETE' parameter.
    doubleValueSpec: The value spec for a 'DOUBLE' parameter.
    integerValueSpec: The value spec for an 'INTEGER' parameter.
    parameterId: Required. The ID of the parameter. Must not contain
      whitespaces and must be unique amongst all ParameterSpecs.
    scaleType: How the parameter should be scaled. Leave unset for
      `CATEGORICAL` parameters.
  """

  class ScaleTypeValueValuesEnum(_messages.Enum):
    r"""How the parameter should be scaled. Leave unset for `CATEGORICAL`
    parameters.

    Values:
      SCALE_TYPE_UNSPECIFIED: By default, no scaling is applied.
      UNIT_LINEAR_SCALE: Scales the feasible space to (0, 1) linearly.
      UNIT_LOG_SCALE: Scales the feasible space logarithmically to (0, 1). The
        entire feasible space must be strictly positive.
      UNIT_REVERSE_LOG_SCALE: Scales the feasible space "reverse"
        logarithmically to (0, 1). The result is that values close to the top
        of the feasible space are spread out more than points near the bottom.
        The entire feasible space must be strictly positive.
    """
    SCALE_TYPE_UNSPECIFIED = 0
    UNIT_LINEAR_SCALE = 1
    UNIT_LOG_SCALE = 2
    UNIT_REVERSE_LOG_SCALE = 3

  categoricalValueSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec', 1)
  conditionalParameterSpecs = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec', 2, repeated=True)
  discreteValueSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec', 3)
  doubleValueSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec', 4)
  integerValueSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec', 5)
  parameterId = _messages.StringField(6)
  scaleType = _messages.EnumField('ScaleTypeValueValuesEnum', 7)


class GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec(_messages.Message):
  r"""Value specification for a parameter in `CATEGORICAL` type.

  Fields:
    defaultValue: A default value for a `CATEGORICAL` parameter that is
      assumed to be a relatively good starting point. Unset value signals that
      there is no offered starting point. Currently only supported by the
      Vertex AI Vizier service. Not supported by HyperparameterTuningJob or
      TrainingPipeline.
    values: Required. The list of possible categories.
  """

  defaultValue = _messages.StringField(1)
  values = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec(_messages.Message):
  r"""Represents a parameter spec with condition from its parent parameter.

  Fields:
    parameterSpec: Required. The spec for a conditional parameter.
    parentCategoricalValues: The spec for matching values from a parent
      parameter of `CATEGORICAL` type.
    parentDiscreteValues: The spec for matching values from a parent parameter
      of `DISCRETE` type.
    parentIntValues: The spec for matching values from a parent parameter of
      `INTEGER` type.
  """

  parameterSpec = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpec', 1)
  parentCategoricalValues = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition', 2)
  parentDiscreteValues = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition', 3)
  parentIntValues = _messages.MessageField('GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition', 4)


class GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition(_messages.Message):
  r"""Represents the spec to match categorical values from parent parameter.

  Fields:
    values: Required. Matches values of the parent parameter of 'CATEGORICAL'
      type. All values must exist in `categorical_value_spec` of parent
      parameter.
  """

  values = _messages.StringField(1, repeated=True)


class GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition(_messages.Message):
  r"""Represents the spec to match discrete values from parent parameter.

  Fields:
    values: Required. Matches values of the parent parameter of 'DISCRETE'
      type. All values must exist in `discrete_value_spec` of parent
      parameter. The Epsilon of the value matching is 1e-10.
  """

  values = _messages.FloatField(1, repeated=True)


class GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition(_messages.Message):
  r"""Represents the spec to match integer values from parent parameter.

  Fields:
    values: Required. Matches values of the parent parameter of 'INTEGER'
      type. All values must lie in `integer_value_spec` of parent parameter.
  """

  values = _messages.IntegerField(1, repeated=True)


class GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec(_messages.Message):
  r"""Value specification for a parameter in `DISCRETE` type.

  Fields:
    defaultValue: A default value for a `DISCRETE` parameter that is assumed
      to be a relatively good starting point. Unset value signals that there
      is no offered starting point. It automatically rounds to the nearest
      feasible discrete point. Currently only supported by the Vertex AI
      Vizier service. Not supported by HyperparameterTuningJob or
      TrainingPipeline.
    values: Required. A list of possible values. The list should be in
      increasing order and at least 1e-10 apart. For instance, this parameter
      might have possible settings of 1.5, 2.5, and 4.0. This list should not
      contain more than 1,000 values.
  """

  defaultValue = _messages.FloatField(1)
  values = _messages.FloatField(2, repeated=True)


class GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec(_messages.Message):
  r"""Value specification for a parameter in `DOUBLE` type.

  Fields:
    defaultValue: A default value for a `DOUBLE` parameter that is assumed to
      be a relatively good starting point. Unset value signals that there is
      no offered starting point. Currently only supported by the Vertex AI
      Vizier service. Not supported by HyperparameterTuningJob or
      TrainingPipeline.
    maxValue: Required. Inclusive maximum value of the parameter.
    minValue: Required. Inclusive minimum value of the parameter.
  """

  defaultValue = _messages.FloatField(1)
  maxValue = _messages.FloatField(2)
  minValue = _messages.FloatField(3)


class GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec(_messages.Message):
  r"""Value specification for a parameter in `INTEGER` type.

  Fields:
    defaultValue: A default value for an `INTEGER` parameter that is assumed
      to be a relatively good starting point. Unset value signals that there
      is no offered starting point. Currently only supported by the Vertex AI
      Vizier service. Not supported by HyperparameterTuningJob or
      TrainingPipeline.
    maxValue: Required. Inclusive maximum value of the parameter.
    minValue: Required. Inclusive minimum value of the parameter.
  """

  defaultValue = _messages.IntegerField(1)
  maxValue = _messages.IntegerField(2)
  minValue = _messages.IntegerField(3)


class GoogleCloudAiplatformV1StudySpecStudyStoppingConfig(_messages.Message):
  r"""The configuration (stopping conditions) for automated stopping of a
  Study. Conditions include trial budgets, time budgets, and convergence
  detection.

  Fields:
    maxDurationNoProgress: If the objective value has not improved for this
      much time, stop the study. WARNING: Effective only for single-objective
      studies.
    maxNumTrials: If there are more than this many trials, stop the study.
    maxNumTrialsNoProgress: If the objective value has not improved for this
      many consecutive trials, stop the study. WARNING: Effective only for
      single-objective studies.
    maximumRuntimeConstraint: If the specified time or duration has passed,
      stop the study.
    minNumTrials: If there are fewer than this many COMPLETED trials, do not
      stop the study.
    minimumRuntimeConstraint: Each "stopping rule" in this proto specifies an
      "if" condition. Before Vizier would generate a new suggestion, it first
      checks each specified stopping rule, from top to bottom in this list.
      Note that the first few rules (e.g. minimum_runtime_constraint,
      min_num_trials) will prevent other stopping rules from being evaluated
      until they are met. For example, setting `min_num_trials=5` and
      `always_stop_after= 1 hour` means that the Study will ONLY stop after it
      has 5 COMPLETED trials, even if more than an hour has passed since its
      creation. It follows the first applicable rule (whose "if" condition is
      satisfied) to make a stopping decision. If none of the specified rules
      are applicable, then Vizier decides that the study should not stop. If
      Vizier decides that the study should stop, the study enters STOPPING
      state (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The
      automatic study state transition happens precisely as described above;
      that is, deleting trials or updating StudyConfig NEVER automatically
      moves the study state back to ACTIVE. If you want to _resume_ a Study
      that was stopped, 1) change the stopping conditions if necessary, 2)
      activate the study, and then 3) ask for suggestions. If the specified
      time or duration has not passed, do not stop the study.
    shouldStopAsap: If true, a Study enters STOPPING_ASAP whenever it would
      normally enters STOPPING state. The bottom line is: set to true if you
      want to interrupt on-going evaluations of Trials as soon as the study
      stopping condition is met. (Please see Study.State documentation for the
      source of truth).
  """

  maxDurationNoProgress = _messages.StringField(1)
  maxNumTrials = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  maxNumTrialsNoProgress = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  maximumRuntimeConstraint = _messages.MessageField('GoogleCloudAiplatformV1StudyTimeConstraint', 4)
  minNumTrials = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  minimumRuntimeConstraint = _messages.MessageField('GoogleCloudAiplatformV1StudyTimeConstraint', 6)
  shouldStopAsap = _messages.BooleanField(7)


class GoogleCloudAiplatformV1StudyTimeConstraint(_messages.Message):
  r"""Time-based Constraint for Study

  Fields:
    endTime: Compares the wallclock time to this time. Must use UTC timezone.
    maxDuration: Counts the wallclock time passed since the creation of this
      Study.
  """

  endTime = _messages.StringField(1)
  maxDuration = _messages.StringField(2)


class GoogleCloudAiplatformV1SuggestTrialsMetadata(_messages.Message):
  r"""Details of operations that perform Trials suggestion.

  Fields:
    clientId: The identifier of the client that is requesting the suggestion.
      If multiple SuggestTrialsRequests have the same `client_id`, the service
      will return the identical suggested Trial if the Trial is pending, and
      provide a new Trial if the last suggested Trial was completed.
    genericMetadata: Operation metadata for suggesting Trials.
  """

  clientId = _messages.StringField(1)
  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 2)


class GoogleCloudAiplatformV1SuggestTrialsRequest(_messages.Message):
  r"""Request message for VizierService.SuggestTrials.

  Fields:
    clientId: Required. The identifier of the client that is requesting the
      suggestion. If multiple SuggestTrialsRequests have the same `client_id`,
      the service will return the identical suggested Trial if the Trial is
      pending, and provide a new Trial if the last suggested Trial was
      completed.
    contexts: Optional. This allows you to specify the "context" for a Trial;
      a context is a slice (a subspace) of the search space. Typical uses for
      contexts: 1) You are using Vizier to tune a server for best performance,
      but there's a strong weekly cycle. The context specifies the day-of-
      week. This allows Tuesday to generalize from Wednesday without assuming
      that everything is identical. 2) Imagine you're optimizing some medical
      treatment for people. As they walk in the door, you know certain facts
      about them (e.g. sex, weight, height, blood-pressure). Put that
      information in the context, and Vizier will adapt its suggestions to the
      patient. 3) You want to do a fair A/B test efficiently. Specify the "A"
      and "B" conditions as contexts, and Vizier will generalize between "A"
      and "B" conditions. If they are similar, this will allow Vizier to
      converge to the optimum faster than if "A" and "B" were separate
      Studies. NOTE: You can also enter contexts as REQUESTED Trials, e.g. via
      the CreateTrial() RPC; that's the asynchronous option where you don't
      need a close association between contexts and suggestions. NOTE: All the
      Parameters you set in a context MUST be defined in the Study. NOTE: You
      must supply 0 or $suggestion_count contexts. If you don't supply any
      contexts, Vizier will make suggestions from the full search space
      specified in the StudySpec; if you supply a full set of context, each
      suggestion will match the corresponding context. NOTE: A Context with no
      features set matches anything, and allows suggestions from the full
      search space. NOTE: Contexts MUST lie within the search space specified
      in the StudySpec. It's an error if they don't. NOTE: Contexts
      preferentially match ACTIVE then REQUESTED trials before new suggestions
      are generated. NOTE: Generation of suggestions involves a match between
      a Context and (optionally) a REQUESTED trial; if that match is not fully
      specified, a suggestion will be geneated in the merged subspace.
    suggestionCount: Required. The number of suggestions requested. It must be
      positive.
  """

  clientId = _messages.StringField(1)
  contexts = _messages.MessageField('GoogleCloudAiplatformV1TrialContext', 2, repeated=True)
  suggestionCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SuggestTrialsResponse(_messages.Message):
  r"""Response message for VizierService.SuggestTrials.

  Enums:
    StudyStateValueValuesEnum: The state of the Study.

  Fields:
    endTime: The time at which operation processing completed.
    startTime: The time at which the operation was started.
    studyState: The state of the Study.
    trials: A list of Trials.
  """

  class StudyStateValueValuesEnum(_messages.Enum):
    r"""The state of the Study.

    Values:
      STATE_UNSPECIFIED: The study state is unspecified.
      ACTIVE: The study is active.
      INACTIVE: The study is stopped due to an internal error.
      COMPLETED: The study is done when the service exhausts the parameter
        search space or max_trial_count is reached.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    INACTIVE = 2
    COMPLETED = 3

  endTime = _messages.StringField(1)
  startTime = _messages.StringField(2)
  studyState = _messages.EnumField('StudyStateValueValuesEnum', 3)
  trials = _messages.MessageField('GoogleCloudAiplatformV1Trial', 4, repeated=True)


class GoogleCloudAiplatformV1SummarizationHelpfulnessInput(_messages.Message):
  r"""Input for summarization helpfulness metric.

  Fields:
    instance: Required. Summarization helpfulness instance.
    metricSpec: Required. Spec for summarization helpfulness score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1SummarizationHelpfulnessInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1SummarizationHelpfulnessSpec', 2)


class GoogleCloudAiplatformV1SummarizationHelpfulnessInstance(_messages.Message):
  r"""Spec for summarization helpfulness instance.

  Fields:
    context: Required. Text to be summarized.
    instruction: Optional. Summarization prompt for LLM.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1SummarizationHelpfulnessResult(_messages.Message):
  r"""Spec for summarization helpfulness result.

  Fields:
    confidence: Output only. Confidence for summarization helpfulness score.
    explanation: Output only. Explanation for summarization helpfulness score.
    score: Output only. Summarization Helpfulness score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SummarizationHelpfulnessSpec(_messages.Message):
  r"""Spec for summarization helpfulness score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      summarization helpfulness.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SummarizationQualityInput(_messages.Message):
  r"""Input for summarization quality metric.

  Fields:
    instance: Required. Summarization quality instance.
    metricSpec: Required. Spec for summarization quality score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1SummarizationQualityInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1SummarizationQualitySpec', 2)


class GoogleCloudAiplatformV1SummarizationQualityInstance(_messages.Message):
  r"""Spec for summarization quality instance.

  Fields:
    context: Required. Text to be summarized.
    instruction: Required. Summarization prompt for LLM.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1SummarizationQualityResult(_messages.Message):
  r"""Spec for summarization quality result.

  Fields:
    confidence: Output only. Confidence for summarization quality score.
    explanation: Output only. Explanation for summarization quality score.
    score: Output only. Summarization Quality score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SummarizationQualitySpec(_messages.Message):
  r"""Spec for summarization quality score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      summarization quality.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SummarizationVerbosityInput(_messages.Message):
  r"""Input for summarization verbosity metric.

  Fields:
    instance: Required. Summarization verbosity instance.
    metricSpec: Required. Spec for summarization verbosity score metric.
  """

  instance = _messages.MessageField('GoogleCloudAiplatformV1SummarizationVerbosityInstance', 1)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1SummarizationVerbositySpec', 2)


class GoogleCloudAiplatformV1SummarizationVerbosityInstance(_messages.Message):
  r"""Spec for summarization verbosity instance.

  Fields:
    context: Required. Text to be summarized.
    instruction: Optional. Summarization prompt for LLM.
    prediction: Required. Output of the evaluated model.
    reference: Optional. Ground truth used to compare against the prediction.
  """

  context = _messages.StringField(1)
  instruction = _messages.StringField(2)
  prediction = _messages.StringField(3)
  reference = _messages.StringField(4)


class GoogleCloudAiplatformV1SummarizationVerbosityResult(_messages.Message):
  r"""Spec for summarization verbosity result.

  Fields:
    confidence: Output only. Confidence for summarization verbosity score.
    explanation: Output only. Explanation for summarization verbosity score.
    score: Output only. Summarization Verbosity score.
  """

  confidence = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  explanation = _messages.StringField(2)
  score = _messages.FloatField(3, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1SummarizationVerbositySpec(_messages.Message):
  r"""Spec for summarization verbosity score metric.

  Fields:
    useReference: Optional. Whether to use instance.reference to compute
      summarization verbosity.
    version: Optional. Which version to use for evaluation.
  """

  useReference = _messages.BooleanField(1)
  version = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1SupervisedHyperParameters(_messages.Message):
  r"""Hyperparameters for SFT.

  Enums:
    AdapterSizeValueValuesEnum: Optional. Adapter size for tuning.

  Fields:
    adapterSize: Optional. Adapter size for tuning.
    epochCount: Optional. Number of complete passes the model makes over the
      entire training dataset during training.
    learningRateMultiplier: Optional. Multiplier for adjusting the default
      learning rate. Mutually exclusive with `learning_rate`. This feature is
      only available for 1P models.
  """

  class AdapterSizeValueValuesEnum(_messages.Enum):
    r"""Optional. Adapter size for tuning.

    Values:
      ADAPTER_SIZE_UNSPECIFIED: Adapter size is unspecified.
      ADAPTER_SIZE_ONE: Adapter size 1.
      ADAPTER_SIZE_TWO: Adapter size 2.
      ADAPTER_SIZE_FOUR: Adapter size 4.
      ADAPTER_SIZE_EIGHT: Adapter size 8.
      ADAPTER_SIZE_SIXTEEN: Adapter size 16.
      ADAPTER_SIZE_THIRTY_TWO: Adapter size 32.
    """
    ADAPTER_SIZE_UNSPECIFIED = 0
    ADAPTER_SIZE_ONE = 1
    ADAPTER_SIZE_TWO = 2
    ADAPTER_SIZE_FOUR = 3
    ADAPTER_SIZE_EIGHT = 4
    ADAPTER_SIZE_SIXTEEN = 5
    ADAPTER_SIZE_THIRTY_TWO = 6

  adapterSize = _messages.EnumField('AdapterSizeValueValuesEnum', 1)
  epochCount = _messages.IntegerField(2)
  learningRateMultiplier = _messages.FloatField(3)


class GoogleCloudAiplatformV1SupervisedTuningDataStats(_messages.Message):
  r"""Tuning data statistics for Supervised Tuning.

  Fields:
    droppedExampleReasons: Output only. For each index in
      `truncated_example_indices`, the user-facing reason why the example was
      dropped.
    totalBillableCharacterCount: Output only. Number of billable characters in
      the tuning dataset.
    totalBillableTokenCount: Output only. Number of billable tokens in the
      tuning dataset.
    totalTruncatedExampleCount: Output only. The number of examples in the
      dataset that have been dropped. An example can be dropped for reasons
      including: too many tokens, contains an invalid image, contains too many
      images, etc.
    totalTuningCharacterCount: Output only. Number of tuning characters in the
      tuning dataset.
    truncatedExampleIndices: Output only. A partial sample of the indices
      (starting from 1) of the dropped examples.
    tuningDatasetExampleCount: Output only. Number of examples in the tuning
      dataset.
    tuningStepCount: Output only. Number of tuning steps for this Tuning Job.
    userDatasetExamples: Output only. Sample user messages in the training
      dataset uri.
    userInputTokenDistribution: Output only. Dataset distributions for the
      user input tokens.
    userMessagePerExampleDistribution: Output only. Dataset distributions for
      the messages per example.
    userOutputTokenDistribution: Output only. Dataset distributions for the
      user output tokens.
  """

  droppedExampleReasons = _messages.StringField(1, repeated=True)
  totalBillableCharacterCount = _messages.IntegerField(2)
  totalBillableTokenCount = _messages.IntegerField(3)
  totalTruncatedExampleCount = _messages.IntegerField(4)
  totalTuningCharacterCount = _messages.IntegerField(5)
  truncatedExampleIndices = _messages.IntegerField(6, repeated=True)
  tuningDatasetExampleCount = _messages.IntegerField(7)
  tuningStepCount = _messages.IntegerField(8)
  userDatasetExamples = _messages.MessageField('GoogleCloudAiplatformV1Content', 9, repeated=True)
  userInputTokenDistribution = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution', 10)
  userMessagePerExampleDistribution = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution', 11)
  userOutputTokenDistribution = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution', 12)


class GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution(_messages.Message):
  r"""Dataset distribution for Supervised Tuning.

  Fields:
    billableSum: Output only. Sum of a given population of values that are
      billable.
    buckets: Output only. Defines the histogram bucket.
    max: Output only. The maximum of the population values.
    mean: Output only. The arithmetic mean of the values in the population.
    median: Output only. The median of the values in the population.
    min: Output only. The minimum of the population values.
    p5: Output only. The 5th percentile of the values in the population.
    p95: Output only. The 95th percentile of the values in the population.
    sum: Output only. Sum of a given population of values.
  """

  billableSum = _messages.IntegerField(1)
  buckets = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket', 2, repeated=True)
  max = _messages.FloatField(3)
  mean = _messages.FloatField(4)
  median = _messages.FloatField(5)
  min = _messages.FloatField(6)
  p5 = _messages.FloatField(7)
  p95 = _messages.FloatField(8)
  sum = _messages.IntegerField(9)


class GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket(_messages.Message):
  r"""Dataset bucket used to create a histogram for the distribution given a
  population of values.

  Fields:
    count: Output only. Number of values in the bucket.
    left: Output only. Left bound of the bucket.
    right: Output only. Right bound of the bucket.
  """

  count = _messages.FloatField(1)
  left = _messages.FloatField(2)
  right = _messages.FloatField(3)


class GoogleCloudAiplatformV1SupervisedTuningSpec(_messages.Message):
  r"""Tuning Spec for Supervised Tuning for first party models.

  Fields:
    evaluationConfig: Optional. Evaluation Config for Tuning Job.
    exportLastCheckpointOnly: Optional. If set to true, disable intermediate
      checkpoints for SFT and only the last checkpoint will be exported.
      Otherwise, enable intermediate checkpoints for SFT. Default is false.
    hyperParameters: Optional. Hyperparameters for SFT.
    trainingDatasetUri: Required. Training dataset used for tuning. The
      dataset can be specified as either a Cloud Storage path to a JSONL file
      or as the resource name of a Vertex Multimodal Dataset.
    validationDatasetUri: Optional. Validation dataset used for tuning. The
      dataset can be specified as either a Cloud Storage path to a JSONL file
      or as the resource name of a Vertex Multimodal Dataset.
  """

  evaluationConfig = _messages.MessageField('GoogleCloudAiplatformV1EvaluationConfig', 1)
  exportLastCheckpointOnly = _messages.BooleanField(2)
  hyperParameters = _messages.MessageField('GoogleCloudAiplatformV1SupervisedHyperParameters', 3)
  trainingDatasetUri = _messages.StringField(4)
  validationDatasetUri = _messages.StringField(5)


class GoogleCloudAiplatformV1SyncFeatureViewRequest(_messages.Message):
  r"""Request message for FeatureOnlineStoreAdminService.SyncFeatureView."""


class GoogleCloudAiplatformV1SyncFeatureViewResponse(_messages.Message):
  r"""Response message for FeatureOnlineStoreAdminService.SyncFeatureView.

  Fields:
    featureViewSync: Format: `projects/{project}/locations/{location}/featureO
      nlineStores/{feature_online_store}/featureViews/{feature_view}/featureVi
      ewSyncs/{feature_view_sync}`
  """

  featureViewSync = _messages.StringField(1)


class GoogleCloudAiplatformV1SyntheticExample(_messages.Message):
  r"""A single instance of generated synthetic data. Each example is made up
  of one or more named fields, as defined in `OutputFieldSpec`. These examples
  are used as few-shot examples to show the model what you want (in
  `GenerateSyntheticDataRequest.examples`) and to return generated examples in
  the response (in `GenerateSyntheticDataResponse.synthetic_examples`).

  Fields:
    fields: Required. A list of fields that constitute an example.
  """

  fields = _messages.MessageField('GoogleCloudAiplatformV1SyntheticField', 1, repeated=True)


class GoogleCloudAiplatformV1SyntheticField(_messages.Message):
  r"""Represents a single named field within a synthetic example, consisting
  of a name and the actual content.

  Fields:
    content: Required. The actual content or value for this field. This can be
      text, images, or other types of data.
    fieldName: Optional. The name of the specific field, such as
      "product_name" or "review_text".
  """

  content = _messages.MessageField('GoogleCloudAiplatformV1Content', 1)
  fieldName = _messages.StringField(2)


class GoogleCloudAiplatformV1TFRecordDestination(_messages.Message):
  r"""The storage details for TFRecord output content.

  Fields:
    gcsDestination: Required. Google Cloud Storage location.
  """

  gcsDestination = _messages.MessageField('GoogleCloudAiplatformV1GcsDestination', 1)


class GoogleCloudAiplatformV1TaskDescriptionStrategy(_messages.Message):
  r"""Defines a generation strategy based on a general task description.

  Fields:
    taskDescription: Required. A general description of the type of synthetic
      data you want to generate. For example, "Generate customer reviews for a
      new smartphone."
  """

  taskDescription = _messages.StringField(1)


class GoogleCloudAiplatformV1Tensor(_messages.Message):
  r"""A tensor value type.

  Enums:
    DtypeValueValuesEnum: The data type of tensor.

  Messages:
    StructValValue: A map of string to tensor.

  Fields:
    boolVal: Type specific representations that make it easy to create tensor
      protos in all languages. Only the representation corresponding to
      "dtype" can be set. The values hold the flattened representation of the
      tensor in row major order. BOOL
    bytesVal: STRING
    doubleVal: DOUBLE
    dtype: The data type of tensor.
    floatVal: FLOAT
    int64Val: INT64
    intVal: INT_8 INT_16 INT_32
    listVal: A list of tensor values.
    shape: Shape of the tensor.
    stringVal: STRING
    structVal: A map of string to tensor.
    tensorVal: Serialized raw tensor content.
    uint64Val: UINT64
    uintVal: UINT8 UINT16 UINT32
  """

  class DtypeValueValuesEnum(_messages.Enum):
    r"""The data type of tensor.

    Values:
      DATA_TYPE_UNSPECIFIED: Not a legal value for DataType. Used to indicate
        a DataType field has not been set.
      BOOL: Data types that all computation devices are expected to be capable
        to support.
      STRING: <no description>
      FLOAT: <no description>
      DOUBLE: <no description>
      INT8: <no description>
      INT16: <no description>
      INT32: <no description>
      INT64: <no description>
      UINT8: <no description>
      UINT16: <no description>
      UINT32: <no description>
      UINT64: <no description>
    """
    DATA_TYPE_UNSPECIFIED = 0
    BOOL = 1
    STRING = 2
    FLOAT = 3
    DOUBLE = 4
    INT8 = 5
    INT16 = 6
    INT32 = 7
    INT64 = 8
    UINT8 = 9
    UINT16 = 10
    UINT32 = 11
    UINT64 = 12

  @encoding.MapUnrecognizedFields('additionalProperties')
  class StructValValue(_messages.Message):
    r"""A map of string to tensor.

    Messages:
      AdditionalProperty: An additional property for a StructValValue object.

    Fields:
      additionalProperties: Additional properties of type StructValValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a StructValValue object.

      Fields:
        key: Name of the additional property.
        value: A GoogleCloudAiplatformV1Tensor attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  boolVal = _messages.BooleanField(1, repeated=True)
  bytesVal = _messages.BytesField(2, repeated=True)
  doubleVal = _messages.FloatField(3, repeated=True)
  dtype = _messages.EnumField('DtypeValueValuesEnum', 4)
  floatVal = _messages.FloatField(5, repeated=True, variant=_messages.Variant.FLOAT)
  int64Val = _messages.IntegerField(6, repeated=True)
  intVal = _messages.IntegerField(7, repeated=True, variant=_messages.Variant.INT32)
  listVal = _messages.MessageField('GoogleCloudAiplatformV1Tensor', 8, repeated=True)
  shape = _messages.IntegerField(9, repeated=True)
  stringVal = _messages.StringField(10, repeated=True)
  structVal = _messages.MessageField('StructValValue', 11)
  tensorVal = _messages.BytesField(12)
  uint64Val = _messages.IntegerField(13, repeated=True, variant=_messages.Variant.UINT64)
  uintVal = _messages.IntegerField(14, repeated=True, variant=_messages.Variant.UINT32)


class GoogleCloudAiplatformV1Tensorboard(_messages.Message):
  r"""Tensorboard is a physical database that stores users' training metrics.
  A default Tensorboard is provided in each region of a Google Cloud project.
  If needed users can also create extra Tensorboards in their projects.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      Tensorboards. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for
      more information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.

  Fields:
    blobStoragePathPrefix: Output only. Consumer project Cloud Storage path
      prefix used to store blob data, which can either be a bucket or
      directory. Does not end with a '/'.
    createTime: Output only. Timestamp when this Tensorboard was created.
    description: Description of this Tensorboard.
    displayName: Required. User provided name of this Tensorboard.
    encryptionSpec: Customer-managed encryption key spec for a Tensorboard. If
      set, this Tensorboard and all sub-resources of this Tensorboard will be
      secured by this key.
    etag: Used to perform a consistent read-modify-write updates. If not set,
      a blind "overwrite" update happens.
    isDefault: Used to indicate if the TensorBoard instance is the default
      one. Each project & region can have at most one default TensorBoard
      instance. Creation of a default TensorBoard instance and updating an
      existing TensorBoard instance to be default will mark all other
      TensorBoard instances (if any) as non default.
    labels: The labels with user-defined metadata to organize your
      Tensorboards. Label keys and values can be no longer than 64 characters
      (Unicode codepoints), can only contain lowercase letters, numeric
      characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one
      Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for
      more information and examples of labels. System reserved label keys are
      prefixed with "aiplatform.googleapis.com/" and are immutable.
    name: Output only. Name of the Tensorboard. Format:
      `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
    runCount: Output only. The number of Runs stored in this Tensorboard.
    satisfiesPzi: Output only. Reserved for future use.
    satisfiesPzs: Output only. Reserved for future use.
    updateTime: Output only. Timestamp when this Tensorboard was last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your Tensorboards.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. No more than
    64 user labels can be associated with one Tensorboard (System labels are
    excluded). See https://goo.gl/xmQnxf for more information and examples of
    labels. System reserved label keys are prefixed with
    "aiplatform.googleapis.com/" and are immutable.

    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)

  blobStoragePathPrefix = _messages.StringField(1)
  createTime = _messages.StringField(2)
  description = _messages.StringField(3)
  displayName = _messages.StringField(4)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 5)
  etag = _messages.StringField(6)
  isDefault = _messages.BooleanField(7)
  labels = _messages.MessageField('LabelsValue', 8)
  name = _messages.StringField(9)
  runCount = _messages.IntegerField(10, variant=_messages.Variant.INT32)
  satisfiesPzi = _messages.BooleanField(11)
  satisfiesPzs = _messages.BooleanField(12)
  updateTime = _messages.StringField(13)


class GoogleCloudAiplatformV1TensorboardBlob(_messages.Message):
  r"""One blob (e.g, image, graph) viewable on a blob metric plot.

  Fields:
    data: Optional. The bytes of the blob is not present unless it's returned
      by the ReadTensorboardBlobData endpoint.
    id: Output only. A URI safe key uniquely identifying a blob. Can be used
      to locate the blob stored in the Cloud Storage bucket of the consumer
      project.
  """

  data = _messages.BytesField(1)
  id = _messages.StringField(2)


class GoogleCloudAiplatformV1TensorboardBlobSequence(_messages.Message):
  r"""One point viewable on a blob metric plot, but mostly just a wrapper
  message to work around repeated fields can't be used directly within `oneof`
  fields.

  Fields:
    values: List of blobs contained within the sequence.
  """

  values = _messages.MessageField('GoogleCloudAiplatformV1TensorboardBlob', 1, repeated=True)


class GoogleCloudAiplatformV1TensorboardExperiment(_messages.Message):
  r"""A TensorboardExperiment is a group of TensorboardRuns, that are
  typically the results of a training job run, in a Tensorboard.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      TensorboardExperiment. Label keys and values cannot be longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one Dataset
      (System labels are excluded). See https://goo.gl/xmQnxf for more
      information and examples of labels. System reserved label keys are
      prefixed with `aiplatform.googleapis.com/` and are immutable. The
      following system labels exist for each Dataset: *
      `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its
      value is the metadata_schema's title.

  Fields:
    createTime: Output only. Timestamp when this TensorboardExperiment was
      created.
    description: Description of this TensorboardExperiment.
    displayName: User provided name of this TensorboardExperiment.
    etag: Used to perform consistent read-modify-write updates. If not set, a
      blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your
      TensorboardExperiment. Label keys and values cannot be longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. No more than 64 user labels can be associated with one Dataset
      (System labels are excluded). See https://goo.gl/xmQnxf for more
      information and examples of labels. System reserved label keys are
      prefixed with `aiplatform.googleapis.com/` and are immutable. The
      following system labels exist for each Dataset: *
      `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its
      value is the metadata_schema's title.
    name: Output only. Name of the TensorboardExperiment. Format: `projects/{p
      roject}/locations/{location}/tensorboards/{tensorboard}/experiments/{exp
      eriment}`
    source: Immutable. Source of the TensorboardExperiment. Example: a custom
      training job.
    updateTime: Output only. Timestamp when this TensorboardExperiment was
      last updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your
    TensorboardExperiment. Label keys and values cannot be longer than 64
    characters (Unicode codepoints), can only contain lowercase letters,
    numeric characters, underscores and dashes. International characters are
    allowed. No more than 64 user labels can be associated with one Dataset
    (System labels are excluded). See https://goo.gl/xmQnxf for more
    information and examples of labels. System reserved label keys are
    prefixed with `aiplatform.googleapis.com/` and are immutable. The
    following system labels exist for each Dataset: *
    `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its
    value is the metadata_schema's title.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  name = _messages.StringField(6)
  source = _messages.StringField(7)
  updateTime = _messages.StringField(8)


class GoogleCloudAiplatformV1TensorboardRun(_messages.Message):
  r"""TensorboardRun maps to a specific execution of a training job with a
  given set of hyperparameter values, model definition, dataset, etc

  Messages:
    LabelsValue: The labels with user-defined metadata to organize your
      TensorboardRuns. This field will be used to filter and visualize Runs in
      the Tensorboard UI. For example, a Vertex AI training job can set a
      label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs
      created within that job. An end user can set a label experiment_id=xxxxx
      for all the runs produced in a Jupyter notebook. These runs can be
      grouped by a label value and visualized together in the Tensorboard UI.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one TensorboardRun (System
      labels are excluded). See https://goo.gl/xmQnxf for more information and
      examples of labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.

  Fields:
    createTime: Output only. Timestamp when this TensorboardRun was created.
    description: Description of this TensorboardRun.
    displayName: Required. User provided name of this TensorboardRun. This
      value must be unique among all TensorboardRuns belonging to the same
      parent TensorboardExperiment.
    etag: Used to perform a consistent read-modify-write updates. If not set,
      a blind "overwrite" update happens.
    labels: The labels with user-defined metadata to organize your
      TensorboardRuns. This field will be used to filter and visualize Runs in
      the Tensorboard UI. For example, a Vertex AI training job can set a
      label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs
      created within that job. An end user can set a label experiment_id=xxxxx
      for all the runs produced in a Jupyter notebook. These runs can be
      grouped by a label value and visualized together in the Tensorboard UI.
      Label keys and values can be no longer than 64 characters (Unicode
      codepoints), can only contain lowercase letters, numeric characters,
      underscores and dashes. International characters are allowed. No more
      than 64 user labels can be associated with one TensorboardRun (System
      labels are excluded). See https://goo.gl/xmQnxf for more information and
      examples of labels. System reserved label keys are prefixed with
      "aiplatform.googleapis.com/" and are immutable.
    name: Output only. Name of the TensorboardRun. Format: `projects/{project}
      /locations/{location}/tensorboards/{tensorboard}/experiments/{experiment
      }/runs/{run}`
    updateTime: Output only. Timestamp when this TensorboardRun was last
      updated.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize your
    TensorboardRuns. This field will be used to filter and visualize Runs in
    the Tensorboard UI. For example, a Vertex AI training job can set a label
    aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created
    within that job. An end user can set a label experiment_id=xxxxx for all
    the runs produced in a Jupyter notebook. These runs can be grouped by a
    label value and visualized together in the Tensorboard UI. Label keys and
    values can be no longer than 64 characters (Unicode codepoints), can only
    contain lowercase letters, numeric characters, underscores and dashes.
    International characters are allowed. No more than 64 user labels can be
    associated with one TensorboardRun (System labels are excluded). See
    https://goo.gl/xmQnxf for more information and examples of labels. System
    reserved label keys are prefixed with "aiplatform.googleapis.com/" and are
    immutable.

    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)

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  labels = _messages.MessageField('LabelsValue', 5)
  name = _messages.StringField(6)
  updateTime = _messages.StringField(7)


class GoogleCloudAiplatformV1TensorboardTensor(_messages.Message):
  r"""One point viewable on a tensor metric plot.

  Fields:
    value: Required. Serialized form of https://github.com/tensorflow/tensorfl
      ow/blob/master/tensorflow/core/framework/tensor.proto
    versionNumber: Optional. Version number of TensorProto used to serialize
      value.
  """

  value = _messages.BytesField(1)
  versionNumber = _messages.IntegerField(2, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1TensorboardTimeSeries(_messages.Message):
  r"""TensorboardTimeSeries maps to times series produced in training runs

  Enums:
    ValueTypeValueValuesEnum: Required. Immutable. Type of
      TensorboardTimeSeries value.

  Fields:
    createTime: Output only. Timestamp when this TensorboardTimeSeries was
      created.
    description: Description of this TensorboardTimeSeries.
    displayName: Required. User provided name of this TensorboardTimeSeries.
      This value should be unique among all TensorboardTimeSeries resources
      belonging to the same TensorboardRun resource (parent resource).
    etag: Used to perform a consistent read-modify-write updates. If not set,
      a blind "overwrite" update happens.
    metadata: Output only. Scalar, Tensor, or Blob metadata for this
      TensorboardTimeSeries.
    name: Output only. Name of the TensorboardTimeSeries.
    pluginData: Data of the current plugin, with the size limited to 65KB.
    pluginName: Immutable. Name of the plugin this time series pertain to.
      Such as Scalar, Tensor, Blob
    updateTime: Output only. Timestamp when this TensorboardTimeSeries was
      last updated.
    valueType: Required. Immutable. Type of TensorboardTimeSeries value.
  """

  class ValueTypeValueValuesEnum(_messages.Enum):
    r"""Required. Immutable. Type of TensorboardTimeSeries value.

    Values:
      VALUE_TYPE_UNSPECIFIED: The value type is unspecified.
      SCALAR: Used for TensorboardTimeSeries that is a list of scalars. E.g.
        accuracy of a model over epochs/time.
      TENSOR: Used for TensorboardTimeSeries that is a list of tensors. E.g.
        histograms of weights of layer in a model over epoch/time.
      BLOB_SEQUENCE: Used for TensorboardTimeSeries that is a list of blob
        sequences. E.g. set of sample images with labels over epochs/time.
    """
    VALUE_TYPE_UNSPECIFIED = 0
    SCALAR = 1
    TENSOR = 2
    BLOB_SEQUENCE = 3

  createTime = _messages.StringField(1)
  description = _messages.StringField(2)
  displayName = _messages.StringField(3)
  etag = _messages.StringField(4)
  metadata = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata', 5)
  name = _messages.StringField(6)
  pluginData = _messages.BytesField(7)
  pluginName = _messages.StringField(8)
  updateTime = _messages.StringField(9)
  valueType = _messages.EnumField('ValueTypeValueValuesEnum', 10)


class GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata(_messages.Message):
  r"""Describes metadata for a TensorboardTimeSeries.

  Fields:
    maxBlobSequenceLength: Output only. The largest blob sequence length
      (number of blobs) of all data points in this time series, if its
      ValueType is BLOB_SEQUENCE.
    maxStep: Output only. Max step index of all data points within a
      TensorboardTimeSeries.
    maxWallTime: Output only. Max wall clock timestamp of all data points
      within a TensorboardTimeSeries.
  """

  maxBlobSequenceLength = _messages.IntegerField(1)
  maxStep = _messages.IntegerField(2)
  maxWallTime = _messages.StringField(3)


class GoogleCloudAiplatformV1ThresholdConfig(_messages.Message):
  r"""The config for feature monitoring threshold.

  Fields:
    value: Specify a threshold value that can trigger the alert. If this
      threshold config is for feature distribution distance: 1. For
      categorical feature, the distribution distance is calculated by
      L-inifinity norm. 2. For numerical feature, the distribution distance is
      calculated by Jensen\u2013Shannon divergence. Each feature must have a
      non-zero threshold if they need to be monitored. Otherwise no alert will
      be triggered for that feature.
  """

  value = _messages.FloatField(1)


class GoogleCloudAiplatformV1TimeSeriesData(_messages.Message):
  r"""All the data stored in a TensorboardTimeSeries.

  Enums:
    ValueTypeValueValuesEnum: Required. Immutable. The value type of this time
      series. All the values in this time series data must match this value
      type.

  Fields:
    tensorboardTimeSeriesId: Required. The ID of the TensorboardTimeSeries,
      which will become the final component of the TensorboardTimeSeries'
      resource name
    valueType: Required. Immutable. The value type of this time series. All
      the values in this time series data must match this value type.
    values: Required. Data points in this time series.
  """

  class ValueTypeValueValuesEnum(_messages.Enum):
    r"""Required. Immutable. The value type of this time series. All the
    values in this time series data must match this value type.

    Values:
      VALUE_TYPE_UNSPECIFIED: The value type is unspecified.
      SCALAR: Used for TensorboardTimeSeries that is a list of scalars. E.g.
        accuracy of a model over epochs/time.
      TENSOR: Used for TensorboardTimeSeries that is a list of tensors. E.g.
        histograms of weights of layer in a model over epoch/time.
      BLOB_SEQUENCE: Used for TensorboardTimeSeries that is a list of blob
        sequences. E.g. set of sample images with labels over epochs/time.
    """
    VALUE_TYPE_UNSPECIFIED = 0
    SCALAR = 1
    TENSOR = 2
    BLOB_SEQUENCE = 3

  tensorboardTimeSeriesId = _messages.StringField(1)
  valueType = _messages.EnumField('ValueTypeValueValuesEnum', 2)
  values = _messages.MessageField('GoogleCloudAiplatformV1TimeSeriesDataPoint', 3, repeated=True)


class GoogleCloudAiplatformV1TimeSeriesDataPoint(_messages.Message):
  r"""A TensorboardTimeSeries data point.

  Fields:
    blobs: A blob sequence value.
    scalar: A scalar value.
    step: Step index of this data point within the run.
    tensor: A tensor value.
    wallTime: Wall clock timestamp when this data point is generated by the
      end user.
  """

  blobs = _messages.MessageField('GoogleCloudAiplatformV1TensorboardBlobSequence', 1)
  scalar = _messages.MessageField('GoogleCloudAiplatformV1Scalar', 2)
  step = _messages.IntegerField(3)
  tensor = _messages.MessageField('GoogleCloudAiplatformV1TensorboardTensor', 4)
  wallTime = _messages.StringField(5)


class GoogleCloudAiplatformV1TimestampSplit(_messages.Message):
  r"""Assigns input data to training, validation, and test sets based on a
  provided timestamps. The youngest data pieces are assigned to training set,
  next to validation set, and the oldest to the test set. Supported only for
  tabular Datasets.

  Fields:
    key: Required. The key is a name of one of the Dataset's data columns. The
      values of the key (the values in the column) must be in RFC 3339 `date-
      time` format, where `time-offset` = `"Z"` (e.g.
      1985-04-12T23:20:50.52Z). If for a piece of data the key is not present
      or has an invalid value, that piece is ignored by the pipeline.
    testFraction: The fraction of the input data that is to be used to
      evaluate the Model.
    trainingFraction: The fraction of the input data that is to be used to
      train the Model.
    validationFraction: The fraction of the input data that is to be used to
      validate the Model.
  """

  key = _messages.StringField(1)
  testFraction = _messages.FloatField(2)
  trainingFraction = _messages.FloatField(3)
  validationFraction = _messages.FloatField(4)


class GoogleCloudAiplatformV1TokensInfo(_messages.Message):
  r"""Tokens info with a list of tokens and the corresponding list of token
  ids.

  Fields:
    role: Optional. Optional fields for the role from the corresponding
      Content.
    tokenIds: A list of token ids from the input.
    tokens: A list of tokens from the input.
  """

  role = _messages.StringField(1)
  tokenIds = _messages.IntegerField(2, repeated=True)
  tokens = _messages.BytesField(3, repeated=True)


class GoogleCloudAiplatformV1Tool(_messages.Message):
  r"""Tool details that the model may use to generate response. A `Tool` is a
  piece of code that enables the system to interact with external systems to
  perform an action, or set of actions, outside of knowledge and scope of the
  model. A Tool object should contain exactly one type of Tool (e.g
  FunctionDeclaration, Retrieval or GoogleSearchRetrieval).

  Fields:
    codeExecution: Optional. CodeExecution tool type. Enables the model to
      execute code as part of generation.
    computerUse: Optional. Tool to support the model interacting directly with
      the computer. If enabled, it automatically populates computer-use
      specific Function Declarations.
    enterpriseWebSearch: Optional. Tool to support searching public web data,
      powered by Vertex AI Search and Sec4 compliance.
    functionDeclarations: Optional. Function tool type. One or more function
      declarations to be passed to the model along with the current user
      query. Model may decide to call a subset of these functions by
      populating FunctionCall in the response. User should provide a
      FunctionResponse for each function call in the next turn. Based on the
      function responses, Model will generate the final response back to the
      user. Maximum 512 function declarations can be provided.
    googleMaps: Optional. GoogleMaps tool type. Tool to support Google Maps in
      Model.
    googleSearch: Optional. GoogleSearch tool type. Tool to support Google
      Search in Model. Powered by Google.
    googleSearchRetrieval: Optional. Specialized retrieval tool that is
      powered by Google Search.
    parallelAiSearch: Optional. If specified, Vertex AI will use Parallel.ai
      to search for information to answer user queries. The search results
      will be grounded on Parallel.ai and presented to the model for response
      generation
    retrieval: Optional. Retrieval tool type. System will always execute the
      provided retrieval tool(s) to get external knowledge to answer the
      prompt. Retrieval results are presented to the model for generation.
    urlContext: Optional. Tool to support URL context retrieval.
  """

  codeExecution = _messages.MessageField('GoogleCloudAiplatformV1ToolCodeExecution', 1)
  computerUse = _messages.MessageField('GoogleCloudAiplatformV1ToolComputerUse', 2)
  enterpriseWebSearch = _messages.MessageField('GoogleCloudAiplatformV1EnterpriseWebSearch', 3)
  functionDeclarations = _messages.MessageField('GoogleCloudAiplatformV1FunctionDeclaration', 4, repeated=True)
  googleMaps = _messages.MessageField('GoogleCloudAiplatformV1GoogleMaps', 5)
  googleSearch = _messages.MessageField('GoogleCloudAiplatformV1ToolGoogleSearch', 6)
  googleSearchRetrieval = _messages.MessageField('GoogleCloudAiplatformV1GoogleSearchRetrieval', 7)
  parallelAiSearch = _messages.MessageField('GoogleCloudAiplatformV1ToolParallelAiSearch', 8)
  retrieval = _messages.MessageField('GoogleCloudAiplatformV1Retrieval', 9)
  urlContext = _messages.MessageField('GoogleCloudAiplatformV1UrlContext', 10)


class GoogleCloudAiplatformV1ToolCall(_messages.Message):
  r"""Spec for tool call.

  Fields:
    toolInput: Optional. Spec for tool input
    toolName: Required. Spec for tool name
  """

  toolInput = _messages.StringField(1)
  toolName = _messages.StringField(2)


class GoogleCloudAiplatformV1ToolCallValidInput(_messages.Message):
  r"""Input for tool call valid metric.

  Fields:
    instances: Required. Repeated tool call valid instances.
    metricSpec: Required. Spec for tool call valid metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1ToolCallValidInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1ToolCallValidSpec', 2)


class GoogleCloudAiplatformV1ToolCallValidInstance(_messages.Message):
  r"""Spec for tool call valid instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1ToolCallValidMetricValue(_messages.Message):
  r"""Tool call valid metric value for an instance.

  Fields:
    score: Output only. Tool call valid score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ToolCallValidResults(_messages.Message):
  r"""Results for tool call valid metric.

  Fields:
    toolCallValidMetricValues: Output only. Tool call valid metric values.
  """

  toolCallValidMetricValues = _messages.MessageField('GoogleCloudAiplatformV1ToolCallValidMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1ToolCallValidSpec(_messages.Message):
  r"""Spec for tool call valid metric."""


class GoogleCloudAiplatformV1ToolCodeExecution(_messages.Message):
  r"""Tool that executes code generated by the model, and automatically
  returns the result to the model. See also ExecutableCode and
  CodeExecutionResult, which are input and output to this tool.
  """



class GoogleCloudAiplatformV1ToolComputerUse(_messages.Message):
  r"""Tool to support computer use.

  Enums:
    EnvironmentValueValuesEnum: Required. The environment being operated.

  Fields:
    environment: Required. The environment being operated.
    excludedPredefinedFunctions: Optional. By default, [predefined
      functions](https://cloud.google.com/vertex-ai/generative-
      ai/docs/computer-use#supported-actions) are included in the final model
      call. Some of them can be explicitly excluded from being automatically
      included. This can serve two purposes: 1. Using a more restricted /
      different action space. 2. Improving the definitions / instructions of
      predefined functions.
  """

  class EnvironmentValueValuesEnum(_messages.Enum):
    r"""Required. The environment being operated.

    Values:
      ENVIRONMENT_UNSPECIFIED: Defaults to browser.
      ENVIRONMENT_BROWSER: Operates in a web browser.
    """
    ENVIRONMENT_UNSPECIFIED = 0
    ENVIRONMENT_BROWSER = 1

  environment = _messages.EnumField('EnvironmentValueValuesEnum', 1)
  excludedPredefinedFunctions = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1ToolConfig(_messages.Message):
  r"""Tool config. This config is shared for all tools provided in the
  request.

  Fields:
    functionCallingConfig: Optional. Function calling config.
    retrievalConfig: Optional. Retrieval config.
  """

  functionCallingConfig = _messages.MessageField('GoogleCloudAiplatformV1FunctionCallingConfig', 1)
  retrievalConfig = _messages.MessageField('GoogleCloudAiplatformV1RetrievalConfig', 2)


class GoogleCloudAiplatformV1ToolGoogleSearch(_messages.Message):
  r"""GoogleSearch tool type. Tool to support Google Search in Model. Powered
  by Google.

  Enums:
    BlockingConfidenceValueValuesEnum: Optional. Sites with confidence level
      chosen & above this value will be blocked from the search results.

  Fields:
    blockingConfidence: Optional. Sites with confidence level chosen & above
      this value will be blocked from the search results.
    excludeDomains: Optional. List of domains to be excluded from the search
      results. The default limit is 2000 domains. Example: ["amazon.com",
      "facebook.com"].
  """

  class BlockingConfidenceValueValuesEnum(_messages.Enum):
    r"""Optional. Sites with confidence level chosen & above this value will
    be blocked from the search results.

    Values:
      PHISH_BLOCK_THRESHOLD_UNSPECIFIED: Defaults to unspecified.
      BLOCK_LOW_AND_ABOVE: Blocks Low and above confidence URL that is risky.
      BLOCK_MEDIUM_AND_ABOVE: Blocks Medium and above confidence URL that is
        risky.
      BLOCK_HIGH_AND_ABOVE: Blocks High and above confidence URL that is
        risky.
      BLOCK_HIGHER_AND_ABOVE: Blocks Higher and above confidence URL that is
        risky.
      BLOCK_VERY_HIGH_AND_ABOVE: Blocks Very high and above confidence URL
        that is risky.
      BLOCK_ONLY_EXTREMELY_HIGH: Blocks Extremely high confidence URL that is
        risky.
    """
    PHISH_BLOCK_THRESHOLD_UNSPECIFIED = 0
    BLOCK_LOW_AND_ABOVE = 1
    BLOCK_MEDIUM_AND_ABOVE = 2
    BLOCK_HIGH_AND_ABOVE = 3
    BLOCK_HIGHER_AND_ABOVE = 4
    BLOCK_VERY_HIGH_AND_ABOVE = 5
    BLOCK_ONLY_EXTREMELY_HIGH = 6

  blockingConfidence = _messages.EnumField('BlockingConfidenceValueValuesEnum', 1)
  excludeDomains = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1ToolNameMatchInput(_messages.Message):
  r"""Input for tool name match metric.

  Fields:
    instances: Required. Repeated tool name match instances.
    metricSpec: Required. Spec for tool name match metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1ToolNameMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1ToolNameMatchSpec', 2)


class GoogleCloudAiplatformV1ToolNameMatchInstance(_messages.Message):
  r"""Spec for tool name match instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1ToolNameMatchMetricValue(_messages.Message):
  r"""Tool name match metric value for an instance.

  Fields:
    score: Output only. Tool name match score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ToolNameMatchResults(_messages.Message):
  r"""Results for tool name match metric.

  Fields:
    toolNameMatchMetricValues: Output only. Tool name match metric values.
  """

  toolNameMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1ToolNameMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1ToolNameMatchSpec(_messages.Message):
  r"""Spec for tool name match metric."""


class GoogleCloudAiplatformV1ToolParallelAiSearch(_messages.Message):
  r"""ParallelAiSearch tool type. A tool that uses the Parallel.ai search
  engine for grounding.

  Messages:
    CustomConfigsValue: Optional. Custom configs for ParallelAiSearch. This
      field can be used to pass any parameter from the Parallel.ai Search API.
      See the Parallel.ai documentation for the full list of available
      parameters and their usage: https://docs.parallel.ai/api-
      reference/search-beta/search Currently only `source_policy`, `excerpts`,
      `max_results`, `mode`, `fetch_policy` can be set via this field. For
      example: { "source_policy": { "include_domains": ["google.com",
      "wikipedia.org"], "exclude_domains": ["example.com"] }, "fetch_policy":
      { "max_age_seconds": 3600 } }

  Fields:
    apiKey: Optional. The API key for ParallelAiSearch. If an API key is not
      provided, the system will attempt to verify access by checking for an
      active Parallel.ai subscription through the Google Cloud Marketplace.
      See https://docs.parallel.ai/search/search-quickstart for more details.
    customConfigs: Optional. Custom configs for ParallelAiSearch. This field
      can be used to pass any parameter from the Parallel.ai Search API. See
      the Parallel.ai documentation for the full list of available parameters
      and their usage: https://docs.parallel.ai/api-reference/search-
      beta/search Currently only `source_policy`, `excerpts`, `max_results`,
      `mode`, `fetch_policy` can be set via this field. For example: {
      "source_policy": { "include_domains": ["google.com", "wikipedia.org"],
      "exclude_domains": ["example.com"] }, "fetch_policy": {
      "max_age_seconds": 3600 } }
    enableDataRetention: Optional. Instructs Vertex Grounding to use
      Parallel's Zero Data Retention Marketplace product. If this value is
      "false" or omitted, the Parallel Web Search for Grounding standard
      subscription will be used. If this value is "true", the Parallel Web
      Search for Grounding - ZDR subscription will be used.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class CustomConfigsValue(_messages.Message):
    r"""Optional. Custom configs for ParallelAiSearch. This field can be used
    to pass any parameter from the Parallel.ai Search API. See the Parallel.ai
    documentation for the full list of available parameters and their usage:
    https://docs.parallel.ai/api-reference/search-beta/search Currently only
    `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be
    set via this field. For example: { "source_policy": { "include_domains":
    ["google.com", "wikipedia.org"], "exclude_domains": ["example.com"] },
    "fetch_policy": { "max_age_seconds": 3600 } }

    Messages:
      AdditionalProperty: An additional property for a CustomConfigsValue
        object.

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a CustomConfigsValue 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)

  apiKey = _messages.StringField(1)
  customConfigs = _messages.MessageField('CustomConfigsValue', 2)
  enableDataRetention = _messages.BooleanField(3)


class GoogleCloudAiplatformV1ToolParameterKVMatchInput(_messages.Message):
  r"""Input for tool parameter key value match metric.

  Fields:
    instances: Required. Repeated tool parameter key value match instances.
    metricSpec: Required. Spec for tool parameter key value match metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKVMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKVMatchSpec', 2)


class GoogleCloudAiplatformV1ToolParameterKVMatchInstance(_messages.Message):
  r"""Spec for tool parameter key value match instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue(_messages.Message):
  r"""Tool parameter key value match metric value for an instance.

  Fields:
    score: Output only. Tool parameter key value match score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ToolParameterKVMatchResults(_messages.Message):
  r"""Results for tool parameter key value match metric.

  Fields:
    toolParameterKvMatchMetricValues: Output only. Tool parameter key value
      match metric values.
  """

  toolParameterKvMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1ToolParameterKVMatchSpec(_messages.Message):
  r"""Spec for tool parameter key value match metric.

  Fields:
    useStrictStringMatch: Optional. Whether to use STRICT string match on
      parameter values.
  """

  useStrictStringMatch = _messages.BooleanField(1)


class GoogleCloudAiplatformV1ToolParameterKeyMatchInput(_messages.Message):
  r"""Input for tool parameter key match metric.

  Fields:
    instances: Required. Repeated tool parameter key match instances.
    metricSpec: Required. Spec for tool parameter key match metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKeyMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKeyMatchSpec', 2)


class GoogleCloudAiplatformV1ToolParameterKeyMatchInstance(_messages.Message):
  r"""Spec for tool parameter key match instance.

  Fields:
    prediction: Required. Output of the evaluated model.
    reference: Required. Ground truth used to compare against the prediction.
  """

  prediction = _messages.StringField(1)
  reference = _messages.StringField(2)


class GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue(_messages.Message):
  r"""Tool parameter key match metric value for an instance.

  Fields:
    score: Output only. Tool parameter key match score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1ToolParameterKeyMatchResults(_messages.Message):
  r"""Results for tool parameter key match metric.

  Fields:
    toolParameterKeyMatchMetricValues: Output only. Tool parameter key match
      metric values.
  """

  toolParameterKeyMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1ToolParameterKeyMatchSpec(_messages.Message):
  r"""Spec for tool parameter key match metric."""


class GoogleCloudAiplatformV1TrainingPipeline(_messages.Message):
  r"""The TrainingPipeline orchestrates tasks associated with training a
  Model. It always executes the training task, and optionally may also export
  data from Vertex AI's Dataset which becomes the training input, upload the
  Model to Vertex AI, and evaluate the Model.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the pipeline.

  Messages:
    LabelsValue: The labels with user-defined metadata to organize
      TrainingPipelines. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.

  Fields:
    createTime: Output only. Time when the TrainingPipeline was created.
    displayName: Required. The user-defined name of this TrainingPipeline.
    encryptionSpec: Customer-managed encryption key spec for a
      TrainingPipeline. If set, this TrainingPipeline will be secured by this
      key. Note: Model trained by this TrainingPipeline is also secured by
      this key if model_to_upload is not set separately.
    endTime: Output only. Time when the TrainingPipeline entered any of the
      following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`,
      `PIPELINE_STATE_CANCELLED`.
    error: Output only. Only populated when the pipeline's state is
      `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.
    inputDataConfig: Specifies Vertex AI owned input data that may be used for
      training the Model. The TrainingPipeline's training_task_definition
      should make clear whether this config is used and if there are any
      special requirements on how it should be filled. If nothing about this
      config is mentioned in the training_task_definition, then it should be
      assumed that the TrainingPipeline does not depend on this configuration.
    labels: The labels with user-defined metadata to organize
      TrainingPipelines. Label keys and values can be no longer than 64
      characters (Unicode codepoints), can only contain lowercase letters,
      numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of
      labels.
    modelId: Optional. The ID to use for the uploaded Model, which will become
      the final component of the model resource name. This value may be up to
      63 characters, and valid characters are `[a-z0-9_-]`. The first
      character cannot be a number or hyphen.
    modelToUpload: Describes the Model that may be uploaded (via
      ModelService.UploadModel) by this TrainingPipeline. The
      TrainingPipeline's training_task_definition should make clear whether
      this Model description should be populated, and if there are any special
      requirements regarding how it should be filled. If nothing is mentioned
      in the training_task_definition, then it should be assumed that this
      field should not be filled and the training task either uploads the
      Model without a need of this information, or that training task does not
      support uploading a Model as part of the pipeline. When the Pipeline's
      state becomes `PIPELINE_STATE_SUCCEEDED` and the trained Model had been
      uploaded into Vertex AI, then the model_to_upload's resource name is
      populated. The Model is always uploaded into the Project and Location in
      which this pipeline is.
    name: Output only. Resource name of the TrainingPipeline.
    parentModel: Optional. When specify this field, the `model_to_upload` will
      not be uploaded as a new model, instead, it will become a new version of
      this `parent_model`.
    startTime: Output only. Time when the TrainingPipeline for the first time
      entered the `PIPELINE_STATE_RUNNING` state.
    state: Output only. The detailed state of the pipeline.
    trainingTaskDefinition: Required. A Google Cloud Storage path to the YAML
      file that defines the training task which is responsible for producing
      the model artifact, and may also include additional auxiliary work. The
      definition files that can be used here are found in gs://google-cloud-
      aiplatform/schema/trainingjob/definition/. Note: The URI given on output
      will be immutable and probably different, including the URI scheme, than
      the one given on input. The output URI will point to a location where
      the user only has a read access.
    trainingTaskInputs: Required. The training task's parameter(s), as
      specified in the training_task_definition's `inputs`.
    trainingTaskMetadata: Output only. The metadata information as specified
      in the training_task_definition's `metadata`. This metadata is an
      auxiliary runtime and final information about the training task. While
      the pipeline is running this information is populated only at a best
      effort basis. Only present if the pipeline's training_task_definition
      contains `metadata` object.
    updateTime: Output only. Time when the TrainingPipeline was most recently
      updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the pipeline.

    Values:
      PIPELINE_STATE_UNSPECIFIED: The pipeline state is unspecified.
      PIPELINE_STATE_QUEUED: The pipeline has been created or resumed, and
        processing has not yet begun.
      PIPELINE_STATE_PENDING: The service is preparing to run the pipeline.
      PIPELINE_STATE_RUNNING: The pipeline is in progress.
      PIPELINE_STATE_SUCCEEDED: The pipeline completed successfully.
      PIPELINE_STATE_FAILED: The pipeline failed.
      PIPELINE_STATE_CANCELLING: The pipeline is being cancelled. From this
        state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED,
        PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.
      PIPELINE_STATE_CANCELLED: The pipeline has been cancelled.
      PIPELINE_STATE_PAUSED: The pipeline has been stopped, and can be
        resumed.
    """
    PIPELINE_STATE_UNSPECIFIED = 0
    PIPELINE_STATE_QUEUED = 1
    PIPELINE_STATE_PENDING = 2
    PIPELINE_STATE_RUNNING = 3
    PIPELINE_STATE_SUCCEEDED = 4
    PIPELINE_STATE_FAILED = 5
    PIPELINE_STATE_CANCELLING = 6
    PIPELINE_STATE_CANCELLED = 7
    PIPELINE_STATE_PAUSED = 8

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""The labels with user-defined metadata to organize TrainingPipelines.
    Label keys and values can be no longer than 64 characters (Unicode
    codepoints), can only contain lowercase letters, numeric characters,
    underscores and dashes. International characters are allowed. See
    https://goo.gl/xmQnxf for more information and examples of labels.

    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)

  createTime = _messages.StringField(1)
  displayName = _messages.StringField(2)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 3)
  endTime = _messages.StringField(4)
  error = _messages.MessageField('GoogleRpcStatus', 5)
  inputDataConfig = _messages.MessageField('GoogleCloudAiplatformV1InputDataConfig', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  modelId = _messages.StringField(8)
  modelToUpload = _messages.MessageField('GoogleCloudAiplatformV1Model', 9)
  name = _messages.StringField(10)
  parentModel = _messages.StringField(11)
  startTime = _messages.StringField(12)
  state = _messages.EnumField('StateValueValuesEnum', 13)
  trainingTaskDefinition = _messages.StringField(14)
  trainingTaskInputs = _messages.MessageField('extra_types.JsonValue', 15)
  trainingTaskMetadata = _messages.MessageField('extra_types.JsonValue', 16)
  updateTime = _messages.StringField(17)


class GoogleCloudAiplatformV1Trajectory(_messages.Message):
  r"""Spec for trajectory.

  Fields:
    toolCalls: Required. Tool calls in the trajectory.
  """

  toolCalls = _messages.MessageField('GoogleCloudAiplatformV1ToolCall', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput(_messages.Message):
  r"""Instances and metric spec for TrajectoryAnyOrderMatch metric.

  Fields:
    instances: Required. Repeated TrajectoryAnyOrderMatch instance.
    metricSpec: Required. Spec for TrajectoryAnyOrderMatch metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec', 2)


class GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance(_messages.Message):
  r"""Spec for TrajectoryAnyOrderMatch instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
    referenceTrajectory: Required. Spec for reference tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)
  referenceTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 2)


class GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue(_messages.Message):
  r"""TrajectoryAnyOrderMatch metric value for an instance.

  Fields:
    score: Output only. TrajectoryAnyOrderMatch score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults(_messages.Message):
  r"""Results for TrajectoryAnyOrderMatch metric.

  Fields:
    trajectoryAnyOrderMatchMetricValues: Output only. TrajectoryAnyOrderMatch
      metric values.
  """

  trajectoryAnyOrderMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec(_messages.Message):
  r"""Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in
  the reference trajectory appear in the predicted trajectory in any order,
  else 0.
  """



class GoogleCloudAiplatformV1TrajectoryExactMatchInput(_messages.Message):
  r"""Instances and metric spec for TrajectoryExactMatch metric.

  Fields:
    instances: Required. Repeated TrajectoryExactMatch instance.
    metricSpec: Required. Spec for TrajectoryExactMatch metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryExactMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryExactMatchSpec', 2)


class GoogleCloudAiplatformV1TrajectoryExactMatchInstance(_messages.Message):
  r"""Spec for TrajectoryExactMatch instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
    referenceTrajectory: Required. Spec for reference tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)
  referenceTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 2)


class GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue(_messages.Message):
  r"""TrajectoryExactMatch metric value for an instance.

  Fields:
    score: Output only. TrajectoryExactMatch score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectoryExactMatchResults(_messages.Message):
  r"""Results for TrajectoryExactMatch metric.

  Fields:
    trajectoryExactMatchMetricValues: Output only. TrajectoryExactMatch metric
      values.
  """

  trajectoryExactMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryExactMatchSpec(_messages.Message):
  r"""Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the
  reference trajectory exactly match the predicted trajectory, else 0.
  """



class GoogleCloudAiplatformV1TrajectoryInOrderMatchInput(_messages.Message):
  r"""Instances and metric spec for TrajectoryInOrderMatch metric.

  Fields:
    instances: Required. Repeated TrajectoryInOrderMatch instance.
    metricSpec: Required. Spec for TrajectoryInOrderMatch metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec', 2)


class GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance(_messages.Message):
  r"""Spec for TrajectoryInOrderMatch instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
    referenceTrajectory: Required. Spec for reference tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)
  referenceTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 2)


class GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue(_messages.Message):
  r"""TrajectoryInOrderMatch metric value for an instance.

  Fields:
    score: Output only. TrajectoryInOrderMatch score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectoryInOrderMatchResults(_messages.Message):
  r"""Results for TrajectoryInOrderMatch metric.

  Fields:
    trajectoryInOrderMatchMetricValues: Output only. TrajectoryInOrderMatch
      metric values.
  """

  trajectoryInOrderMatchMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec(_messages.Message):
  r"""Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the
  reference trajectory appear in the predicted trajectory in the same order,
  else 0.
  """



class GoogleCloudAiplatformV1TrajectoryPrecisionInput(_messages.Message):
  r"""Instances and metric spec for TrajectoryPrecision metric.

  Fields:
    instances: Required. Repeated TrajectoryPrecision instance.
    metricSpec: Required. Spec for TrajectoryPrecision metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryPrecisionInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryPrecisionSpec', 2)


class GoogleCloudAiplatformV1TrajectoryPrecisionInstance(_messages.Message):
  r"""Spec for TrajectoryPrecision instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
    referenceTrajectory: Required. Spec for reference tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)
  referenceTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 2)


class GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue(_messages.Message):
  r"""TrajectoryPrecision metric value for an instance.

  Fields:
    score: Output only. TrajectoryPrecision score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectoryPrecisionResults(_messages.Message):
  r"""Results for TrajectoryPrecision metric.

  Fields:
    trajectoryPrecisionMetricValues: Output only. TrajectoryPrecision metric
      values.
  """

  trajectoryPrecisionMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryPrecisionSpec(_messages.Message):
  r"""Spec for TrajectoryPrecision metric - returns a float score based on
  average precision of individual tool calls.
  """



class GoogleCloudAiplatformV1TrajectoryRecallInput(_messages.Message):
  r"""Instances and metric spec for TrajectoryRecall metric.

  Fields:
    instances: Required. Repeated TrajectoryRecall instance.
    metricSpec: Required. Spec for TrajectoryRecall metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryRecallInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryRecallSpec', 2)


class GoogleCloudAiplatformV1TrajectoryRecallInstance(_messages.Message):
  r"""Spec for TrajectoryRecall instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
    referenceTrajectory: Required. Spec for reference tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)
  referenceTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 2)


class GoogleCloudAiplatformV1TrajectoryRecallMetricValue(_messages.Message):
  r"""TrajectoryRecall metric value for an instance.

  Fields:
    score: Output only. TrajectoryRecall score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectoryRecallResults(_messages.Message):
  r"""Results for TrajectoryRecall metric.

  Fields:
    trajectoryRecallMetricValues: Output only. TrajectoryRecall metric values.
  """

  trajectoryRecallMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectoryRecallMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectoryRecallSpec(_messages.Message):
  r"""Spec for TrajectoryRecall metric - returns a float score based on
  average recall of individual tool calls.
  """



class GoogleCloudAiplatformV1TrajectorySingleToolUseInput(_messages.Message):
  r"""Instances and metric spec for TrajectorySingleToolUse metric.

  Fields:
    instances: Required. Repeated TrajectorySingleToolUse instance.
    metricSpec: Required. Spec for TrajectorySingleToolUse metric.
  """

  instances = _messages.MessageField('GoogleCloudAiplatformV1TrajectorySingleToolUseInstance', 1, repeated=True)
  metricSpec = _messages.MessageField('GoogleCloudAiplatformV1TrajectorySingleToolUseSpec', 2)


class GoogleCloudAiplatformV1TrajectorySingleToolUseInstance(_messages.Message):
  r"""Spec for TrajectorySingleToolUse instance.

  Fields:
    predictedTrajectory: Required. Spec for predicted tool call trajectory.
  """

  predictedTrajectory = _messages.MessageField('GoogleCloudAiplatformV1Trajectory', 1)


class GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue(_messages.Message):
  r"""TrajectorySingleToolUse metric value for an instance.

  Fields:
    score: Output only. TrajectorySingleToolUse score.
  """

  score = _messages.FloatField(1, variant=_messages.Variant.FLOAT)


class GoogleCloudAiplatformV1TrajectorySingleToolUseResults(_messages.Message):
  r"""Results for TrajectorySingleToolUse metric.

  Fields:
    trajectorySingleToolUseMetricValues: Output only. TrajectorySingleToolUse
      metric values.
  """

  trajectorySingleToolUseMetricValues = _messages.MessageField('GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue', 1, repeated=True)


class GoogleCloudAiplatformV1TrajectorySingleToolUseSpec(_messages.Message):
  r"""Spec for TrajectorySingleToolUse metric - returns 1 if tool is present
  in the predicted trajectory, else 0.

  Fields:
    toolName: Required. Spec for tool name to be checked for in the predicted
      trajectory.
  """

  toolName = _messages.StringField(1)


class GoogleCloudAiplatformV1Transcription(_messages.Message):
  r"""Audio transcription in Server Content.

  Fields:
    finished: Optional. The bool indicates the end of the transcription.
    text: Optional. Transcription text.
  """

  finished = _messages.BooleanField(1)
  text = _messages.StringField(2)


class GoogleCloudAiplatformV1Trial(_messages.Message):
  r"""A message representing a Trial. A Trial contains a unique set of
  Parameters that has been or will be evaluated, along with the objective
  metrics got by running the Trial.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the Trial.

  Messages:
    WebAccessUrisValue: Output only. URIs for accessing [interactive
      shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
      interactive-shell) (one URI for each training node). Only available if
      this trial is part of a HyperparameterTuningJob and the job's
      trial_job_spec.enable_web_access field is `true`. The keys are names of
      each node used for the trial; for example, `workerpool0-0` for the
      primary node, `workerpool1-0` for the first node in the second worker
      pool, and `workerpool1-1` for the second node in the second worker pool.
      The values are the URIs for each node's interactive shell.

  Fields:
    clientId: Output only. The identifier of the client that originally
      requested this Trial. Each client is identified by a unique client_id.
      When a client asks for a suggestion, Vertex AI Vizier will assign it a
      Trial. The client should evaluate the Trial, complete it, and report
      back to Vertex AI Vizier. If suggestion is asked again by same client_id
      before the Trial is completed, the same Trial will be returned. Multiple
      clients with different client_ids can ask for suggestions
      simultaneously, each of them will get their own Trial.
    customJob: Output only. The CustomJob name linked to the Trial. It's set
      for a HyperparameterTuningJob's Trial.
    endTime: Output only. Time when the Trial's status changed to `SUCCEEDED`
      or `INFEASIBLE`.
    finalMeasurement: Output only. The final measurement containing the
      objective value.
    id: Output only. The identifier of the Trial assigned by the service.
    infeasibleReason: Output only. A human readable string describing why the
      Trial is infeasible. This is set only if Trial state is `INFEASIBLE`.
    measurements: Output only. A list of measurements that are strictly
      lexicographically ordered by their induced tuples (steps,
      elapsed_duration). These are used for early stopping computations.
    name: Output only. Resource name of the Trial assigned by the service.
    parameters: Output only. The parameters of the Trial.
    startTime: Output only. Time when the Trial was started.
    state: Output only. The detailed state of the Trial.
    webAccessUris: Output only. URIs for accessing [interactive
      shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
      interactive-shell) (one URI for each training node). Only available if
      this trial is part of a HyperparameterTuningJob and the job's
      trial_job_spec.enable_web_access field is `true`. The keys are names of
      each node used for the trial; for example, `workerpool0-0` for the
      primary node, `workerpool1-0` for the first node in the second worker
      pool, and `workerpool1-1` for the second node in the second worker pool.
      The values are the URIs for each node's interactive shell.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the Trial.

    Values:
      STATE_UNSPECIFIED: The Trial state is unspecified.
      REQUESTED: Indicates that a specific Trial has been requested, but it
        has not yet been suggested by the service.
      ACTIVE: Indicates that the Trial has been suggested.
      STOPPING: Indicates that the Trial should stop according to the service.
      SUCCEEDED: Indicates that the Trial is completed successfully.
      INFEASIBLE: Indicates that the Trial should not be attempted again. The
        service will set a Trial to INFEASIBLE when it's done but missing the
        final_measurement.
    """
    STATE_UNSPECIFIED = 0
    REQUESTED = 1
    ACTIVE = 2
    STOPPING = 3
    SUCCEEDED = 4
    INFEASIBLE = 5

  @encoding.MapUnrecognizedFields('additionalProperties')
  class WebAccessUrisValue(_messages.Message):
    r"""Output only. URIs for accessing [interactive
    shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-
    interactive-shell) (one URI for each training node). Only available if
    this trial is part of a HyperparameterTuningJob and the job's
    trial_job_spec.enable_web_access field is `true`. The keys are names of
    each node used for the trial; for example, `workerpool0-0` for the primary
    node, `workerpool1-0` for the first node in the second worker pool, and
    `workerpool1-1` for the second node in the second worker pool. The values
    are the URIs for each node's interactive shell.

    Messages:
      AdditionalProperty: An additional property for a WebAccessUrisValue
        object.

    Fields:
      additionalProperties: Additional properties of type WebAccessUrisValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a WebAccessUrisValue 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)

  clientId = _messages.StringField(1)
  customJob = _messages.StringField(2)
  endTime = _messages.StringField(3)
  finalMeasurement = _messages.MessageField('GoogleCloudAiplatformV1Measurement', 4)
  id = _messages.StringField(5)
  infeasibleReason = _messages.StringField(6)
  measurements = _messages.MessageField('GoogleCloudAiplatformV1Measurement', 7, repeated=True)
  name = _messages.StringField(8)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1TrialParameter', 9, repeated=True)
  startTime = _messages.StringField(10)
  state = _messages.EnumField('StateValueValuesEnum', 11)
  webAccessUris = _messages.MessageField('WebAccessUrisValue', 12)


class GoogleCloudAiplatformV1TrialContext(_messages.Message):
  r"""A GoogleCloudAiplatformV1TrialContext object.

  Fields:
    description: A human-readable field which can store a description of this
      context. This will become part of the resulting Trial's description
      field.
    parameters: If/when a Trial is generated or selected from this Context,
      its Parameters will match any parameters specified here. (I.e. if this
      context specifies parameter name:'a' int_value:3, then a resulting Trial
      will have int_value:3 for its parameter named 'a'.) Note that we first
      attempt to match existing REQUESTED Trials with contexts, and if there
      are no matches, we generate suggestions in the subspace defined by the
      parameters specified here. NOTE: a Context without any Parameters
      matches the entire feasible search space.
  """

  description = _messages.StringField(1)
  parameters = _messages.MessageField('GoogleCloudAiplatformV1TrialParameter', 2, repeated=True)


class GoogleCloudAiplatformV1TrialParameter(_messages.Message):
  r"""A message representing a parameter to be tuned.

  Fields:
    parameterId: Output only. The ID of the parameter. The parameter should be
      defined in StudySpec's Parameters.
    value: Output only. The value of the parameter. `number_value` will be set
      if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' or
      'DISCRETE'. `string_value` will be set if a parameter defined in
      StudySpec is in type 'CATEGORICAL'.
  """

  parameterId = _messages.StringField(1)
  value = _messages.MessageField('extra_types.JsonValue', 2)


class GoogleCloudAiplatformV1TunedModel(_messages.Message):
  r"""The Model Registry Model and Online Prediction Endpoint associated with
  this TuningJob.

  Fields:
    checkpoints: Output only. The checkpoints associated with this TunedModel.
      This field is only populated for tuning jobs that enable intermediate
      checkpoints.
    endpoint: Output only. A resource name of an Endpoint. Format:
      `projects/{project}/locations/{location}/endpoints/{endpoint}`.
    model: Output only. The resource name of the TunedModel. Format:
      `projects/{project}/locations/{location}/models/{model}@{version_id}`
      When tuning from a base model, the version ID will be 1. For continuous
      tuning, if the provided tuned_model_display_name is set and different
      from parent model's display name, the tuned model will have a new parent
      model with version 1. Otherwise the version id will be incremented by 1
      from the last version ID in the parent model. E.g.,
      `projects/{project}/locations/{location}/models/{model}@{last_version_id
      + 1}`
  """

  checkpoints = _messages.MessageField('GoogleCloudAiplatformV1TunedModelCheckpoint', 1, repeated=True)
  endpoint = _messages.StringField(2)
  model = _messages.StringField(3)


class GoogleCloudAiplatformV1TunedModelCheckpoint(_messages.Message):
  r"""TunedModelCheckpoint for the Tuned Model of a Tuning Job.

  Fields:
    checkpointId: The ID of the checkpoint.
    endpoint: The Endpoint resource name that the checkpoint is deployed to.
      Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
    epoch: The epoch of the checkpoint.
    step: The step of the checkpoint.
  """

  checkpointId = _messages.StringField(1)
  endpoint = _messages.StringField(2)
  epoch = _messages.IntegerField(3)
  step = _messages.IntegerField(4)


class GoogleCloudAiplatformV1TunedModelRef(_messages.Message):
  r"""TunedModel Reference for legacy model migration.

  Fields:
    pipelineJob: Support migration from tuning job list page, from bison model
      to gemini model.
    tunedModel: Support migration from model registry.
    tuningJob: Support migration from tuning job list page, from
      gemini-1.0-pro-002 to 1.5 and above.
  """

  pipelineJob = _messages.StringField(1)
  tunedModel = _messages.StringField(2)
  tuningJob = _messages.StringField(3)


class GoogleCloudAiplatformV1TuningDataStats(_messages.Message):
  r"""The tuning data statistic values for TuningJob.

  Fields:
    supervisedTuningDataStats: The SFT Tuning data stats.
  """

  supervisedTuningDataStats = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningDataStats', 1)


class GoogleCloudAiplatformV1TuningJob(_messages.Message):
  r"""Represents a TuningJob that runs with Google owned models.

  Enums:
    StateValueValuesEnum: Output only. The detailed state of the job.

  Messages:
    LabelsValue: Optional. The labels with user-defined metadata to organize
      TuningJob and generated resources such as Model and Endpoint. Label keys
      and values can be no longer than 64 characters (Unicode codepoints), can
      only contain lowercase letters, numeric characters, underscores and
      dashes. International characters are allowed. See https://goo.gl/xmQnxf
      for more information and examples of labels.

  Fields:
    baseModel: The base model that is being tuned. See [Supported
      models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-
      reference/tuning#supported_models).
    createTime: Output only. Time when the TuningJob was created.
    description: Optional. The description of the TuningJob.
    encryptionSpec: Customer-managed encryption key options for a TuningJob.
      If this is set, then all resources created by the TuningJob will be
      encrypted with the provided encryption key.
    endTime: Output only. Time when the TuningJob entered any of the following
      JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
      `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.
    error: Output only. Only populated when job's state is `JOB_STATE_FAILED`
      or `JOB_STATE_CANCELLED`.
    evaluateDatasetRuns: Output only. Evaluation runs for the Tuning Job.
    experiment: Output only. The Experiment associated with this TuningJob.
    labels: Optional. The labels with user-defined metadata to organize
      TuningJob and generated resources such as Model and Endpoint. Label keys
      and values can be no longer than 64 characters (Unicode codepoints), can
      only contain lowercase letters, numeric characters, underscores and
      dashes. International characters are allowed. See https://goo.gl/xmQnxf
      for more information and examples of labels.
    name: Output only. Identifier. Resource name of a TuningJob. Format:
      `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
    preTunedModel: The pre-tuned model for continuous tuning.
    serviceAccount: The service account that the tuningJob workload runs as.
      If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the
      project will be used. See https://cloud.google.com/iam/docs/service-
      agents#vertex-ai-secure-fine-tuning-service-agent Users starting the
      pipeline must have the `iam.serviceAccounts.actAs` permission on this
      service account.
    startTime: Output only. Time when the TuningJob for the first time entered
      the `JOB_STATE_RUNNING` state.
    state: Output only. The detailed state of the job.
    supervisedTuningSpec: Tuning Spec for Supervised Fine Tuning.
    tunedModel: Output only. The tuned model resources associated with this
      TuningJob.
    tunedModelDisplayName: Optional. The display name of the TunedModel. The
      name can be up to 128 characters long and can consist of any UTF-8
      characters. For continuous tuning, tuned_model_display_name will by
      default use the same display name as the pre-tuned model. If a new
      display name is provided, the tuning job will create a new model instead
      of a new version.
    tuningDataStats: Output only. The tuning data statistics associated with
      this TuningJob.
    updateTime: Output only. Time when the TuningJob was most recently
      updated.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed state of the job.

    Values:
      JOB_STATE_UNSPECIFIED: The job state is unspecified.
      JOB_STATE_QUEUED: The job has been just created or resumed and
        processing has not yet begun.
      JOB_STATE_PENDING: The service is preparing to run the job.
      JOB_STATE_RUNNING: The job is in progress.
      JOB_STATE_SUCCEEDED: The job completed successfully.
      JOB_STATE_FAILED: The job failed.
      JOB_STATE_CANCELLING: The job is being cancelled. From this state the
        job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or
        `JOB_STATE_CANCELLED`.
      JOB_STATE_CANCELLED: The job has been cancelled.
      JOB_STATE_PAUSED: The job has been stopped, and can be resumed.
      JOB_STATE_EXPIRED: The job has expired.
      JOB_STATE_UPDATING: The job is being updated. Only jobs in the `RUNNING`
        state can be updated. After updating, the job goes back to the
        `RUNNING` state.
      JOB_STATE_PARTIALLY_SUCCEEDED: The job is partially succeeded, some
        results may be missing due to errors.
    """
    JOB_STATE_UNSPECIFIED = 0
    JOB_STATE_QUEUED = 1
    JOB_STATE_PENDING = 2
    JOB_STATE_RUNNING = 3
    JOB_STATE_SUCCEEDED = 4
    JOB_STATE_FAILED = 5
    JOB_STATE_CANCELLING = 6
    JOB_STATE_CANCELLED = 7
    JOB_STATE_PAUSED = 8
    JOB_STATE_EXPIRED = 9
    JOB_STATE_UPDATING = 10
    JOB_STATE_PARTIALLY_SUCCEEDED = 11

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. The labels with user-defined metadata to organize TuningJob
    and generated resources such as Model and Endpoint. Label keys and values
    can be no longer than 64 characters (Unicode codepoints), can only contain
    lowercase letters, numeric characters, underscores and dashes.
    International characters are allowed. See https://goo.gl/xmQnxf for more
    information and examples of labels.

    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)

  baseModel = _messages.StringField(1)
  createTime = _messages.StringField(2)
  description = _messages.StringField(3)
  encryptionSpec = _messages.MessageField('GoogleCloudAiplatformV1EncryptionSpec', 4)
  endTime = _messages.StringField(5)
  error = _messages.MessageField('GoogleRpcStatus', 6)
  evaluateDatasetRuns = _messages.MessageField('GoogleCloudAiplatformV1EvaluateDatasetRun', 7, repeated=True)
  experiment = _messages.StringField(8)
  labels = _messages.MessageField('LabelsValue', 9)
  name = _messages.StringField(10)
  preTunedModel = _messages.MessageField('GoogleCloudAiplatformV1PreTunedModel', 11)
  serviceAccount = _messages.StringField(12)
  startTime = _messages.StringField(13)
  state = _messages.EnumField('StateValueValuesEnum', 14)
  supervisedTuningSpec = _messages.MessageField('GoogleCloudAiplatformV1SupervisedTuningSpec', 15)
  tunedModel = _messages.MessageField('GoogleCloudAiplatformV1TunedModel', 16)
  tunedModelDisplayName = _messages.StringField(17)
  tuningDataStats = _messages.MessageField('GoogleCloudAiplatformV1TuningDataStats', 18)
  updateTime = _messages.StringField(19)


class GoogleCloudAiplatformV1UndeployIndexOperationMetadata(_messages.Message):
  r"""Runtime operation information for IndexEndpointService.UndeployIndex.

  Fields:
    genericMetadata: The operation generic information.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UndeployIndexRequest(_messages.Message):
  r"""Request message for IndexEndpointService.UndeployIndex.

  Fields:
    deployedIndexId: Required. The ID of the DeployedIndex to be undeployed
      from the IndexEndpoint.
  """

  deployedIndexId = _messages.StringField(1)


class GoogleCloudAiplatformV1UndeployIndexResponse(_messages.Message):
  r"""Response message for IndexEndpointService.UndeployIndex."""


class GoogleCloudAiplatformV1UndeployModelOperationMetadata(_messages.Message):
  r"""Runtime operation information for EndpointService.UndeployModel.

  Fields:
    genericMetadata: The operation generic information.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UndeployModelRequest(_messages.Message):
  r"""Request message for EndpointService.UndeployModel.

  Messages:
    TrafficSplitValue: If this field is provided, then the Endpoint's
      traffic_split will be overwritten with it. If last DeployedModel is
      being undeployed from the Endpoint, the [Endpoint.traffic_split] will
      always end up empty when this call returns. A DeployedModel will be
      successfully undeployed only if it doesn't have any traffic assigned to
      it when this method executes, or if this field unassigns any traffic to
      it.

  Fields:
    deployedModelId: Required. The ID of the DeployedModel to be undeployed
      from the Endpoint.
    trafficSplit: If this field is provided, then the Endpoint's traffic_split
      will be overwritten with it. If last DeployedModel is being undeployed
      from the Endpoint, the [Endpoint.traffic_split] will always end up empty
      when this call returns. A DeployedModel will be successfully undeployed
      only if it doesn't have any traffic assigned to it when this method
      executes, or if this field unassigns any traffic to it.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class TrafficSplitValue(_messages.Message):
    r"""If this field is provided, then the Endpoint's traffic_split will be
    overwritten with it. If last DeployedModel is being undeployed from the
    Endpoint, the [Endpoint.traffic_split] will always end up empty when this
    call returns. A DeployedModel will be successfully undeployed only if it
    doesn't have any traffic assigned to it when this method executes, or if
    this field unassigns any traffic to it.

    Messages:
      AdditionalProperty: An additional property for a TrafficSplitValue
        object.

    Fields:
      additionalProperties: Additional properties of type TrafficSplitValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a TrafficSplitValue object.

      Fields:
        key: Name of the additional property.
        value: A integer attribute.
      """

      key = _messages.StringField(1)
      value = _messages.IntegerField(2, variant=_messages.Variant.INT32)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  deployedModelId = _messages.StringField(1)
  trafficSplit = _messages.MessageField('TrafficSplitValue', 2)


class GoogleCloudAiplatformV1UndeployModelResponse(_messages.Message):
  r"""Response message for EndpointService.UndeployModel."""


class GoogleCloudAiplatformV1UnmanagedContainerModel(_messages.Message):
  r"""Contains model information necessary to perform batch prediction without
  requiring a full model import.

  Fields:
    artifactUri: The path to the directory containing the Model artifact and
      any of its supporting files.
    containerSpec: Input only. The specification of the container that is to
      be used when deploying this Model.
    predictSchemata: Contains the schemata used in Model's predictions and
      explanations
  """

  artifactUri = _messages.StringField(1)
  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ModelContainerSpec', 2)
  predictSchemata = _messages.MessageField('GoogleCloudAiplatformV1PredictSchemata', 3)


class GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata(_messages.Message):
  r"""Runtime operation information for UpdateDeploymentResourcePool method.

  Fields:
    genericMetadata: The operation generic information.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest(_messages.Message):
  r"""Request message for EndpointService.UpdateEndpointLongRunning.

  Fields:
    endpoint: Required. The Endpoint which replaces the resource on the
      server. Currently we only support updating the
      `client_connection_config` field, all the other fields' update will be
      blocked.
  """

  endpoint = _messages.MessageField('GoogleCloudAiplatformV1Endpoint', 1)


class GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata(_messages.Message):
  r"""Runtime operation information for ModelService.UpdateExplanationDataset.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateExplanationDatasetRequest(_messages.Message):
  r"""Request message for ModelService.UpdateExplanationDataset.

  Fields:
    examples: The example config containing the location of the dataset.
  """

  examples = _messages.MessageField('GoogleCloudAiplatformV1Examples', 1)


class GoogleCloudAiplatformV1UpdateExplanationDatasetResponse(_messages.Message):
  r"""Response message of ModelService.UpdateExplanationDataset operation."""


class GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata(_messages.Message):
  r"""Details of operations that perform update FeatureGroup.

  Fields:
    genericMetadata: Operation metadata for FeatureGroup.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform update FeatureOnlineStore.

  Fields:
    genericMetadata: Operation metadata for FeatureOnlineStore.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateFeatureOperationMetadata(_messages.Message):
  r"""Details of operations that perform update Feature.

  Fields:
    genericMetadata: Operation metadata for Feature Update.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata(_messages.Message):
  r"""Details of operations that perform update FeatureView.

  Fields:
    genericMetadata: Operation metadata for FeatureView Update.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata(_messages.Message):
  r"""Details of operations that perform update Featurestore.

  Fields:
    genericMetadata: Operation metadata for Featurestore.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdateIndexOperationMetadata(_messages.Message):
  r"""Runtime operation information for IndexService.UpdateIndex.

  Fields:
    genericMetadata: The operation generic information.
    nearestNeighborSearchOperationMetadata: The operation metadata with regard
      to Matching Engine Index operation.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  nearestNeighborSearchOperationMetadata = _messages.MessageField('GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata', 2)


class GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata(_messages.Message):
  r"""Runtime operation information for
  JobService.UpdateModelDeploymentMonitoringJob.

  Fields:
    genericMetadata: The operation generic information.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata(_messages.Message):
  r"""Details of operations that perform update PersistentResource.

  Fields:
    genericMetadata: Operation metadata for PersistentResource.
    progressMessage: Progress Message for Update LRO
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata(_messages.Message):
  r"""Runtime operation metadata for
  SpecialistPoolService.UpdateSpecialistPool.

  Fields:
    genericMetadata: The operation generic information.
    specialistPool: Output only. The name of the SpecialistPool to which the
      specialists are being added. Format: `projects/{project_id}/locations/{l
      ocation_id}/specialistPools/{specialist_pool}`
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  specialistPool = _messages.StringField(2)


class GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata(_messages.Message):
  r"""Details of operations that perform update Tensorboard.

  Fields:
    genericMetadata: Operation metadata for Tensorboard.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata(_messages.Message):
  r"""Metadata information for NotebookService.UpgradeNotebookRuntime.

  Fields:
    genericMetadata: The operation generic information.
    progressMessage: A human-readable message that shows the intermediate
      progress details of NotebookRuntime.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)
  progressMessage = _messages.StringField(2)


class GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest(_messages.Message):
  r"""Request message for NotebookService.UpgradeNotebookRuntime."""


class GoogleCloudAiplatformV1UploadModelOperationMetadata(_messages.Message):
  r"""Details of ModelService.UploadModel operation.

  Fields:
    genericMetadata: The common part of the operation metadata.
  """

  genericMetadata = _messages.MessageField('GoogleCloudAiplatformV1GenericOperationMetadata', 1)


class GoogleCloudAiplatformV1UploadModelRequest(_messages.Message):
  r"""Request message for ModelService.UploadModel.

  Fields:
    model: Required. The Model to create.
    modelId: Optional. The ID to use for the uploaded Model, which will become
      the final component of the model resource name. This value may be up to
      63 characters, and valid characters are `[a-z0-9_-]`. The first
      character cannot be a number or hyphen.
    parentModel: Optional. The resource name of the model into which to upload
      the version. Only specify this field when uploading a new version.
    serviceAccount: Optional. The user-provided custom service account to use
      to do the model upload. If empty, [Vertex AI Service
      Agent](https://cloud.google.com/vertex-ai/docs/general/access-
      control#service-agents) will be used to access resources needed to
      upload the model. This account must belong to the target project where
      the model is uploaded to, i.e., the project specified in the `parent`
      field of this request and have necessary read permissions (to Google
      Cloud Storage, Artifact Registry, etc.).
  """

  model = _messages.MessageField('GoogleCloudAiplatformV1Model', 1)
  modelId = _messages.StringField(2)
  parentModel = _messages.StringField(3)
  serviceAccount = _messages.StringField(4)


class GoogleCloudAiplatformV1UploadModelResponse(_messages.Message):
  r"""Response message of ModelService.UploadModel operation.

  Fields:
    model: The name of the uploaded Model resource. Format:
      `projects/{project}/locations/{location}/models/{model}`
    modelVersionId: Output only. The version ID of the model that is uploaded.
  """

  model = _messages.StringField(1)
  modelVersionId = _messages.StringField(2)


class GoogleCloudAiplatformV1UploadRagFileConfig(_messages.Message):
  r"""Config for uploading RagFile.

  Fields:
    ragFileTransformationConfig: Specifies the transformation config for
      RagFiles.
  """

  ragFileTransformationConfig = _messages.MessageField('GoogleCloudAiplatformV1RagFileTransformationConfig', 1)


class GoogleCloudAiplatformV1UploadRagFileRequest(_messages.Message):
  r"""Request message for VertexRagDataService.UploadRagFile.

  Fields:
    ragFile: Required. The RagFile to upload.
    uploadRagFileConfig: Required. The config for the RagFiles to be uploaded
      into the RagCorpus. VertexRagDataService.UploadRagFile.
  """

  ragFile = _messages.MessageField('GoogleCloudAiplatformV1RagFile', 1)
  uploadRagFileConfig = _messages.MessageField('GoogleCloudAiplatformV1UploadRagFileConfig', 2)


class GoogleCloudAiplatformV1UploadRagFileResponse(_messages.Message):
  r"""Response message for VertexRagDataService.UploadRagFile.

  Fields:
    error: The error that occurred while processing the RagFile.
    ragFile: The RagFile that had been uploaded into the RagCorpus.
  """

  error = _messages.MessageField('GoogleRpcStatus', 1)
  ragFile = _messages.MessageField('GoogleCloudAiplatformV1RagFile', 2)


class GoogleCloudAiplatformV1UpsertDatapointsRequest(_messages.Message):
  r"""Request message for IndexService.UpsertDatapoints

  Fields:
    datapoints: A list of datapoints to be created/updated.
    updateMask: Optional. Update mask is used to specify the fields to be
      overwritten in the datapoints by the update. The fields specified in the
      update_mask are relative to each IndexDatapoint inside datapoints, not
      the full request. Updatable fields: * Use `all_restricts` to update both
      restricts and numeric_restricts.
  """

  datapoints = _messages.MessageField('GoogleCloudAiplatformV1IndexDatapoint', 1, repeated=True)
  updateMask = _messages.StringField(2)


class GoogleCloudAiplatformV1UpsertDatapointsResponse(_messages.Message):
  r"""Response message for IndexService.UpsertDatapoints"""


class GoogleCloudAiplatformV1UrlContext(_messages.Message):
  r"""Tool to support URL context."""


class GoogleCloudAiplatformV1UrlContextMetadata(_messages.Message):
  r"""Metadata returned when the model uses the `url_context` tool to get
  information from a user-provided URL.

  Fields:
    urlMetadata: Output only. A list of URL metadata, with one entry for each
      URL retrieved by the tool.
  """

  urlMetadata = _messages.MessageField('GoogleCloudAiplatformV1UrlMetadata', 1, repeated=True)


class GoogleCloudAiplatformV1UrlMetadata(_messages.Message):
  r"""The metadata for a single URL retrieval.

  Enums:
    UrlRetrievalStatusValueValuesEnum: The status of the URL retrieval.

  Fields:
    retrievedUrl: The URL retrieved by the tool.
    urlRetrievalStatus: The status of the URL retrieval.
  """

  class UrlRetrievalStatusValueValuesEnum(_messages.Enum):
    r"""The status of the URL retrieval.

    Values:
      URL_RETRIEVAL_STATUS_UNSPECIFIED: Default value. This value is unused.
      URL_RETRIEVAL_STATUS_SUCCESS: The URL was retrieved successfully.
      URL_RETRIEVAL_STATUS_ERROR: The URL retrieval failed.
    """
    URL_RETRIEVAL_STATUS_UNSPECIFIED = 0
    URL_RETRIEVAL_STATUS_SUCCESS = 1
    URL_RETRIEVAL_STATUS_ERROR = 2

  retrievedUrl = _messages.StringField(1)
  urlRetrievalStatus = _messages.EnumField('UrlRetrievalStatusValueValuesEnum', 2)


class GoogleCloudAiplatformV1UsageMetadata(_messages.Message):
  r"""Usage metadata about the content generation request and response. This
  message provides a detailed breakdown of token usage and other relevant
  metrics.

  Enums:
    TrafficTypeValueValuesEnum: Output only. The traffic type for this
      request.

  Fields:
    cacheTokensDetails: Output only. A detailed breakdown of the token count
      for each modality in the cached content.
    cachedContentTokenCount: Output only. The number of tokens in the cached
      content that was used for this request.
    candidatesTokenCount: The total number of tokens in the generated
      candidates.
    candidatesTokensDetails: Output only. A detailed breakdown of the token
      count for each modality in the generated candidates.
    promptTokenCount: The total number of tokens in the prompt. This includes
      any text, images, or other media provided in the request. When
      `cached_content` is set, this also includes the number of tokens in the
      cached content.
    promptTokensDetails: Output only. A detailed breakdown of the token count
      for each modality in the prompt.
    thoughtsTokenCount: Output only. The number of tokens that were part of
      the model's generated "thoughts" output, if applicable.
    toolUsePromptTokenCount: Output only. The number of tokens in the results
      from tool executions, which are provided back to the model as input, if
      applicable.
    toolUsePromptTokensDetails: Output only. A detailed breakdown by modality
      of the token counts from the results of tool executions, which are
      provided back to the model as input.
    totalTokenCount: The total number of tokens for the entire request. This
      is the sum of `prompt_token_count`, `candidates_token_count`,
      `tool_use_prompt_token_count`, and `thoughts_token_count`.
    trafficType: Output only. The traffic type for this request.
  """

  class TrafficTypeValueValuesEnum(_messages.Enum):
    r"""Output only. The traffic type for this request.

    Values:
      TRAFFIC_TYPE_UNSPECIFIED: Unspecified request traffic type.
      ON_DEMAND: Type for Pay-As-You-Go traffic.
      ON_DEMAND_PRIORITY: Type for Priority Pay-As-You-Go traffic.
      ON_DEMAND_FLEX: Type for Flex traffic.
      PROVISIONED_THROUGHPUT: Type for Provisioned Throughput traffic.
    """
    TRAFFIC_TYPE_UNSPECIFIED = 0
    ON_DEMAND = 1
    ON_DEMAND_PRIORITY = 2
    ON_DEMAND_FLEX = 3
    PROVISIONED_THROUGHPUT = 4

  cacheTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 1, repeated=True)
  cachedContentTokenCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  candidatesTokenCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  candidatesTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 4, repeated=True)
  promptTokenCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)
  promptTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 6, repeated=True)
  thoughtsTokenCount = _messages.IntegerField(7, variant=_messages.Variant.INT32)
  toolUsePromptTokenCount = _messages.IntegerField(8, variant=_messages.Variant.INT32)
  toolUsePromptTokensDetails = _messages.MessageField('GoogleCloudAiplatformV1ModalityTokenCount', 9, repeated=True)
  totalTokenCount = _messages.IntegerField(10, variant=_messages.Variant.INT32)
  trafficType = _messages.EnumField('TrafficTypeValueValuesEnum', 11)


class GoogleCloudAiplatformV1UserActionReference(_messages.Message):
  r"""References an API call. It contains more information about long running
  operation and Jobs that are triggered by the API call.

  Fields:
    dataLabelingJob: For API calls that start a LabelingJob. Resource name of
      the LabelingJob. Format: `projects/{project}/locations/{location}/dataLa
      belingJobs/{data_labeling_job}`
    method: The method name of the API RPC call. For example,
      "/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset"
    operation: For API calls that return a long running operation. Resource
      name of the long running operation. Format:
      `projects/{project}/locations/{location}/operations/{operation}`
  """

  dataLabelingJob = _messages.StringField(1)
  method = _messages.StringField(2)
  operation = _messages.StringField(3)


class GoogleCloudAiplatformV1Value(_messages.Message):
  r"""Value is the value of the field.

  Fields:
    doubleValue: A double value.
    intValue: An integer value.
    stringValue: A string value.
  """

  doubleValue = _messages.FloatField(1)
  intValue = _messages.IntegerField(2)
  stringValue = _messages.StringField(3)


class GoogleCloudAiplatformV1VertexAISearch(_messages.Message):
  r"""Retrieve from Vertex AI Search datastore or engine for grounding.
  datastore and engine are mutually exclusive. See
  https://cloud.google.com/products/agent-builder

  Fields:
    dataStoreSpecs: Specifications that define the specific DataStores to be
      searched, along with configurations for those data stores. This is only
      considered for Engines with multiple data stores. It should only be set
      if engine is used.
    datastore: Optional. Fully-qualified Vertex AI Search data store resource
      ID. Format: `projects/{project}/locations/{location}/collections/{collec
      tion}/dataStores/{dataStore}`
    engine: Optional. Fully-qualified Vertex AI Search engine resource ID.
      Format: `projects/{project}/locations/{location}/collections/{collection
      }/engines/{engine}`
    filter: Optional. Filter strings to be passed to the search API.
    maxResults: Optional. Number of search results to return per query. The
      default value is 10. The maximumm allowed value is 10.
  """

  dataStoreSpecs = _messages.MessageField('GoogleCloudAiplatformV1VertexAISearchDataStoreSpec', 1, repeated=True)
  datastore = _messages.StringField(2)
  engine = _messages.StringField(3)
  filter = _messages.StringField(4)
  maxResults = _messages.IntegerField(5, variant=_messages.Variant.INT32)


class GoogleCloudAiplatformV1VertexAISearchDataStoreSpec(_messages.Message):
  r"""Define data stores within engine to filter on in a search call and
  configurations for those data stores. For more information, see
  https://cloud.google.com/generative-ai-app-
  builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec

  Fields:
    dataStore: Full resource name of DataStore, such as Format: `projects/{pro
      ject}/locations/{location}/collections/{collection}/dataStores/{dataStor
      e}`
    filter: Optional. Filter specification to filter documents in the data
      store specified by data_store field. For more information on filtering,
      see [Filtering](https://cloud.google.com/generative-ai-app-
      builder/docs/filter-search-metadata)
  """

  dataStore = _messages.StringField(1)
  filter = _messages.StringField(2)


class GoogleCloudAiplatformV1VertexAiSearchConfig(_messages.Message):
  r"""Config for the Vertex AI Search.

  Fields:
    servingConfig: Vertex AI Search Serving Config resource full name. For
      example, `projects/{project}/locations/{location}/collections/{collectio
      n}/engines/{engine}/servingConfigs/{serving_config}` or `projects/{proje
      ct}/locations/{location}/collections/{collection}/dataStores/{data_store
      }/servingConfigs/{serving_config}`.
  """

  servingConfig = _messages.StringField(1)


class GoogleCloudAiplatformV1VertexMultimodalDatasetDestination(_messages.Message):
  r"""The details for a Vertex Multimodal Dataset output.

  Fields:
    bigqueryDestination: Optional. The destination of the underlying BigQuery
      table that will be created for the output Multimodal Dataset. If not
      specified, the BigQuery table will be created in a default BigQuery
      dataset.
    displayName: Optional. Display name of the output dataset.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudAiplatformV1BigQueryDestination', 1)
  displayName = _messages.StringField(2)


class GoogleCloudAiplatformV1VertexMultimodalDatasetSource(_messages.Message):
  r"""The Vertex Multimodal Dataset for the input content.

  Fields:
    datasetName: Required. The resource name of the Vertex Dataset. Format:
      `projects/{project}/locations/{location}/datasets/{dataset}`
  """

  datasetName = _messages.StringField(1)


class GoogleCloudAiplatformV1VertexRagStore(_messages.Message):
  r"""Retrieve from Vertex RAG Store for grounding.

  Fields:
    ragResources: Optional. The representation of the rag source. It can be
      used to specify corpus only or ragfiles. Currently only support one
      corpus or multiple files from one corpus. In the future we may open up
      multiple corpora support.
    ragRetrievalConfig: Optional. The retrieval config for the Rag query.
    similarityTopK: Optional. Number of top k results to return from the
      selected corpora.
    vectorDistanceThreshold: Optional. Only return results with vector
      distance smaller than the threshold.
  """

  ragResources = _messages.MessageField('GoogleCloudAiplatformV1VertexRagStoreRagResource', 1, repeated=True)
  ragRetrievalConfig = _messages.MessageField('GoogleCloudAiplatformV1RagRetrievalConfig', 2)
  similarityTopK = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  vectorDistanceThreshold = _messages.FloatField(4)


class GoogleCloudAiplatformV1VertexRagStoreRagResource(_messages.Message):
  r"""The definition of the Rag resource.

  Fields:
    ragCorpus: Optional. RagCorpora resource name. Format:
      `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
    ragFileIds: Optional. rag_file_id. The files should be in the same
      rag_corpus set in rag_corpus field.
  """

  ragCorpus = _messages.StringField(1)
  ragFileIds = _messages.StringField(2, repeated=True)


class GoogleCloudAiplatformV1VideoMetadata(_messages.Message):
  r"""Provides metadata for a video, including the start and end offsets for
  clipping and the frame rate.

  Fields:
    endOffset: Optional. The end offset of the video.
    fps: Optional. The frame rate of the video sent to the model. If not
      specified, the default value is 1.0. The valid range is (0.0, 24.0].
    startOffset: Optional. The start offset of the video.
  """

  endOffset = _messages.StringField(1)
  fps = _messages.FloatField(2)
  startOffset = _messages.StringField(3)


class GoogleCloudAiplatformV1VoiceConfig(_messages.Message):
  r"""Configuration for a voice.

  Fields:
    prebuiltVoiceConfig: The configuration for a prebuilt voice.
    replicatedVoiceConfig: Optional. The configuration for a replicated voice.
      This enables users to replicate a voice from an audio sample.
  """

  prebuiltVoiceConfig = _messages.MessageField('GoogleCloudAiplatformV1PrebuiltVoiceConfig', 1)
  replicatedVoiceConfig = _messages.MessageField('GoogleCloudAiplatformV1ReplicatedVoiceConfig', 2)


class GoogleCloudAiplatformV1WorkerPoolSpec(_messages.Message):
  r"""Represents the spec of a worker pool in a job.

  Fields:
    containerSpec: The custom container task.
    diskSpec: Disk spec.
    lustreMounts: Optional. List of Lustre mounts.
    machineSpec: Optional. Immutable. The specification of a single machine.
    nfsMounts: Optional. List of NFS mount spec.
    pythonPackageSpec: The Python packaged task.
    replicaCount: Optional. The number of worker replicas to use for this
      worker pool.
  """

  containerSpec = _messages.MessageField('GoogleCloudAiplatformV1ContainerSpec', 1)
  diskSpec = _messages.MessageField('GoogleCloudAiplatformV1DiskSpec', 2)
  lustreMounts = _messages.MessageField('GoogleCloudAiplatformV1LustreMount', 3, repeated=True)
  machineSpec = _messages.MessageField('GoogleCloudAiplatformV1MachineSpec', 4)
  nfsMounts = _messages.MessageField('GoogleCloudAiplatformV1NfsMount', 5, repeated=True)
  pythonPackageSpec = _messages.MessageField('GoogleCloudAiplatformV1PythonPackageSpec', 6)
  replicaCount = _messages.IntegerField(7)


class GoogleCloudAiplatformV1WriteFeatureValuesPayload(_messages.Message):
  r"""Contains Feature values to be written for a specific entity.

  Messages:
    FeatureValuesValue: Required. Feature values to be written, mapping from
      Feature ID to value. Up to 100,000 `feature_values` entries may be
      written across all payloads. The feature generation time, aligned by
      days, must be no older than five years (1825 days) and no later than one
      year (366 days) in the future.

  Fields:
    entityId: Required. The ID of the entity.
    featureValues: Required. Feature values to be written, mapping from
      Feature ID to value. Up to 100,000 `feature_values` entries may be
      written across all payloads. The feature generation time, aligned by
      days, must be no older than five years (1825 days) and no later than one
      year (366 days) in the future.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class FeatureValuesValue(_messages.Message):
    r"""Required. Feature values to be written, mapping from Feature ID to
    value. Up to 100,000 `feature_values` entries may be written across all
    payloads. The feature generation time, aligned by days, must be no older
    than five years (1825 days) and no later than one year (366 days) in the
    future.

    Messages:
      AdditionalProperty: An additional property for a FeatureValuesValue
        object.

    Fields:
      additionalProperties: Additional properties of type FeatureValuesValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a FeatureValuesValue object.

      Fields:
        key: Name of the additional property.
        value: A GoogleCloudAiplatformV1FeatureValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('GoogleCloudAiplatformV1FeatureValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  entityId = _messages.StringField(1)
  featureValues = _messages.MessageField('FeatureValuesValue', 2)


class GoogleCloudAiplatformV1WriteFeatureValuesRequest(_messages.Message):
  r"""Request message for FeaturestoreOnlineServingService.WriteFeatureValues.

  Fields:
    payloads: Required. The entities to be written. Up to 100,000 feature
      values can be written across all `payloads`.
  """

  payloads = _messages.MessageField('GoogleCloudAiplatformV1WriteFeatureValuesPayload', 1, repeated=True)


class GoogleCloudAiplatformV1WriteFeatureValuesResponse(_messages.Message):
  r"""Response message for
  FeaturestoreOnlineServingService.WriteFeatureValues.
  """



class GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest(_messages.Message):
  r"""Request message for TensorboardService.WriteTensorboardExperimentData.

  Fields:
    writeRunDataRequests: Required. Requests containing per-run
      TensorboardTimeSeries data to write.
  """

  writeRunDataRequests = _messages.MessageField('GoogleCloudAiplatformV1WriteTensorboardRunDataRequest', 1, repeated=True)


class GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse(_messages.Message):
  r"""Response message for TensorboardService.WriteTensorboardExperimentData.
  """



class GoogleCloudAiplatformV1WriteTensorboardRunDataRequest(_messages.Message):
  r"""Request message for TensorboardService.WriteTensorboardRunData.

  Fields:
    tensorboardRun: Required. The resource name of the TensorboardRun to write
      data to. Format: `projects/{project}/locations/{location}/tensorboards/{
      tensorboard}/experiments/{experiment}/runs/{run}`
    timeSeriesData: Required. The TensorboardTimeSeries data to write. Values
      with in a time series are indexed by their step value. Repeated writes
      to the same step will overwrite the existing value for that step. The
      upper limit of data points per write request is 5000.
  """

  tensorboardRun = _messages.StringField(1)
  timeSeriesData = _messages.MessageField('GoogleCloudAiplatformV1TimeSeriesData', 2, repeated=True)


class GoogleCloudAiplatformV1WriteTensorboardRunDataResponse(_messages.Message):
  r"""Response message for TensorboardService.WriteTensorboardRunData."""


class GoogleCloudAiplatformV1XraiAttribution(_messages.Message):
  r"""An explanation method that redistributes Integrated Gradients
  attributions to segmented regions, taking advantage of the model's fully
  differentiable structure. Refer to this paper for more details:
  https://arxiv.org/abs/1906.02825 Supported only by image Models.

  Fields:
    blurBaselineConfig: Config for XRAI with blur baseline. When enabled, a
      linear path from the maximally blurred image to the input image is
      created. Using a blurred baseline instead of zero (black image) is
      motivated by the BlurIG approach explained here:
      https://arxiv.org/abs/2004.03383
    smoothGradConfig: Config for SmoothGrad approximation of gradients. When
      enabled, the gradients are approximated by averaging the gradients from
      noisy samples in the vicinity of the inputs. Adding noise can help
      improve the computed gradients. Refer to this paper for more details:
      https://arxiv.org/pdf/1706.03825.pdf
    stepCount: Required. The number of steps for approximating the path
      integral. A good value to start is 50 and gradually increase until the
      sum to diff property is met within the desired error range. Valid range
      of its value is [1, 100], inclusively.
  """

  blurBaselineConfig = _messages.MessageField('GoogleCloudAiplatformV1BlurBaselineConfig', 1)
  smoothGradConfig = _messages.MessageField('GoogleCloudAiplatformV1SmoothGradConfig', 2)
  stepCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleIamV1Binding(_messages.Message):
  r"""Associates `members`, or principals, with a `role`.

  Fields:
    condition: The condition that is associated with this binding. If the
      condition evaluates to `true`, then this binding applies to the current
      request. If the condition evaluates to `false`, then this binding does
      not apply to the current request. However, a different role binding
      might grant the same role to one or more of the principals in this
      binding. To learn which resources support conditions in their IAM
      policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
    members: Specifies the principals requesting access for a Google Cloud
      resource. `members` can have the following values: * `allUsers`: A
      special identifier that represents anyone who is on the internet; with
      or without a Google account. * `allAuthenticatedUsers`: A special
      identifier that represents anyone who is authenticated with a Google
      account or a service account. Does not include identities that come from
      external identity providers (IdPs) through identity federation. *
      `user:{emailid}`: An email address that represents a specific Google
      account. For example, `alice@example.com` . *
      `serviceAccount:{emailid}`: An email address that represents a Google
      service account. For example, `my-other-
      app@appspot.gserviceaccount.com`. *
      `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`:
      An identifier for a [Kubernetes service
      account](https://cloud.google.com/kubernetes-engine/docs/how-
      to/kubernetes-service-accounts). For example, `my-
      project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
      `group:{emailid}`: An email address that represents a Google group. For
      example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
      (primary) that represents all the users of that domain. For example,
      `google.com` or `example.com`. * `principal://iam.googleapis.com/locatio
      ns/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A
      single identity in a workforce identity pool. * `principalSet://iam.goog
      leapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
      All workforce identities in a group. * `principalSet://iam.googleapis.co
      m/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{
      attribute_value}`: All workforce identities with a specific attribute
      value. * `principalSet://iam.googleapis.com/locations/global/workforcePo
      ols/{pool_id}/*`: All identities in a workforce identity pool. * `princi
      pal://iam.googleapis.com/projects/{project_number}/locations/global/work
      loadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
      identity in a workload identity pool. * `principalSet://iam.googleapis.c
      om/projects/{project_number}/locations/global/workloadIdentityPools/{poo
      l_id}/group/{group_id}`: A workload identity pool group. * `principalSet
      ://iam.googleapis.com/projects/{project_number}/locations/global/workloa
      dIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
      All identities in a workload identity pool with a certain attribute. * `
      principalSet://iam.googleapis.com/projects/{project_number}/locations/gl
      obal/workloadIdentityPools/{pool_id}/*`: All identities in a workload
      identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email
      address (plus unique identifier) representing a user that has been
      recently deleted. For example,
      `alice@example.com?uid=123456789012345678901`. If the user is recovered,
      this value reverts to `user:{emailid}` and the recovered user retains
      the role in the binding. *
      `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
      (plus unique identifier) representing a service account that has been
      recently deleted. For example, `my-other-
      app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
      service account is undeleted, this value reverts to
      `serviceAccount:{emailid}` and the undeleted service account retains the
      role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An
      email address (plus unique identifier) representing a Google group that
      has been recently deleted. For example,
      `admins@example.com?uid=123456789012345678901`. If the group is
      recovered, this value reverts to `group:{emailid}` and the recovered
      group retains the role in the binding. * `deleted:principal://iam.google
      apis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attr
      ibute_value}`: Deleted single identity in a workforce identity pool. For
      example, `deleted:principal://iam.googleapis.com/locations/global/workfo
      rcePools/my-pool-id/subject/my-subject-attribute-value`.
    role: Role that is assigned to the list of `members`, or principals. For
      example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an
      overview of the IAM roles and permissions, see the [IAM
      documentation](https://cloud.google.com/iam/docs/roles-overview). For a
      list of the available pre-defined roles, see
      [here](https://cloud.google.com/iam/docs/understanding-roles).
  """

  condition = _messages.MessageField('GoogleTypeExpr', 1)
  members = _messages.StringField(2, repeated=True)
  role = _messages.StringField(3)


class GoogleIamV1Policy(_messages.Message):
  r"""An Identity and Access Management (IAM) policy, which specifies access
  controls for Google Cloud resources. A `Policy` is a collection of
  `bindings`. A `binding` binds one or more `members`, or principals, to a
  single `role`. Principals can be user accounts, service accounts, Google
  groups, and domains (such as G Suite). A `role` is a named list of
  permissions; each `role` can be an IAM predefined role or a user-created
  custom role. For some types of Google Cloud resources, a `binding` can also
  specify a `condition`, which is a logical expression that allows access to a
  resource only if the expression evaluates to `true`. A condition can add
  constraints based on attributes of the request, the resource, or both. To
  learn which resources support conditions in their IAM policies, see the [IAM
  documentation](https://cloud.google.com/iam/help/conditions/resource-
  policies). **JSON example:** ``` { "bindings": [ { "role":
  "roles/resourcemanager.organizationAdmin", "members": [
  "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  "roles/resourcemanager.organizationViewer", "members": [
  "user:eve@example.com" ], "condition": { "title": "expirable access",
  "description": "Does not grant access after Sep 2020", "expression":
  "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  members: - user:mike@example.com - group:admins@example.com -
  domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  role: roles/resourcemanager.organizationAdmin - members: -
  user:eve@example.com role: roles/resourcemanager.organizationViewer
  condition: title: expirable access description: Does not grant access after
  Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  see the [IAM documentation](https://cloud.google.com/iam/docs/).

  Fields:
    bindings: Associates a list of `members`, or principals, with a `role`.
      Optionally, may specify a `condition` that determines how and when the
      `bindings` are applied. Each of the `bindings` must contain at least one
      principal. The `bindings` in a `Policy` can refer to up to 1,500
      principals; up to 250 of these principals can be Google groups. Each
      occurrence of a principal counts towards these limits. For example, if
      the `bindings` grant 50 different roles to `user:alice@example.com`, and
      not to any other principal, then you can add another 1,450 principals to
      the `bindings` in the `Policy`.
    etag: `etag` is used for optimistic concurrency control as a way to help
      prevent simultaneous updates of a policy from overwriting each other. It
      is strongly suggested that systems make use of the `etag` in the read-
      modify-write cycle to perform policy updates in order to avoid race
      conditions: An `etag` is returned in the response to `getIamPolicy`, and
      systems are expected to put that etag in the request to `setIamPolicy`
      to ensure that their change will be applied to the same version of the
      policy. **Important:** If you use IAM Conditions, you must include the
      `etag` field whenever you call `setIamPolicy`. If you omit this field,
      then IAM allows you to overwrite a version `3` policy with a version `1`
      policy, and all of the conditions in the version `3` policy are lost.
    version: Specifies the format of the policy. Valid values are `0`, `1`,
      and `3`. Requests that specify an invalid value are rejected. Any
      operation that affects conditional role bindings must specify version
      `3`. This requirement applies to the following operations: * Getting a
      policy that includes a conditional role binding * Adding a conditional
      role binding to a policy * Changing a conditional role binding in a
      policy * Removing any role binding, with or without a condition, from a
      policy that includes conditions **Important:** If you use IAM
      Conditions, you must include the `etag` field whenever you call
      `setIamPolicy`. If you omit this field, then IAM allows you to overwrite
      a version `3` policy with a version `1` policy, and all of the
      conditions in the version `3` policy are lost. If a policy does not
      include any conditions, operations on that policy may specify any valid
      version or leave the field unset. To learn which resources support
      conditions in their IAM policies, see the [IAM
      documentation](https://cloud.google.com/iam/help/conditions/resource-
      policies).
  """

  bindings = _messages.MessageField('GoogleIamV1Binding', 1, repeated=True)
  etag = _messages.BytesField(2)
  version = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleIamV1SetIamPolicyRequest(_messages.Message):
  r"""Request message for `SetIamPolicy` method.

  Fields:
    policy: REQUIRED: The complete policy to be applied to the `resource`. The
      size of the policy is limited to a few 10s of KB. An empty policy is a
      valid policy but certain Google Cloud services (such as Projects) might
      reject them.
  """

  policy = _messages.MessageField('GoogleIamV1Policy', 1)


class GoogleIamV1TestIamPermissionsResponse(_messages.Message):
  r"""Response message for `TestIamPermissions` method.

  Fields:
    permissions: A subset of `TestPermissionsRequest.permissions` that the
      caller is allowed.
  """

  permissions = _messages.StringField(1, repeated=True)


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.
    unreachable: Unordered list. Unreachable resources. Populated when the
      request sets `ListOperationsRequest.return_partial_success` and reads
      across collections. For example, when attempting to list all resources
      across all supported locations.
  """

  nextPageToken = _messages.StringField(1)
  operations = _messages.MessageField('GoogleLongrunningOperation', 2, repeated=True)
  unreachable = _messages.StringField(3, 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, successful response of the operation. 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, successful response of the operation. 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, successful response of the operation. 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); }
  """



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 GoogleTypeColor(_messages.Message):
  r"""Represents a color in the RGBA color space. This representation is
  designed for simplicity of conversion to and from color representations in
  various languages over compactness. For example, the fields of this
  representation can be trivially provided to the constructor of
  `java.awt.Color` in Java; it can also be trivially provided to UIColor's
  `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little
  work, it can be easily formatted into a CSS `rgba()` string in JavaScript.
  This reference page doesn't have information about the absolute color space
  that should be used to interpret the RGB value-for example, sRGB, Adobe RGB,
  DCI-P3, and BT.2020. By default, applications should assume the sRGB color
  space. When color equality needs to be decided, implementations, unless
  documented otherwise, treat two colors as equal if all their red, green,
  blue, and alpha values each differ by at most `1e-5`. Example (Java): import
  com.google.type.Color; // ... public static java.awt.Color fromProto(Color
  protocolor) { float alpha = protocolor.hasAlpha() ?
  protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(
  protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); }
  public static Color toProto(java.awt.Color color) { float red = (float)
  color.getRed(); float green = (float) color.getGreen(); float blue = (float)
  color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder =
  Color .newBuilder() .setRed(red / denominator) .setGreen(green /
  denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if
  (alpha != 255) { result.setAlpha( FloatValue .newBuilder()
  .setValue(((float) alpha) / denominator) .build()); } return
  resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static
  UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float
  green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
  alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
  nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red
  green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color)
  { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green
  blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc]
  init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue];
  if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; }
  [result autorelease]; return result; } // ... Example (JavaScript): // ...
  var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red ||
  0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue
  || 0.0; var red = Math.floor(redFrac * 255); var green =
  Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if
  (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var
  alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green,
  blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
  }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new
  Number((red << 16) | (green << 8) | blue); var hexString =
  rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
  resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) {
  resultBuilder.push('0'); } resultBuilder.push(hexString); return
  resultBuilder.join(''); }; // ...

  Fields:
    alpha: The fraction of this color that should be applied to the pixel.
      That is, the final pixel color is defined by the equation: `pixel color
      = alpha * (this color) + (1.0 - alpha) * (background color)` This means
      that a value of 1.0 corresponds to a solid color, whereas a value of 0.0
      corresponds to a completely transparent color. This uses a wrapper
      message rather than a simple float scalar so that it is possible to
      distinguish between a default value and the value being unset. If
      omitted, this color object is rendered as a solid color (as if the alpha
      value had been explicitly given a value of 1.0).
    blue: The amount of blue in the color as a value in the interval [0, 1].
    green: The amount of green in the color as a value in the interval [0, 1].
    red: The amount of red in the color as a value in the interval [0, 1].
  """

  alpha = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
  blue = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
  green = _messages.FloatField(3, variant=_messages.Variant.FLOAT)
  red = _messages.FloatField(4, variant=_messages.Variant.FLOAT)


class GoogleTypeDate(_messages.Message):
  r"""Represents a whole or partial calendar date, such as a birthday. The
  time of day and time zone are either specified elsewhere or are
  insignificant. The date is relative to the Gregorian Calendar. This can
  represent one of the following: * A full date, with non-zero year, month,
  and day values. * A month and day, with a zero year (for example, an
  anniversary). * A year on its own, with a zero month and a zero day. * A
  year and month, with a zero day (for example, a credit card expiration
  date). Related types: * google.type.TimeOfDay * google.type.DateTime *
  google.protobuf.Timestamp

  Fields:
    day: Day of a month. Must be from 1 to 31 and valid for the year and
      month, or 0 to specify a year by itself or a year and month where the
      day isn't significant.
    month: Month of a year. Must be from 1 to 12, or 0 to specify a year
      without a month and day.
    year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
      without a year.
  """

  day = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  month = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  year = _messages.IntegerField(3, variant=_messages.Variant.INT32)


class GoogleTypeExpr(_messages.Message):
  r"""Represents a textual expression in the Common Expression Language (CEL)
  syntax. CEL is a C-like expression language. The syntax and semantics of CEL
  are documented at https://github.com/google/cel-spec. Example (Comparison):
  title: "Summary size limit" description: "Determines if a summary is less
  than 100 chars" expression: "document.summary.size() < 100" Example
  (Equality): title: "Requestor is owner" description: "Determines if
  requestor is the document owner" expression: "document.owner ==
  request.auth.claims.email" Example (Logic): title: "Public documents"
  description: "Determine whether the document should be publicly visible"
  expression: "document.type != 'private' && document.type != 'internal'"
  Example (Data Manipulation): title: "Notification string" description:
  "Create a notification string with a timestamp." expression: "'New message
  received at ' + string(document.create_time)" The exact variables and
  functions that may be referenced within an expression are determined by the
  service that evaluates it. See the service documentation for additional
  information.

  Fields:
    description: Optional. Description of the expression. This is a longer
      text which describes the expression, e.g. when hovered over it in a UI.
    expression: Textual representation of an expression in Common Expression
      Language syntax.
    location: Optional. String indicating the location of the expression for
      error reporting, e.g. a file name and a position in the file.
    title: Optional. Title for the expression, i.e. a short string describing
      its purpose. This can be used e.g. in UIs which allow to enter the
      expression.
  """

  description = _messages.StringField(1)
  expression = _messages.StringField(2)
  location = _messages.StringField(3)
  title = _messages.StringField(4)


class GoogleTypeInterval(_messages.Message):
  r"""Represents a time interval, encoded as a Timestamp start (inclusive) and
  a Timestamp end (exclusive). The start must be less than or equal to the
  end. When the start equals the end, the interval is empty (matches no time).
  When both start and end are unspecified, the interval matches any time.

  Fields:
    endTime: Optional. Exclusive end of the interval. If specified, a
      Timestamp matching this interval will have to be before the end.
    startTime: Required. Inclusive start of the interval. If specified, a
      Timestamp matching this interval will have to be the same or after the
      start.
  """

  endTime = _messages.StringField(1)
  startTime = _messages.StringField(2)


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(
    GoogleCloudAiplatformV1Probe, 'exec_', 'exec')
encoding.AddCustomJsonFieldMapping(
    StandardQueryParameters, 'f__xgafv', '$.xgafv')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsDatasetsSearchDataItemsRequest, 'orderByAnnotation_orderBy', 'orderByAnnotation.orderBy')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsDatasetsSearchDataItemsRequest, 'orderByAnnotation_savedQuery', 'orderByAnnotation.savedQuery')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsFeatureGroupsGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsFeatureOnlineStoresGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsFeatureOnlineStoresFeatureViewsGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsFeaturestoresGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsFeaturestoresEntityTypesGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsModelsGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
encoding.AddCustomJsonFieldMapping(
    AiplatformProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyRequest, 'options_requestedPolicyVersion', 'options.requestedPolicyVersion')
