class Aws::Batch::Types::CreateComputeEnvironmentRequest

Contains the parameters for `CreateComputeEnvironment`.

@note When making an API call, you may pass CreateComputeEnvironmentRequest

data as a hash:

    {
      compute_environment_name: "String", # required
      type: "MANAGED", # required, accepts MANAGED, UNMANAGED
      state: "ENABLED", # accepts ENABLED, DISABLED
      compute_resources: {
        type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
        allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
        minv_cpus: 1,
        maxv_cpus: 1, # required
        desiredv_cpus: 1,
        instance_types: ["String"],
        image_id: "String",
        subnets: ["String"], # required
        security_group_ids: ["String"],
        ec2_key_pair: "String",
        instance_role: "String",
        tags: {
          "String" => "String",
        },
        placement_group: "String",
        bid_percentage: 1,
        spot_iam_fleet_role: "String",
        launch_template: {
          launch_template_id: "String",
          launch_template_name: "String",
          version: "String",
        },
        ec2_configuration: [
          {
            image_type: "ImageType", # required
            image_id_override: "ImageIdOverride",
          },
        ],
      },
      service_role: "String",
      tags: {
        "TagKey" => "TagValue",
      },
    }

@!attribute [rw] compute_environment_name

The name for your compute environment. Up to 128 letters (uppercase
and lowercase), numbers, hyphens, and underscores are allowed.
@return [String]

@!attribute [rw] type

The type of the compute environment: `MANAGED` or `UNMANAGED`. For
more information, see [Compute Environments][1] in the *Batch User
Guide*.

[1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
@return [String]

@!attribute [rw] 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. However, they
scale in to `minvCpus` value after instances become idle.
@return [String]

@!attribute [rw] compute_resources

Details about the compute resources managed by the compute
environment. This parameter is required for managed compute
environments. For more information, see [Compute Environments][1] in
the *Batch User Guide*.

[1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
@return [Types::ComputeResource]

@!attribute [rw] service_role

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][1] 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/` then you would specify `/foo/bar` as the role name.
For more information, see [Friendly names and paths][2] in the *IAM
User Guide*.

<note markdown="1"> 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.

 </note>

[1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
[2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names
@return [String]

@!attribute [rw] tags

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][1] in *Amazon Web Services General Reference*.

These tags can be updated or removed using the [TagResource][2] and
[UntagResource][3] API operations. These tags don't propagate to
the underlying compute resources.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
[2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
[3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironmentRequest AWS API Documentation

Constants

SENSITIVE