---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# gcp_aiplatform_batch_prediction_job{% #gcp_aiplatform_batch_prediction_job %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `completion_stats`{% #completion_stats %}

**Type**: `STRUCT`**Provider name**: `completionStats`**Description**: Output only. Statistics on completed and failed prediction instances.

- `failed_count`**Type**: `INT64`**Provider name**: `failedCount`**Description**: Output only. The number of entities for which any error was encountered.
- `incomplete_count`**Type**: `INT64`**Provider name**: `incompleteCount`**Description**: 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).
- `successful_count`**Type**: `INT64`**Provider name**: `successfulCount`**Description**: Output only. The number of entities that had been processed successfully.
- `successful_forecast_point_count`**Type**: `INT64`**Provider name**: `successfulForecastPointCount`**Description**: 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.

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. Time when the BatchPredictionJob was created.

## `dedicated_resources`{% #dedicated_resources %}

**Type**: `STRUCT`**Provider name**: `dedicatedResources`**Description**: 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.

- `machine_spec`**Type**: `STRUCT`**Provider name**: `machineSpec`**Description**: Required. Immutable. The specification of a single machine.
  - `accelerator_count`**Type**: `INT32`**Provider name**: `acceleratorCount`**Description**: The number of accelerators to attach to the machine.
  - `accelerator_type`**Type**: `STRING`**Provider name**: `acceleratorType`**Description**: Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.**Possible 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](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.
    - `TPU_V2` - TPU v2.
    - `TPU_V3` - TPU v3.
    - `TPU_V4_POD` - TPU v4.
    - `TPU_V5_LITEPOD` - TPU v5.
  - `machine_type`**Type**: `STRING`**Provider name**: `machineType`**Description**: Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/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.
  - `reservation_affinity`**Type**: `STRUCT`**Provider name**: `reservationAffinity`**Description**: Optional. Immutable. Configuration controlling how this resource pool consumes reservation.
    - `key`**Type**: `STRING`**Provider name**: `key`**Description**: 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.
    - `reservation_affinity_type`**Type**: `STRING`**Provider name**: `reservationAffinityType`**Description**: Required. Specifies the reservation affinity type.**Possible 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.
    - `values`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `values`**Description**: Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
  - `tpu_topology`**Type**: `STRING`**Provider name**: `tpuTopology`**Description**: Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
- `max_replica_count`**Type**: `INT32`**Provider name**: `maxReplicaCount`**Description**: Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10.
- `starting_replica_count`**Type**: `INT32`**Provider name**: `startingReplicaCount`**Description**: Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count

## `disable_container_logging`{% #disable_container_logging %}

**Type**: `BOOLEAN`**Provider name**: `disableContainerLogging`**Description**: 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.

## `encryption_spec`{% #encryption_spec %}

**Type**: `STRUCT`**Provider name**: `encryptionSpec`**Description**: 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.

- `kms_key_name`**Type**: `STRING`**Provider name**: `kmsKeyName`**Description**: Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created.

## `end_time`{% #end_time %}

**Type**: `TIMESTAMP`**Provider name**: `endTime`**Description**: Output only. Time when the BatchPredictionJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.

## `error`{% #error %}

**Type**: `STRUCT`**Provider name**: `error`**Description**: Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.

- `code`**Type**: `INT32`**Provider name**: `code`**Description**: The status code, which should be an enum value of google.rpc.Code.
- `message`**Type**: `STRING`**Provider name**: `message`**Description**: 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.

## `explanation_spec`{% #explanation_spec %}

**Type**: `STRUCT`**Provider name**: `explanationSpec`**Description**: 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.

- `metadata`**Type**: `STRUCT`**Provider name**: `metadata`**Description**: Optional. Metadata describing the Model's input and output for explanation.
  - `feature_attributions_schema_uri`**Type**: `STRING`**Provider name**: `featureAttributionsSchemaUri`**Description**: 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.
  - `latent_space_source`**Type**: `STRING`**Provider name**: `latentSpaceSource`**Description**: Name of the source to generate embeddings for example based explanations.
- `parameters`**Type**: `STRUCT`**Provider name**: `parameters`**Description**: Required. Parameters that configure explaining of the Model's predictions.
  - `examples`**Type**: `STRUCT`**Provider name**: `examples`**Description**: Example-based explanations that returns the nearest neighbors from the provided dataset.
    - `example_gcs_source`**Type**: `STRUCT`**Provider name**: `exampleGcsSource`**Description**: The Cloud Storage input instances.
      - `data_format`**Type**: `STRING`**Provider name**: `dataFormat`**Description**: The format in which instances are given, if not specified, assume it's JSONL format. Currently only JSONL format is supported.**Possible values**:
        - `DATA_FORMAT_UNSPECIFIED` - Format unspecified, used when unset.
        - `JSONL` - Examples are stored in JSONL files.
      - `gcs_source`**Type**: `STRUCT`**Provider name**: `gcsSource`**Description**: The Cloud Storage location for the input instances.
        - `uris`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `uris`**Description**: 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](https://cloud.google.com/storage/docs/wildcards).
    - `neighbor_count`**Type**: `INT32`**Provider name**: `neighborCount`**Description**: The number of neighbors to return when querying for examples.
    - `presets`**Type**: `STRUCT`**Provider name**: `presets`**Description**: Simplified preset configuration, which automatically sets configuration values based on the desired query speed-precision trade-off and modality.
      - `modality`**Type**: `STRING`**Provider name**: `modality`**Description**: 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.**Possible values**:
        - `MODALITY_UNSPECIFIED` - Should not be set. Added as a recommended best practice for enums
        - `IMAGE` - IMAGE modality
        - `TEXT` - TEXT modality
        - `TABULAR` - TABULAR modality
      - `query`**Type**: `STRING`**Provider name**: `query`**Description**: Preset option controlling parameters for speed-precision trade-off when querying for examples. If omitted, defaults to `PRECISE`.**Possible values**:
        - `PRECISE` - More precise neighbors as a trade-off against slower response.
        - `FAST` - Faster response as a trade-off against less precise neighbors.
  - `integrated_gradients_attribution`**Type**: `STRUCT`**Provider name**: `integratedGradientsAttribution`**Description**: 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](https://arxiv.org/abs/1703.01365)
    - `blur_baseline_config`**Type**: `STRUCT`**Provider name**: `blurBaselineConfig`**Description**: 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](https://arxiv.org/abs/2004.03383)
      - `max_blur_sigma`**Type**: `FLOAT`**Provider name**: `maxBlurSigma`**Description**: 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.
    - `smooth_grad_config`**Type**: `STRUCT`**Provider name**: `smoothGradConfig`**Description**: 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](https://arxiv.org/pdf/1706.03825.pdf)
      - `feature_noise_sigma`**Type**: `STRUCT`**Provider name**: `featureNoiseSigma`**Description**: 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.
        - `noise_sigma`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `noiseSigma`**Description**: Noise sigma per feature. No noise is added to features that are not set.
          - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The name of the input feature for which noise sigma is provided. The features are defined in explanation metadata inputs.
          - `sigma`**Type**: `FLOAT`**Provider name**: `sigma`**Description**: 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.
      - `noise_sigma`**Type**: `FLOAT`**Provider name**: `noiseSigma`**Description**: 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](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.
      - `noisy_sample_count`**Type**: `INT32`**Provider name**: `noisySampleCount`**Description**: 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.
    - `step_count`**Type**: `INT32`**Provider name**: `stepCount`**Description**: 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.
  - `sampled_shapley_attribution`**Type**: `STRUCT`**Provider name**: `sampledShapleyAttribution`**Description**: 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](https://arxiv.org/abs/1306.4265).
    - `path_count`**Type**: `INT32`**Provider name**: `pathCount`**Description**: Required. The number of feature permutations to consider when approximating the Shapley values. Valid range of its value is [1, 50], inclusively.
  - `top_k`**Type**: `INT32`**Provider name**: `topK`**Description**: 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.
  - `xrai_attribution`**Type**: `STRUCT`**Provider name**: `xraiAttribution`**Description**: 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](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.
    - `blur_baseline_config`**Type**: `STRUCT`**Provider name**: `blurBaselineConfig`**Description**: 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](https://arxiv.org/abs/2004.03383)
      - `max_blur_sigma`**Type**: `FLOAT`**Provider name**: `maxBlurSigma`**Description**: 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.
    - `smooth_grad_config`**Type**: `STRUCT`**Provider name**: `smoothGradConfig`**Description**: 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](https://arxiv.org/pdf/1706.03825.pdf)
      - `feature_noise_sigma`**Type**: `STRUCT`**Provider name**: `featureNoiseSigma`**Description**: 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.
        - `noise_sigma`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `noiseSigma`**Description**: Noise sigma per feature. No noise is added to features that are not set.
          - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The name of the input feature for which noise sigma is provided. The features are defined in explanation metadata inputs.
          - `sigma`**Type**: `FLOAT`**Provider name**: `sigma`**Description**: 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.
      - `noise_sigma`**Type**: `FLOAT`**Provider name**: `noiseSigma`**Description**: 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](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.
      - `noisy_sample_count`**Type**: `INT32`**Provider name**: `noisySampleCount`**Description**: 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.
    - `step_count`**Type**: `INT32`**Provider name**: `stepCount`**Description**: 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.

## `gcp_display_name`{% #gcp_display_name %}

**Type**: `STRING`**Provider name**: `displayName`**Description**: Required. The user-defined name of this BatchPredictionJob.

## `generate_explanation`{% #generate_explanation %}

**Type**: `BOOLEAN`**Provider name**: `generateExplanation`**Description**: 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.

## `input_config`{% #input_config %}

**Type**: `STRUCT`**Provider name**: `inputConfig`**Description**: 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.

- `bigquery_source`**Type**: `STRUCT`**Provider name**: `bigquerySource`**Description**: 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.
  - `input_uri`**Type**: `STRING`**Provider name**: `inputUri`**Description**: Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.
- `gcs_source`**Type**: `STRUCT`**Provider name**: `gcsSource`**Description**: The Cloud Storage location for the input instances.
  - `uris`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `uris`**Description**: 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](https://cloud.google.com/storage/docs/wildcards).
- `instances_format`**Type**: `STRING`**Provider name**: `instancesFormat`**Description**: Required. The format in which instances are given, must be one of the Model's supported_input_storage_formats.

## `instance_config`{% #instance_config %}

**Type**: `STRUCT`**Provider name**: `instanceConfig`**Description**: Configuration for how to convert batch prediction input instances to the prediction instances that are sent to the Model.

- `excluded_fields`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `excludedFields`**Description**: 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.
- `included_fields`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `includedFields`**Description**: 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.
- `instance_type`**Type**: `STRING`**Provider name**: `instanceType`**Description**: 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.
- `key_field`**Type**: `STRING`**Provider name**: `keyField`**Description**: 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.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `manual_batch_tuning_parameters`{% #manual_batch_tuning_parameters %}

**Type**: `STRUCT`**Provider name**: `manualBatchTuningParameters`**Description**: Immutable. Parameters configuring the batch behavior. Currently only applicable when dedicated_resources are used (in other cases Vertex AI does the tuning itself).

- `batch_size`**Type**: `INT32`**Provider name**: `batchSize`**Description**: 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.

## `model`{% #model %}

**Type**: `STRING`**Provider name**: `model`**Description**: 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 and unmanaged_container_model 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}`

## `model_version_id`{% #model_version_id %}

**Type**: `STRING`**Provider name**: `modelVersionId`**Description**: Output only. The version ID of the Model that produces the predictions via this job.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: Output only. Resource name of the BatchPredictionJob.

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `output_config`{% #output_config %}

**Type**: `STRUCT`**Provider name**: `outputConfig`**Description**: 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.

- `bigquery_destination`**Type**: `STRUCT`**Provider name**: `bigqueryDestination`**Description**: 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`.
  - `output_uri`**Type**: `STRING`**Provider name**: `outputUri`**Description**: 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`.
- `gcs_destination`**Type**: `STRUCT`**Provider name**: `gcsDestination`**Description**: 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.
  - `output_uri_prefix`**Type**: `STRING`**Provider name**: `outputUriPrefix`**Description**: 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.
- `predictions_format`**Type**: `STRING`**Provider name**: `predictionsFormat`**Description**: Required. The format in which Vertex AI gives the predictions, must be one of the Model's supported_output_storage_formats.

## `output_info`{% #output_info %}

**Type**: `STRUCT`**Provider name**: `outputInfo`**Description**: Output only. Information further describing the output of this job.

- `bigquery_output_dataset`**Type**: `STRING`**Provider name**: `bigqueryOutputDataset`**Description**: Output only. The path of the BigQuery dataset created, in `bq://projectId.bqDatasetId` format, into which the prediction output is written.
- `bigquery_output_table`**Type**: `STRING`**Provider name**: `bigqueryOutputTable`**Description**: 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.
- `gcs_output_directory`**Type**: `STRING`**Provider name**: `gcsOutputDirectory`**Description**: Output only. The full path of the Cloud Storage directory created, into which the prediction output is written.

## `parent`{% #parent %}

**Type**: `STRING`

## `partial_failures`{% #partial_failures %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `partialFailures`**Description**: 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.

- `code`**Type**: `INT32`**Provider name**: `code`**Description**: The status code, which should be an enum value of google.rpc.Code.
- `message`**Type**: `STRING`**Provider name**: `message`**Description**: 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.

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `resources_consumed`{% #resources_consumed %}

**Type**: `STRUCT`**Provider name**: `resourcesConsumed`**Description**: 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.

- `replica_hours`**Type**: `DOUBLE`**Provider name**: `replicaHours`**Description**: 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.

## `satisfies_pzi`{% #satisfies_pzi %}

**Type**: `BOOLEAN`**Provider name**: `satisfiesPzi`**Description**: Output only. Reserved for future use.

## `satisfies_pzs`{% #satisfies_pzs %}

**Type**: `BOOLEAN`**Provider name**: `satisfiesPzs`**Description**: Output only. Reserved for future use.

## `service_account`{% #service_account %}

**Type**: `STRING`**Provider name**: `serviceAccount`**Description**: 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.

## `start_time`{% #start_time %}

**Type**: `TIMESTAMP`**Provider name**: `startTime`**Description**: Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state.

## `state`{% #state %}

**Type**: `STRING`**Provider name**: `state`**Description**: Output only. The detailed state of the job.**Possible 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.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `unmanaged_container_model`{% #unmanaged_container_model %}

**Type**: `STRUCT`**Provider name**: `unmanagedContainerModel`**Description**: Contains model information necessary to perform batch prediction without requiring uploading to model registry. Exactly one of model and unmanaged_container_model must be set.

- `artifact_uri`**Type**: `STRING`**Provider name**: `artifactUri`**Description**: The path to the directory containing the Model artifact and any of its supporting files.
- `container_spec`**Type**: `STRUCT`**Provider name**: `containerSpec`**Description**: Input only. The specification of the container that is to be used when deploying this Model.
  - `args`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `args`**Description**: 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`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `command`**Description**: 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).
  - `deployment_timeout`**Type**: `STRING`**Provider name**: `deploymentTimeout`**Description**: Immutable. Deployment timeout. Limit for deployment timeout is 2 hours.
  - `env`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `env`**Description**: 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).
    - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Name of the environment variable. Must be a valid C identifier.
    - `value`**Type**: `STRING`**Provider name**: `value`**Description**: 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.
  - `grpc_ports`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `grpcPorts`**Description**: 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.
    - `container_port`**Type**: `INT32`**Provider name**: `containerPort`**Description**: The number of the port to expose on the pod's IP address. Must be a valid port number, between 1 and 65535 inclusive.
  - `health_probe`**Type**: `STRUCT`**Provider name**: `healthProbe`**Description**: Immutable. Specification for Kubernetes readiness probe.
    - `exec`**Type**: `STRUCT`**Provider name**: `exec`**Description**: ExecAction probes the health of a container by executing a command.
      - `command`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `command`**Description**: 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.
    - `failure_threshold`**Type**: `INT32`**Provider name**: `failureThreshold`**Description**: Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.
    - `grpc`**Type**: `STRUCT`**Provider name**: `grpc`**Description**: GrpcAction probes the health of a container by sending a gRPC request.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Port number of the gRPC service. Number must be in the range 1 to 65535.
      - `service`**Type**: `STRING`**Provider name**: `service`**Description**: 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](https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
    - `http_get`**Type**: `STRUCT`**Provider name**: `httpGet`**Description**: HttpGetAction probes the health of a container by sending an HTTP GET request.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Host name to connect to, defaults to the model serving container's IP. You probably want to set "Host" in httpHeaders instead.
      - `http_headers`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `httpHeaders`**Description**: Custom headers to set in the request. HTTP allows repeated headers.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
        - `value`**Type**: `STRING`**Provider name**: `value`**Description**: The header field value
      - `path`**Type**: `STRING`**Provider name**: `path`**Description**: Path to access on the HTTP server.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
      - `scheme`**Type**: `STRING`**Provider name**: `scheme`**Description**: Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
    - `initial_delay_seconds`**Type**: `INT32`**Provider name**: `initialDelaySeconds`**Description**: Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.
    - `period_seconds`**Type**: `INT32`**Provider name**: `periodSeconds`**Description**: 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'.
    - `success_threshold`**Type**: `INT32`**Provider name**: `successThreshold`**Description**: Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.
    - `tcp_socket`**Type**: `STRUCT`**Provider name**: `tcpSocket`**Description**: TcpSocketAction probes the health of a container by opening a TCP socket connection.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Optional: Host name to connect to, defaults to the model serving container's IP.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
    - `timeout_seconds`**Type**: `INT32`**Provider name**: `timeoutSeconds`**Description**: 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'.
  - `health_route`**Type**: `STRING`**Provider name**: `healthRoute`**Description**: 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).)
  - `image_uri`**Type**: `STRING`**Provider name**: `imageUri`**Description**: 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.
  - `liveness_probe`**Type**: `STRUCT`**Provider name**: `livenessProbe`**Description**: Immutable. Specification for Kubernetes liveness probe.
    - `exec`**Type**: `STRUCT`**Provider name**: `exec`**Description**: ExecAction probes the health of a container by executing a command.
      - `command`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `command`**Description**: 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.
    - `failure_threshold`**Type**: `INT32`**Provider name**: `failureThreshold`**Description**: Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.
    - `grpc`**Type**: `STRUCT`**Provider name**: `grpc`**Description**: GrpcAction probes the health of a container by sending a gRPC request.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Port number of the gRPC service. Number must be in the range 1 to 65535.
      - `service`**Type**: `STRING`**Provider name**: `service`**Description**: 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](https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
    - `http_get`**Type**: `STRUCT`**Provider name**: `httpGet`**Description**: HttpGetAction probes the health of a container by sending an HTTP GET request.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Host name to connect to, defaults to the model serving container's IP. You probably want to set "Host" in httpHeaders instead.
      - `http_headers`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `httpHeaders`**Description**: Custom headers to set in the request. HTTP allows repeated headers.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
        - `value`**Type**: `STRING`**Provider name**: `value`**Description**: The header field value
      - `path`**Type**: `STRING`**Provider name**: `path`**Description**: Path to access on the HTTP server.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
      - `scheme`**Type**: `STRING`**Provider name**: `scheme`**Description**: Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
    - `initial_delay_seconds`**Type**: `INT32`**Provider name**: `initialDelaySeconds`**Description**: Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.
    - `period_seconds`**Type**: `INT32`**Provider name**: `periodSeconds`**Description**: 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'.
    - `success_threshold`**Type**: `INT32`**Provider name**: `successThreshold`**Description**: Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.
    - `tcp_socket`**Type**: `STRUCT`**Provider name**: `tcpSocket`**Description**: TcpSocketAction probes the health of a container by opening a TCP socket connection.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Optional: Host name to connect to, defaults to the model serving container's IP.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
    - `timeout_seconds`**Type**: `INT32`**Provider name**: `timeoutSeconds`**Description**: 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'.
  - `ports`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `ports`**Description**: 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).
    - `container_port`**Type**: `INT32`**Provider name**: `containerPort`**Description**: The number of the port to expose on the pod's IP address. Must be a valid port number, between 1 and 65535 inclusive.
  - `predict_route`**Type**: `STRING`**Provider name**: `predictRoute`**Description**: 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).)
  - `shared_memory_size_mb`**Type**: `INT64`**Provider name**: `sharedMemorySizeMb`**Description**: Immutable. The amount of the VM memory to reserve as the shared memory for the model in megabytes.
  - `startup_probe`**Type**: `STRUCT`**Provider name**: `startupProbe`**Description**: Immutable. Specification for Kubernetes startup probe.
    - `exec`**Type**: `STRUCT`**Provider name**: `exec`**Description**: ExecAction probes the health of a container by executing a command.
      - `command`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `command`**Description**: 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.
    - `failure_threshold`**Type**: `INT32`**Provider name**: `failureThreshold`**Description**: Number of consecutive failures before the probe is considered failed. Defaults to 3. Minimum value is 1. Maps to Kubernetes probe argument 'failureThreshold'.
    - `grpc`**Type**: `STRUCT`**Provider name**: `grpc`**Description**: GrpcAction probes the health of a container by sending a gRPC request.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Port number of the gRPC service. Number must be in the range 1 to 65535.
      - `service`**Type**: `STRING`**Provider name**: `service`**Description**: 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](https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
    - `http_get`**Type**: `STRUCT`**Provider name**: `httpGet`**Description**: HttpGetAction probes the health of a container by sending an HTTP GET request.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Host name to connect to, defaults to the model serving container's IP. You probably want to set "Host" in httpHeaders instead.
      - `http_headers`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `httpHeaders`**Description**: Custom headers to set in the request. HTTP allows repeated headers.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
        - `value`**Type**: `STRING`**Provider name**: `value`**Description**: The header field value
      - `path`**Type**: `STRING`**Provider name**: `path`**Description**: Path to access on the HTTP server.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
      - `scheme`**Type**: `STRING`**Provider name**: `scheme`**Description**: Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
    - `initial_delay_seconds`**Type**: `INT32`**Provider name**: `initialDelaySeconds`**Description**: Number of seconds to wait before starting the probe. Defaults to 0. Minimum value is 0. Maps to Kubernetes probe argument 'initialDelaySeconds'.
    - `period_seconds`**Type**: `INT32`**Provider name**: `periodSeconds`**Description**: 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'.
    - `success_threshold`**Type**: `INT32`**Provider name**: `successThreshold`**Description**: Number of consecutive successes before the probe is considered successful. Defaults to 1. Minimum value is 1. Maps to Kubernetes probe argument 'successThreshold'.
    - `tcp_socket`**Type**: `STRUCT`**Provider name**: `tcpSocket`**Description**: TcpSocketAction probes the health of a container by opening a TCP socket connection.
      - `host`**Type**: `STRING`**Provider name**: `host`**Description**: Optional: Host name to connect to, defaults to the model serving container's IP.
      - `port`**Type**: `INT32`**Provider name**: `port`**Description**: Number of the port to access on the container. Number must be in the range 1 to 65535.
    - `timeout_seconds`**Type**: `INT32`**Provider name**: `timeoutSeconds`**Description**: 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'.
- `predict_schemata`**Type**: `STRUCT`**Provider name**: `predictSchemata`**Description**: Contains the schemata used in Model's predictions and explanations
  - `instance_schema_uri`**Type**: `STRING`**Provider name**: `instanceSchemaUri`**Description**: 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.
  - `parameters_schema_uri`**Type**: `STRING`**Provider name**: `parametersSchemaUri`**Description**: 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.
  - `prediction_schema_uri`**Type**: `STRING`**Provider name**: `predictionSchemaUri`**Description**: 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.

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Output only. Time when the BatchPredictionJob was most recently updated.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
