/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.batch.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The overrides that should be sent to a container. *
** For information about using Batch overrides when you connect event sources to targets, see BatchContainerOverrides. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ContainerOverrides implements Serializable, Cloneable, StructuredPojo { /** *
* This parameter is deprecated, use resourceRequirements
to override the vcpus
parameter
* that's set in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on
* EC2 resources, it overrides the vcpus
parameter set in the job definition, but doesn't override any
* vCPU requirement specified in the resourceRequirements
structure in the job definition. To override
* vCPU requirements that are specified in the resourceRequirements
structure in the job definition,
* resourceRequirements
must be specified in the SubmitJob
request, with type
* set to VCPU
and value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*
* This parameter is deprecated, use resourceRequirements
to override the memory requirements specified
* in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on EC2
* resources, it overrides the memory
parameter set in the job definition, but doesn't override any
* memory requirement that's specified in the resourceRequirements
structure in the job definition. To
* override memory requirements that are specified in the resourceRequirements
structure in the job
* definition, resourceRequirements
must be specified in the SubmitJob
request, with
* type
set to MEMORY
and value
set to the new value. For more information,
* see Can't override job definition resource requirements in the Batch User Guide.
*
* The command to send to the container that overrides the default command from the Docker image or the job * definition. *
** This parameter can't contain an empty string. *
** The instance type to use for a multi-node parallel job. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
** The environment variables to send to the container. You can add new environment variables, which are added to the * container at launch, or you can override the existing environment variables from the Docker image or the job * definition. *
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* The type and amount of resources to assign to a container. This overrides the settings in the job definition. The
* supported resources include GPU
, MEMORY
, and VCPU
.
*
* This parameter is deprecated, use resourceRequirements
to override the vcpus
parameter
* that's set in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on
* EC2 resources, it overrides the vcpus
parameter set in the job definition, but doesn't override any
* vCPU requirement specified in the resourceRequirements
structure in the job definition. To override
* vCPU requirements that are specified in the resourceRequirements
structure in the job definition,
* resourceRequirements
must be specified in the SubmitJob
request, with type
* set to VCPU
and value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the vcpus
* parameter that's set in the job definition. It's not supported for jobs running on Fargate resources. For
* jobs that run on EC2 resources, it overrides the vcpus
parameter set in the job definition,
* but doesn't override any vCPU requirement specified in the resourceRequirements
structure in
* the job definition. To override vCPU requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to VCPU
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*/
@Deprecated
public void setVcpus(Integer vcpus) {
this.vcpus = vcpus;
}
/**
*
* This parameter is deprecated, use resourceRequirements
to override the vcpus
parameter
* that's set in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on
* EC2 resources, it overrides the vcpus
parameter set in the job definition, but doesn't override any
* vCPU requirement specified in the resourceRequirements
structure in the job definition. To override
* vCPU requirements that are specified in the resourceRequirements
structure in the job definition,
* resourceRequirements
must be specified in the SubmitJob
request, with type
* set to VCPU
and value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the vcpus
* parameter that's set in the job definition. It's not supported for jobs running on Fargate resources. For
* jobs that run on EC2 resources, it overrides the vcpus
parameter set in the job definition,
* but doesn't override any vCPU requirement specified in the resourceRequirements
structure in
* the job definition. To override vCPU requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to VCPU
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*/
@Deprecated
public Integer getVcpus() {
return this.vcpus;
}
/**
*
* This parameter is deprecated, use resourceRequirements
to override the vcpus
parameter
* that's set in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on
* EC2 resources, it overrides the vcpus
parameter set in the job definition, but doesn't override any
* vCPU requirement specified in the resourceRequirements
structure in the job definition. To override
* vCPU requirements that are specified in the resourceRequirements
structure in the job definition,
* resourceRequirements
must be specified in the SubmitJob
request, with type
* set to VCPU
and value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the vcpus
* parameter that's set in the job definition. It's not supported for jobs running on Fargate resources. For
* jobs that run on EC2 resources, it overrides the vcpus
parameter set in the job definition,
* but doesn't override any vCPU requirement specified in the resourceRequirements
structure in
* the job definition. To override vCPU requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to VCPU
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
@Deprecated
public ContainerOverrides withVcpus(Integer vcpus) {
setVcpus(vcpus);
return this;
}
/**
*
* This parameter is deprecated, use resourceRequirements
to override the memory requirements specified
* in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on EC2
* resources, it overrides the memory
parameter set in the job definition, but doesn't override any
* memory requirement that's specified in the resourceRequirements
structure in the job definition. To
* override memory requirements that are specified in the resourceRequirements
structure in the job
* definition, resourceRequirements
must be specified in the SubmitJob
request, with
* type
set to MEMORY
and value
set to the new value. For more information,
* see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the memory requirements
* specified in the job definition. It's not supported for jobs running on Fargate resources. For jobs that
* run on EC2 resources, it overrides the memory
parameter set in the job definition, but
* doesn't override any memory requirement that's specified in the resourceRequirements
* structure in the job definition. To override memory requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to MEMORY
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*/
@Deprecated
public void setMemory(Integer memory) {
this.memory = memory;
}
/**
*
* This parameter is deprecated, use resourceRequirements
to override the memory requirements specified
* in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on EC2
* resources, it overrides the memory
parameter set in the job definition, but doesn't override any
* memory requirement that's specified in the resourceRequirements
structure in the job definition. To
* override memory requirements that are specified in the resourceRequirements
structure in the job
* definition, resourceRequirements
must be specified in the SubmitJob
request, with
* type
set to MEMORY
and value
set to the new value. For more information,
* see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the memory requirements
* specified in the job definition. It's not supported for jobs running on Fargate resources. For jobs that
* run on EC2 resources, it overrides the memory
parameter set in the job definition, but
* doesn't override any memory requirement that's specified in the resourceRequirements
* structure in the job definition. To override memory requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to MEMORY
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
*/
@Deprecated
public Integer getMemory() {
return this.memory;
}
/**
*
* This parameter is deprecated, use resourceRequirements
to override the memory requirements specified
* in the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on EC2
* resources, it overrides the memory
parameter set in the job definition, but doesn't override any
* memory requirement that's specified in the resourceRequirements
structure in the job definition. To
* override memory requirements that are specified in the resourceRequirements
structure in the job
* definition, resourceRequirements
must be specified in the SubmitJob
request, with
* type
set to MEMORY
and value
set to the new value. For more information,
* see Can't override job definition resource requirements in the Batch User Guide.
*
resourceRequirements
to override the memory requirements
* specified in the job definition. It's not supported for jobs running on Fargate resources. For jobs that
* run on EC2 resources, it overrides the memory
parameter set in the job definition, but
* doesn't override any memory requirement that's specified in the resourceRequirements
* structure in the job definition. To override memory requirements that are specified in the
* resourceRequirements
structure in the job definition, resourceRequirements
must
* be specified in the SubmitJob
request, with type
set to MEMORY
and
* value
set to the new value. For more information, see Can't override job definition resource requirements in the Batch User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
@Deprecated
public ContainerOverrides withMemory(Integer memory) {
setMemory(memory);
return this;
}
/**
* * The command to send to the container that overrides the default command from the Docker image or the job * definition. *
** This parameter can't contain an empty string. *
** This parameter can't contain an empty string. *
*/ public java.util.List* The command to send to the container that overrides the default command from the Docker image or the job * definition. *
** This parameter can't contain an empty string. *
** This parameter can't contain an empty string. *
*/ public void setCommand(java.util.Collection* The command to send to the container that overrides the default command from the Docker image or the job * definition. *
** This parameter can't contain an empty string. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCommand(java.util.Collection)} or {@link #withCommand(java.util.Collection)} if you want to override * the existing values. *
* * @param command * The command to send to the container that overrides the default command from the Docker image or the job * definition.* This parameter can't contain an empty string. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerOverrides withCommand(String... command) { if (this.command == null) { setCommand(new java.util.ArrayList* The command to send to the container that overrides the default command from the Docker image or the job * definition. *
** This parameter can't contain an empty string. *
** This parameter can't contain an empty string. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerOverrides withCommand(java.util.Collection* The instance type to use for a multi-node parallel job. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
*/ public void setInstanceType(String instanceType) { this.instanceType = instanceType; } /** ** The instance type to use for a multi-node parallel job. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
*/ public String getInstanceType() { return this.instanceType; } /** ** The instance type to use for a multi-node parallel job. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
** This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and * shouldn't be provided. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerOverrides withInstanceType(String instanceType) { setInstanceType(instanceType); return this; } /** ** The environment variables to send to the container. You can add new environment variables, which are added to the * container at launch, or you can override the existing environment variables from the Docker image or the job * definition. *
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* The environment variables to send to the container. You can add new environment variables, which are added to the * container at launch, or you can override the existing environment variables from the Docker image or the job * definition. *
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* The environment variables to send to the container. You can add new environment variables, which are added to the * container at launch, or you can override the existing environment variables from the Docker image or the job * definition. *
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnvironment(java.util.Collection)} or {@link #withEnvironment(java.util.Collection)} if you want to * override the existing values. *
* * @param environment * The environment variables to send to the container. You can add new environment variables, which are added * to the container at launch, or you can override the existing environment variables from the Docker image * or the job definition.
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* The environment variables to send to the container. You can add new environment variables, which are added to the * container at launch, or you can override the existing environment variables from the Docker image or the job * definition. *
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* Environment variables cannot start with "AWS_BATCH
". This naming convention is reserved for
* variables that Batch sets.
*
* The type and amount of resources to assign to a container. This overrides the settings in the job definition. The
* supported resources include GPU
, MEMORY
, and VCPU
.
*
GPU
, MEMORY
, and VCPU
.
*/
public java.util.List
* The type and amount of resources to assign to a container. This overrides the settings in the job definition. The
* supported resources include GPU
, MEMORY
, and VCPU
.
*
GPU
, MEMORY
, and VCPU
.
*/
public void setResourceRequirements(java.util.Collection
* The type and amount of resources to assign to a container. This overrides the settings in the job definition. The
* supported resources include GPU
, MEMORY
, and VCPU
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setResourceRequirements(java.util.Collection)} or {@link #withResourceRequirements(java.util.Collection)} * if you want to override the existing values. *
* * @param resourceRequirements * The type and amount of resources to assign to a container. This overrides the settings in the job * definition. The supported resources includeGPU
, MEMORY
, and VCPU
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerOverrides withResourceRequirements(ResourceRequirement... resourceRequirements) {
if (this.resourceRequirements == null) {
setResourceRequirements(new java.util.ArrayList
* The type and amount of resources to assign to a container. This overrides the settings in the job definition. The
* supported resources include GPU
, MEMORY
, and VCPU
.
*
GPU
, MEMORY
, and VCPU
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerOverrides withResourceRequirements(java.util.Collection