# ContainerTaskDefinitions Object

> Source: https://truto.one/docs/api-reference/unified-cloud-infrastructure-api/containertaskdefinitions/

Schema for the `ContainerTaskDefinitions` resource in **Unified Cloud Infrastructure API**.

## Properties

- **`id`** _(string, required)_
  Truto's stable unified identifier for this object. Opaque; use provider_id to address the object in the provider's own console or API.
- **`provider_id`** _(string)_
  The provider's own identifier, passed through verbatim — a full ARN, resource id, or self-link. Never truncated, prefixed, or normalized.
- **`provider`** _(string)_
  Which cloud this object was read from.
  Allowed: `aws`, `azure`, `gcp`
- **`account`** _(string)_
  The account, subscription or project this object belongs to.
- **`region`** _(string)_
  Where the object is located. 'global' denotes genuinely global resources (e.g. IAM, GCP VPC networks) rather than a guessed region. A substituted region (when none is derivable) is flagged in unreadable_fields.
- **`native_type`** _(string)_
  The provider's own type string, unmodified — for example 'AWS::S3::Bucket', 'aws_iam_role', 'Microsoft.Sql/servers'. Used for display and drill-down.
- **`tags`** _(object)_
  Key-value pairs exactly as the customer set them: no case folding, key/value normalization, or merging of separate provider concepts. An empty object means no tags; tags that could not be read appear in unreadable_fields instead.
- **`collected_at`** _(string)_
  When Truto actually read this object from the provider, in UTC ISO 8601 with the offset present — not the request time, and not a provider timestamp.
- **`updated_at`** _(string)_
  When the object was last modified at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.
- **`created_at`** _(string)_
  When the object was created at the provider, in UTC ISO 8601. Null when the provider does not record one - see unreadable_fields.
- **`unreadable_fields`** _(array<object>)_
  Fields on this object that could not be read, and why. An empty array means everything was read. Use this to tell a real value from a missing one.
  - **`field`** _(string)_
    The property on this resource that could not be read.
  - **`reason`** _(string)_
    Why the field could not be read. available_on_get: Not read on list to keep the list fast; call GET for this resource's id to get it.
    Allowed: `not_supported_by_provider`, `not_configured`, `permission_denied`, `not_collected`, `collection_error`, `partially_collected`, `available_on_get`
  - **`detail`** _(string)_
    Explanation of the reason, where one adds anything.
- **`remote_data`** _(object)_
  Raw data returned from the remote API call.
- **`name`** _(string)_
  The task definition name, shared by all its revisions (on AWS ECS: the family).
- **`revision`** _(integer)_
  The revision number within the definition.
- **`status`** _(string)_
  State of this revision, normalised. inactive: deregistered - tasks already running keep it, but no new task or service can start from it. deleting: on AWS ECS, DELETE_IN_PROGRESS. provider_status has the provider's value verbatim.
  Allowed: `active`, `inactive`, `deleting`, `unknown`
- **`provider_status`** _(string)_
  The provider's own status string, verbatim (on AWS ECS: ACTIVE, INACTIVE or DELETE_IN_PROGRESS).
- **`task_role`** _(object)_
  The role the containers' application code runs as.
  - **`id`** _(string)_
    The target's `id`.
- **`execution_role`** _(object)_
  The role the container agent uses to pull images and read secrets for the task.
  - **`id`** _(string)_
    The target's `id`.
- **`network_mode`** _(string)_
  Container networking, normalised. per_task_interface: every task gets its own network interface, subnet and security groups (on AWS ECS: awsvpc). bridge: containers reach the network through a virtual bridge on the host (on AWS ECS: bridge, and default on Windows). host: containers use the host's network directly. none: no external networking. Null when not set (on AWS ECS the Linux default is then bridge). provider_network_mode has the value verbatim.
  Allowed: `per_task_interface`, `bridge`, `host`, `none`, `unknown`
- **`provider_network_mode`** _(string)_
  The networking mode, verbatim (on AWS ECS: awsvpc, bridge, host, none or default). Null when not set.
- **`compatible_compute_types`** _(array<string>)_
  The compute types (as in container_services.compute_type) the definition is validated to run on. On AWS ECS from requiresCompatibilities, verbatim in remote_data. serverless: the provider runs the machines (AWS Fargate, Azure Container Apps consumption, GCP Cloud Run). customer_managed_servers: servers in the customer's account that the customer runs (on AWS ECS: EC2 container instances). provider_managed_servers: servers in the customer's account that the provider patches and scales (on AWS: ECS Managed Instances). external_servers: the customer's own servers outside the cloud (on AWS: ECS Anywhere).
- **`cpu`** _(string)_
  Task-level CPU, verbatim.
- **`memory`** _(string)_
  Task-level memory, verbatim.
- **`shares_host_pid`** _(boolean)_
  Whether the containers share the host's process namespace, so they can see and signal every process on the host (on AWS ECS: pidMode host). False when not set: the provider default is a private namespace.
- **`shares_host_ipc`** _(boolean)_
  Whether the containers share the host's IPC namespace (shared memory, semaphores) (on AWS ECS: ipcMode host). Null when not set: the container host's Docker daemon setting then decides.
- **`containers`** _(array<object>)_
  The containers in the definition.
  - **`name`** _(string)_
    Container name.
  - **`image`** _(string)_
    Image reference, verbatim.
  - **`essential`** _(boolean)_
    Whether the task stops when this container stops.
  - **`privileged`** _(boolean)_
    Whether the container runs with elevated host privileges. Null when not set (the provider default is false).
  - **`read_only_root_filesystem`** _(boolean)_
    Whether the root file system is read-only. Null when not set (the provider default is false).
  - **`user`** _(string)_
    The user the container runs as, verbatim. Null when not set (the image default, often root).
  - **`environment_variable_names`** _(array<string>)_
    NAMES of the plain-text environment variables. Values are never returned.
  - **`secrets`** _(array<object>)_
    Variables injected from a secret store, as references: the variable name and the secret or parameter it is read from. No secret value is ever returned.
    - **`name`** _(string)_
      The environment variable name.
    - **`source`** _(string)_
      Where the value is read from, verbatim (on AWS: a Secrets Manager secret ARN or an SSM parameter ARN or name).
  - **`environment_files`** _(array<string>)_
    Environment files loaded into the container, as object references (on AWS: S3 object ARNs). File contents are never read.
  - **`log_driver`** _(string)_
    The log driver, verbatim (on AWS ECS: awslogs, awsfirelens, splunk, ...). Null when not set.
  - **`log_destination`** _(object)_
    Where the container's output is logged (on AWS: the CloudWatch Logs log group, when the log driver is awslogs; its ARN is built from awslogs-group, awslogs-region or the definition's region, and the definition's account). Null for other log drivers.
    - **`id`** _(string)_
      The target's `id`.
  - **`repository_credentials`** _(string)_
    Reference to the secret holding private registry credentials (on AWS: a Secrets Manager secret ARN).
  - **`added_capabilities`** _(array<string>)_
    Linux kernel capabilities added to the container.
  - **`port_mappings`** _(array<object>)_
    Ports the container exposes.
    - **`container_port`** _(integer)_
      Container port.
    - **`host_port`** _(integer)_
      Host port, when mapped.
    - **`protocol`** _(string)_
      tcp or udp.

## Methods

- [GET /unified/cloud-infrastructure/container_task_definitions/{id}](/docs/api-reference/unified-cloud-infrastructure-api/containertaskdefinitions/get) — Get Container task definitions
- [GET /unified/cloud-infrastructure/container_task_definitions](/docs/api-reference/unified-cloud-infrastructure-api/containertaskdefinitions/list) — List Container task definitions
