Class: Aws::ECS::Types::ResourceRequirement

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb

Overview

The type and amount of a resource to assign to a container. The supported resource types are GPUs, Neuron devices, and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#sharing_strategy ⇒ Types::SharingStrategy

The strategy that the container uses to share a GPU with other containers. Specify a sharing strategy only when the type is GPU. For a GPU resource requirement, specify either value or sharingStrategy, but not both. If you don't specify a sharing strategy, the container has exclusive use of each GPU that Amazon ECS assigns to it. The containers in a task that request GPUs must all use the same option.

You can use GPU sharing with tasks that run on Amazon EC2 instances or Amazon ECS Managed Instances. Task definitions that require EXTERNAL compatibility don't support GPU sharing.



15600
15601
15602
15603
15604
15605
15606
# File 'gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb', line 15600

class ResourceRequirement < Struct.new(
  :value,
  :type,
  :sharing_strategy)
  SENSITIVE = []
  include Aws::Structure
end

#type ⇒ String

The type of resource to assign to a container.

Returns:

  • (String)


15600
15601
15602
15603
15604
15605
15606
# File 'gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb', line 15600

class ResourceRequirement < Struct.new(
  :value,
  :type,
  :sharing_strategy)
  SENSITIVE = []
  include Aws::Structure
end

#value ⇒ String

The value for the specified resource type.

You must specify this parameter unless the type is GPU and you specify sharingStrategy.

When the type is GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. You can also specify ALL to allocate all available GPUs on the instance to the container.

When the type is NeuronDevice, the value must be ALL. This allocates all available Neuron devices on the instance to the container. Only one container in a task can specify NeuronDevice resources. This resource type is only supported on Managed Instances.

When the type is InferenceAccelerator, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

Returns:

  • (String)


15600
15601
15602
15603
15604
15605
15606
# File 'gems/aws-sdk-ecs/lib/aws-sdk-ecs/types.rb', line 15600

class ResourceRequirement < Struct.new(
  :value,
  :type,
  :sharing_strategy)
  SENSITIVE = []
  include Aws::Structure
end