Class ModelContainerSpec

  • All Implemented Interfaces:
    ModelContainerSpecOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class ModelContainerSpec
    extends com.google.protobuf.GeneratedMessageV3
    implements ModelContainerSpecOrBuilder
     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).
     
    Protobuf type google.cloud.aiplatform.v1.ModelContainerSpec
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getImageUri

        public String getImageUri()
         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][google.cloud.aiplatform.v1.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.
         
        string image_uri = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getImageUri in interface ModelContainerSpecOrBuilder
        Returns:
        The imageUri.
      • getImageUriBytes

        public com.google.protobuf.ByteString getImageUriBytes()
         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][google.cloud.aiplatform.v1.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.
         
        string image_uri = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getImageUriBytes in interface ModelContainerSpecOrBuilder
        Returns:
        The bytes for imageUri.
      • getCommandList

        public com.google.protobuf.ProtocolStringList getCommandList()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string command = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getCommandList in interface ModelContainerSpecOrBuilder
        Returns:
        A list containing the command.
      • getCommandCount

        public int getCommandCount()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string command = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getCommandCount in interface ModelContainerSpecOrBuilder
        Returns:
        The count of command.
      • getCommand

        public String getCommand​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string command = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getCommand in interface ModelContainerSpecOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The command at the given index.
      • getCommandBytes

        public com.google.protobuf.ByteString getCommandBytes​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string command = 2 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getCommandBytes in interface ModelContainerSpecOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the command at the given index.
      • getArgsList

        public com.google.protobuf.ProtocolStringList getArgsList()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string args = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getArgsList in interface ModelContainerSpecOrBuilder
        Returns:
        A list containing the args.
      • getArgsCount

        public int getArgsCount()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string args = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getArgsCount in interface ModelContainerSpecOrBuilder
        Returns:
        The count of args.
      • getArgs

        public String getArgs​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string args = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getArgs in interface ModelContainerSpecOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The args at the given index.
      • getArgsBytes

        public com.google.protobuf.ByteString getArgsBytes​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.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][google.cloud.aiplatform.v1.ModelContainerSpec.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: <code>$(<var>VARIABLE_NAME</var>)</code> 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: <code>$$(<var>VARIABLE_NAME</var>)</code> 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).
         
        repeated string args = 3 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getArgsBytes in interface ModelContainerSpecOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the args at the given index.
      • getEnvList

        public List<EnvVar> getEnvList()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.command] and
         [args][google.cloud.aiplatform.v1.ModelContainerSpec.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).
         
        repeated .google.cloud.aiplatform.v1.EnvVar env = 4 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getEnvList in interface ModelContainerSpecOrBuilder
      • getEnvOrBuilderList

        public List<? extends EnvVarOrBuilder> getEnvOrBuilderList()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.command] and
         [args][google.cloud.aiplatform.v1.ModelContainerSpec.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).
         
        repeated .google.cloud.aiplatform.v1.EnvVar env = 4 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getEnvOrBuilderList in interface ModelContainerSpecOrBuilder
      • getEnvCount

        public int getEnvCount()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.command] and
         [args][google.cloud.aiplatform.v1.ModelContainerSpec.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).
         
        repeated .google.cloud.aiplatform.v1.EnvVar env = 4 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getEnvCount in interface ModelContainerSpecOrBuilder
      • getEnv

        public EnvVar getEnv​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.command] and
         [args][google.cloud.aiplatform.v1.ModelContainerSpec.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).
         
        repeated .google.cloud.aiplatform.v1.EnvVar env = 4 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getEnv in interface ModelContainerSpecOrBuilder
      • getEnvOrBuilder

        public EnvVarOrBuilder getEnvOrBuilder​(int index)
         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][google.cloud.aiplatform.v1.ModelContainerSpec.command] and
         [args][google.cloud.aiplatform.v1.ModelContainerSpec.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).
         
        repeated .google.cloud.aiplatform.v1.EnvVar env = 4 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getEnvOrBuilder in interface ModelContainerSpecOrBuilder
      • getPortsList

        public List<Port> getPortsList()
         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).
         
        repeated .google.cloud.aiplatform.v1.Port ports = 5 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPortsList in interface ModelContainerSpecOrBuilder
      • getPortsOrBuilderList

        public List<? extends PortOrBuilder> getPortsOrBuilderList()
         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).
         
        repeated .google.cloud.aiplatform.v1.Port ports = 5 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPortsOrBuilderList in interface ModelContainerSpecOrBuilder
      • getPortsCount

        public int getPortsCount()
         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).
         
        repeated .google.cloud.aiplatform.v1.Port ports = 5 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPortsCount in interface ModelContainerSpecOrBuilder
      • getPorts

        public Port getPorts​(int index)
         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).
         
        repeated .google.cloud.aiplatform.v1.Port ports = 5 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPorts in interface ModelContainerSpecOrBuilder
      • getPortsOrBuilder

        public PortOrBuilder getPortsOrBuilder​(int index)
         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).
         
        repeated .google.cloud.aiplatform.v1.Port ports = 5 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPortsOrBuilder in interface ModelContainerSpecOrBuilder
      • getPredictRoute

        public String getPredictRoute()
         Immutable. HTTP path on the container to send prediction requests to.
         Vertex AI forwards requests sent using
         [projects.locations.endpoints.predict][google.cloud.aiplatform.v1.PredictionService.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][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field.
        
         If you don't specify this field, it defaults to the following value when
         you [deploy this Model to an
         Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]:
         <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
         The placeholders in this value are replaced as follows:
        
         * <var>ENDPOINT</var>: 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).)
        
         * <var>DEPLOYED_MODEL</var>:
         [DeployedModel.id][google.cloud.aiplatform.v1.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).)
         
        string predict_route = 6 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPredictRoute in interface ModelContainerSpecOrBuilder
        Returns:
        The predictRoute.
      • getPredictRouteBytes

        public com.google.protobuf.ByteString getPredictRouteBytes()
         Immutable. HTTP path on the container to send prediction requests to.
         Vertex AI forwards requests sent using
         [projects.locations.endpoints.predict][google.cloud.aiplatform.v1.PredictionService.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][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field.
        
         If you don't specify this field, it defaults to the following value when
         you [deploy this Model to an
         Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]:
         <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
         The placeholders in this value are replaced as follows:
        
         * <var>ENDPOINT</var>: 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).)
        
         * <var>DEPLOYED_MODEL</var>:
         [DeployedModel.id][google.cloud.aiplatform.v1.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).)
         
        string predict_route = 6 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getPredictRouteBytes in interface ModelContainerSpecOrBuilder
        Returns:
        The bytes for predictRoute.
      • getHealthRoute

        public String getHealthRoute()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field.
        
         If you don't specify this field, it defaults to the following value when
         you [deploy this Model to an
         Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]:
         <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
         The placeholders in this value are replaced as follows:
        
         * <var>ENDPOINT</var>: 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).)
        
         * <var>DEPLOYED_MODEL</var>:
         [DeployedModel.id][google.cloud.aiplatform.v1.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).)
         
        string health_route = 7 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getHealthRoute in interface ModelContainerSpecOrBuilder
        Returns:
        The healthRoute.
      • getHealthRouteBytes

        public com.google.protobuf.ByteString getHealthRouteBytes()
         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][google.cloud.aiplatform.v1.ModelContainerSpec.ports] field.
        
         If you don't specify this field, it defaults to the following value when
         you [deploy this Model to an
         Endpoint][google.cloud.aiplatform.v1.EndpointService.DeployModel]:
         <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
         The placeholders in this value are replaced as follows:
        
         * <var>ENDPOINT</var>: 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).)
        
         * <var>DEPLOYED_MODEL</var>:
         [DeployedModel.id][google.cloud.aiplatform.v1.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).)
         
        string health_route = 7 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getHealthRouteBytes in interface ModelContainerSpecOrBuilder
        Returns:
        The bytes for healthRoute.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static ModelContainerSpec parseFrom​(ByteBuffer data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(ByteBuffer data,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(com.google.protobuf.ByteString data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(com.google.protobuf.ByteString data,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(byte[] data)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(byte[] data,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ModelContainerSpec parseFrom​(com.google.protobuf.CodedInputStream input,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws IOException
        Throws:
        IOException
      • newBuilderForType

        public ModelContainerSpec.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public ModelContainerSpec.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected ModelContainerSpec.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<ModelContainerSpec> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ModelContainerSpec getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder