/* * 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.AmazonWebServiceRequest; /** *
 * Contains the parameters for CreateComputeEnvironment.
 * 
* The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). *
*/ private String computeEnvironmentName; /** *
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
* The maximum number of vCPUs for an unmanaged compute environment. This parameter is only used for fair share * scheduling to reserve vCPU capacity for new share identifiers. If this parameter isn't provided for a fair share * job queue, no vCPU capacity is reserved. *
*
     * This parameter is only supported when the type parameter is set to UNMANAGED.
     * 
* Details about the compute resources managed by the compute environment. This parameter is required for managed * compute environments. For more information, see Compute Environments in * the Batch User Guide. *
*/ private ComputeResource computeResources; /** ** The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls to other Amazon Web Services * services on your behalf. For more information, see Batch service IAM role in the * Batch User Guide. *
** If your account already created the Batch service-linked role, that role is used by default for your compute * environment unless you specify a different role here. If the Batch service-linked role doesn't exist in your * account, and no role is specified here, the service attempts to create the Batch service-linked role in your * account. *
*
     * If your specified role has a path other than /, then you must specify either the full role ARN
     * (recommended) or prefix the role name with the path. For example, if a role with the name bar has a
     * path of /foo/, specify /foo/bar as the role name. For more information, see Friendly names and paths in the IAM User Guide.
     * 
     * Depending on how you created your Batch service role, its ARN might contain the service-role path
     * prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use the
     * service-role path prefix. Because of this, we recommend that you specify the full ARN of your
     * service role when you create compute environments.
     * 
* The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag * consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources * in Amazon Web Services General Reference. *
** These tags can be updated or removed using the TagResource and UntagResource API * operations. These tags don't propagate to the underlying compute resources. *
*/ private java.util.Map* The details for the Amazon EKS cluster that supports the compute environment. *
*/ private EksConfiguration eksConfiguration; /** ** The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). *
* * @param computeEnvironmentName * The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). */ public void setComputeEnvironmentName(String computeEnvironmentName) { this.computeEnvironmentName = computeEnvironmentName; } /** ** The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). *
* * @return The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). */ public String getComputeEnvironmentName() { return this.computeEnvironmentName; } /** ** The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). *
* * @param computeEnvironmentName * The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and * lowercase letters, numbers, hyphens (-), and underscores (_). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateComputeEnvironmentRequest withComputeEnvironmentName(String computeEnvironmentName) { setComputeEnvironmentName(computeEnvironmentName); return this; } /** *
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
MANAGED or UNMANAGED. For more information,
     *        see Compute
     *        Environments in the Batch User Guide.
     * @see CEType
     */
    public void setType(String type) {
        this.type = type;
    }
    /**
     * 
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
MANAGED or UNMANAGED. For more
     *         information, see Compute
     *         Environments in the Batch User Guide.
     * @see CEType
     */
    public String getType() {
        return this.type;
    }
    /**
     * 
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
MANAGED or UNMANAGED. For more information,
     *        see Compute
     *        Environments in the Batch User Guide.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see CEType
     */
    public CreateComputeEnvironmentRequest withType(String type) {
        setType(type);
        return this;
    }
    /**
     * 
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
MANAGED or UNMANAGED. For more information,
     *        see Compute
     *        Environments in the Batch User Guide.
     * @see CEType
     */
    public void setType(CEType type) {
        withType(type);
    }
    /**
     * 
     * The type of the compute environment: MANAGED or UNMANAGED. For more information, see Compute Environments in
     * the Batch User Guide.
     * 
MANAGED or UNMANAGED. For more information,
     *        see Compute
     *        Environments in the Batch User Guide.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see CEType
     */
    public CreateComputeEnvironmentRequest withType(CEType type) {
        this.type = type.toString();
        return this;
    }
    /**
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
ENABLED, then the compute environment
     *        accepts jobs from a queue and can scale out automatically based on queues.
     *        
     *        If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an
     *        associated job queue on the compute resources within the environment. If the compute environment is
     *        managed, then it can scale its instances out or in automatically, based on the job queue demand.
     *        
     *        If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     *        environment. Jobs in a STARTING or RUNNING state continue to progress normally.
     *        Managed compute environments in the DISABLED state don't scale out.
     *        
     *        Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     *        additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     *        
     *        When an instance is idle, the instance scales down to the minvCpus value. However, the
     *        instance size doesn't change. For example, consider a c5.8xlarge instance with a
     *        minvCpus value of 4 and a desiredvCpus value of 36.
     *        This instance doesn't scale down to a c5.large instance.
     * @see CEState
     */
    public void setState(String state) {
        this.state = state;
    }
    /**
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
ENABLED, then the compute environment
     *         accepts jobs from a queue and can scale out automatically based on queues.
     *         
     *         If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an
     *         associated job queue on the compute resources within the environment. If the compute environment is
     *         managed, then it can scale its instances out or in automatically, based on the job queue demand.
     *         
     *         If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     *         environment. Jobs in a STARTING or RUNNING state continue to progress normally.
     *         Managed compute environments in the DISABLED state don't scale out.
     *         
     *         Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     *         additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     *         
     *         When an instance is idle, the instance scales down to the minvCpus value. However, the
     *         instance size doesn't change. For example, consider a c5.8xlarge instance with a
     *         minvCpus value of 4 and a desiredvCpus value of 36.
     *         This instance doesn't scale down to a c5.large instance.
     * @see CEState
     */
    public String getState() {
        return this.state;
    }
    /**
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
ENABLED, then the compute environment
     *        accepts jobs from a queue and can scale out automatically based on queues.
     *        
     *        If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an
     *        associated job queue on the compute resources within the environment. If the compute environment is
     *        managed, then it can scale its instances out or in automatically, based on the job queue demand.
     *        
     *        If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     *        environment. Jobs in a STARTING or RUNNING state continue to progress normally.
     *        Managed compute environments in the DISABLED state don't scale out.
     *        
     *        Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     *        additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     *        
     *        When an instance is idle, the instance scales down to the minvCpus value. However, the
     *        instance size doesn't change. For example, consider a c5.8xlarge instance with a
     *        minvCpus value of 4 and a desiredvCpus value of 36.
     *        This instance doesn't scale down to a c5.large instance.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see CEState
     */
    public CreateComputeEnvironmentRequest withState(String state) {
        setState(state);
        return this;
    }
    /**
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
ENABLED, then the compute environment
     *        accepts jobs from a queue and can scale out automatically based on queues.
     *        
     *        If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an
     *        associated job queue on the compute resources within the environment. If the compute environment is
     *        managed, then it can scale its instances out or in automatically, based on the job queue demand.
     *        
     *        If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     *        environment. Jobs in a STARTING or RUNNING state continue to progress normally.
     *        Managed compute environments in the DISABLED state don't scale out.
     *        
     *        Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     *        additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     *        
     *        When an instance is idle, the instance scales down to the minvCpus value. However, the
     *        instance size doesn't change. For example, consider a c5.8xlarge instance with a
     *        minvCpus value of 4 and a desiredvCpus value of 36.
     *        This instance doesn't scale down to a c5.large instance.
     * @see CEState
     */
    public void setState(CEState state) {
        withState(state);
    }
    /**
     * 
     * The state of the compute environment. If the state is ENABLED, then the compute environment accepts
     * jobs from a queue and can scale out automatically based on queues.
     * 
     * If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an associated job
     * queue on the compute resources within the environment. If the compute environment is managed, then it can scale
     * its instances out or in automatically, based on the job queue demand.
     * 
     * If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     * environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed
     * compute environments in the DISABLED state don't scale out.
     * 
     * Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     * additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     * 
     * When an instance is idle, the instance scales down to the minvCpus value. However, the instance size
     * doesn't change. For example, consider a c5.8xlarge instance with a minvCpus value of
     * 4 and a desiredvCpus value of 36. This instance doesn't scale down to a
     * c5.large instance.
     * 
ENABLED, then the compute environment
     *        accepts jobs from a queue and can scale out automatically based on queues.
     *        
     *        If the state is ENABLED, then the Batch scheduler can attempt to place jobs from an
     *        associated job queue on the compute resources within the environment. If the compute environment is
     *        managed, then it can scale its instances out or in automatically, based on the job queue demand.
     *        
     *        If the state is DISABLED, then the Batch scheduler doesn't attempt to place jobs within the
     *        environment. Jobs in a STARTING or RUNNING state continue to progress normally.
     *        Managed compute environments in the DISABLED state don't scale out.
     *        
     *        Compute environments in a DISABLED state may continue to incur billing charges. To prevent
     *        additional charges, turn off and then delete the compute environment. For more information, see State in the Batch User Guide.
     *        
     *        When an instance is idle, the instance scales down to the minvCpus value. However, the
     *        instance size doesn't change. For example, consider a c5.8xlarge instance with a
     *        minvCpus value of 4 and a desiredvCpus value of 36.
     *        This instance doesn't scale down to a c5.large instance.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see CEState
     */
    public CreateComputeEnvironmentRequest withState(CEState state) {
        this.state = state.toString();
        return this;
    }
    /**
     * 
* The maximum number of vCPUs for an unmanaged compute environment. This parameter is only used for fair share * scheduling to reserve vCPU capacity for new share identifiers. If this parameter isn't provided for a fair share * job queue, no vCPU capacity is reserved. *
*
     * This parameter is only supported when the type parameter is set to UNMANAGED.
     * 
     *        This parameter is only supported when the type parameter is set to UNMANAGED.
     *        
* The maximum number of vCPUs for an unmanaged compute environment. This parameter is only used for fair share * scheduling to reserve vCPU capacity for new share identifiers. If this parameter isn't provided for a fair share * job queue, no vCPU capacity is reserved. *
*
     * This parameter is only supported when the type parameter is set to UNMANAGED.
     * 
     *         This parameter is only supported when the type parameter is set to UNMANAGED.
     *         
* The maximum number of vCPUs for an unmanaged compute environment. This parameter is only used for fair share * scheduling to reserve vCPU capacity for new share identifiers. If this parameter isn't provided for a fair share * job queue, no vCPU capacity is reserved. *
*
     * This parameter is only supported when the type parameter is set to UNMANAGED.
     * 
     *        This parameter is only supported when the type parameter is set to UNMANAGED.
     *        
* Details about the compute resources managed by the compute environment. This parameter is required for managed * compute environments. For more information, see Compute Environments in * the Batch User Guide. *
* * @param computeResources * Details about the compute resources managed by the compute environment. This parameter is required for * managed compute environments. For more information, see Compute * Environments in the Batch User Guide. */ public void setComputeResources(ComputeResource computeResources) { this.computeResources = computeResources; } /** ** Details about the compute resources managed by the compute environment. This parameter is required for managed * compute environments. For more information, see Compute Environments in * the Batch User Guide. *
* * @return Details about the compute resources managed by the compute environment. This parameter is required for * managed compute environments. For more information, see Compute * Environments in the Batch User Guide. */ public ComputeResource getComputeResources() { return this.computeResources; } /** ** Details about the compute resources managed by the compute environment. This parameter is required for managed * compute environments. For more information, see Compute Environments in * the Batch User Guide. *
* * @param computeResources * Details about the compute resources managed by the compute environment. This parameter is required for * managed compute environments. For more information, see Compute * Environments in the Batch User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateComputeEnvironmentRequest withComputeResources(ComputeResource computeResources) { setComputeResources(computeResources); return this; } /** ** The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls to other Amazon Web Services * services on your behalf. For more information, see Batch service IAM role in the * Batch User Guide. *
** If your account already created the Batch service-linked role, that role is used by default for your compute * environment unless you specify a different role here. If the Batch service-linked role doesn't exist in your * account, and no role is specified here, the service attempts to create the Batch service-linked role in your * account. *
*
     * If your specified role has a path other than /, then you must specify either the full role ARN
     * (recommended) or prefix the role name with the path. For example, if a role with the name bar has a
     * path of /foo/, specify /foo/bar as the role name. For more information, see Friendly names and paths in the IAM User Guide.
     * 
     * Depending on how you created your Batch service role, its ARN might contain the service-role path
     * prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use the
     * service-role path prefix. Because of this, we recommend that you specify the full ARN of your
     * service role when you create compute environments.
     * 
* If your account already created the Batch service-linked role, that role is used by default for your * compute environment unless you specify a different role here. If the Batch service-linked role doesn't * exist in your account, and no role is specified here, the service attempts to create the Batch * service-linked role in your account. *
*
     *        If your specified role has a path other than /, then you must specify either the full role
     *        ARN (recommended) or prefix the role name with the path. For example, if a role with the name
     *        bar has a path of /foo/, specify /foo/bar as the role name. For
     *        more information, see Friendly names and paths in the IAM User Guide.
     *        
     *        Depending on how you created your Batch service role, its ARN might contain the service-role
     *        path prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use
     *        the service-role path prefix. Because of this, we recommend that you specify the full ARN of
     *        your service role when you create compute environments.
     *        
* The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls to other Amazon Web Services * services on your behalf. For more information, see Batch service IAM role in the * Batch User Guide. *
** If your account already created the Batch service-linked role, that role is used by default for your compute * environment unless you specify a different role here. If the Batch service-linked role doesn't exist in your * account, and no role is specified here, the service attempts to create the Batch service-linked role in your * account. *
*
     * If your specified role has a path other than /, then you must specify either the full role ARN
     * (recommended) or prefix the role name with the path. For example, if a role with the name bar has a
     * path of /foo/, specify /foo/bar as the role name. For more information, see Friendly names and paths in the IAM User Guide.
     * 
     * Depending on how you created your Batch service role, its ARN might contain the service-role path
     * prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use the
     * service-role path prefix. Because of this, we recommend that you specify the full ARN of your
     * service role when you create compute environments.
     * 
* If your account already created the Batch service-linked role, that role is used by default for your * compute environment unless you specify a different role here. If the Batch service-linked role doesn't * exist in your account, and no role is specified here, the service attempts to create the Batch * service-linked role in your account. *
*
     *         If your specified role has a path other than /, then you must specify either the full role
     *         ARN (recommended) or prefix the role name with the path. For example, if a role with the name
     *         bar has a path of /foo/, specify /foo/bar as the role name. For
     *         more information, see Friendly names and paths in the IAM User Guide.
     *         
     *         Depending on how you created your Batch service role, its ARN might contain the service-role
     *         path prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use
     *         the service-role path prefix. Because of this, we recommend that you specify the full ARN of
     *         your service role when you create compute environments.
     *         
* The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls to other Amazon Web Services * services on your behalf. For more information, see Batch service IAM role in the * Batch User Guide. *
** If your account already created the Batch service-linked role, that role is used by default for your compute * environment unless you specify a different role here. If the Batch service-linked role doesn't exist in your * account, and no role is specified here, the service attempts to create the Batch service-linked role in your * account. *
*
     * If your specified role has a path other than /, then you must specify either the full role ARN
     * (recommended) or prefix the role name with the path. For example, if a role with the name bar has a
     * path of /foo/, specify /foo/bar as the role name. For more information, see Friendly names and paths in the IAM User Guide.
     * 
     * Depending on how you created your Batch service role, its ARN might contain the service-role path
     * prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use the
     * service-role path prefix. Because of this, we recommend that you specify the full ARN of your
     * service role when you create compute environments.
     * 
* If your account already created the Batch service-linked role, that role is used by default for your * compute environment unless you specify a different role here. If the Batch service-linked role doesn't * exist in your account, and no role is specified here, the service attempts to create the Batch * service-linked role in your account. *
*
     *        If your specified role has a path other than /, then you must specify either the full role
     *        ARN (recommended) or prefix the role name with the path. For example, if a role with the name
     *        bar has a path of /foo/, specify /foo/bar as the role name. For
     *        more information, see Friendly names and paths in the IAM User Guide.
     *        
     *        Depending on how you created your Batch service role, its ARN might contain the service-role
     *        path prefix. When you only specify the name of the service role, Batch assumes that your ARN doesn't use
     *        the service-role path prefix. Because of this, we recommend that you specify the full ARN of
     *        your service role when you create compute environments.
     *        
* The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag * consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources * in Amazon Web Services General Reference. *
** These tags can be updated or removed using the TagResource and UntagResource API * operations. These tags don't propagate to the underlying compute resources. *
* * @return The tags that you apply to the compute environment to help you categorize and organize your resources. * Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services * Resources in Amazon Web Services General Reference. *
     *         These tags can be updated or removed using the TagResource and UntagResource API
     *         operations. These tags don't propagate to the underlying compute resources.
     */
    public java.util.Map 
     * The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag
     * consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources
     * in Amazon Web Services General Reference.
     *  
     * These tags can be updated or removed using the TagResource and UntagResource API
     * operations. These tags don't propagate to the underlying compute resources.
     * 
     *        These tags can be updated or removed using the TagResource and UntagResource API
     *        operations. These tags don't propagate to the underlying compute resources.
     */
    public void setTags(java.util.Map 
     * The tags that you apply to the compute environment to help you categorize and organize your resources. Each tag
     * consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources
     * in Amazon Web Services General Reference.
     *  
     * These tags can be updated or removed using the TagResource and UntagResource API
     * operations. These tags don't propagate to the underlying compute resources.
     * 
     *        These tags can be updated or removed using the TagResource and UntagResource API
     *        operations. These tags don't propagate to the underlying compute resources.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public CreateComputeEnvironmentRequest withTags(java.util.Map 
     * The details for the Amazon EKS cluster that supports the compute environment.
     *  
     * The details for the Amazon EKS cluster that supports the compute environment.
     *  
     * The details for the Amazon EKS cluster that supports the compute environment.
     *